Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support cross-linking synthetics & apm #595

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

more tests

8c6e61a
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Open

feat: support cross-linking synthetics & apm #595

more tests
8c6e61a
Select commit
Loading
Failed to load commit list.
GitHub Actions / ci-test-report succeeded Aug 5, 2023 in 1s

210 passed, 0 failed and 5 skipped

Tests passed successfully

Report Passed Failed Skipped Time
tests/e2e/junit.xml 4✔️ 135s
junit.xml 206✔️ 5✖️ 121s

✔️ tests/e2e/junit.xml

4 tests were completed in 135s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
E2e test synthetics 4✔️ NaNms

✔️ E2e test synthetics

E2e test synthetics Go to kibana uptime app
  ✔️ Go to kibana uptime app
E2e test synthetics Check if there is table data
  ✔️ Check if there is table data
E2e test synthetics Click on my monitor
  ✔️ Click on my monitor
E2e test synthetics It navigates to details page
  ✔️ It navigates to details page

✔️ junit.xml

211 tests were completed in 121s with 206 passed, 0 failed and 5 skipped.

Test suite Passed Failed Skipped Time
apm 3✔️ 1s
base reporter 2✔️ 592ms
BrowserConsole 3✔️ 3s
BrowserService 1✔️ 1s
Bundler 3✔️ 537ms
CLI 25✔️ 35s
Config 3✔️ 977ms
Gatherer 12✔️ 5✖️ 6s
Generator 1✔️ 9s
Generator utils 1✔️ 229ms
Journey 2✔️ 256ms
json reporter 12✔️ 3s
junit reporter 2✔️ 605ms
Locations 5✔️ 5s
Monitors 19✔️ 1s
network 11✔️ 10s
options 3✔️ 577ms
performance 1✔️ 1s
plugin manager 4✔️ 570ms
Push 21✔️ 18s
Push api request 4✔️ 285ms
Run 1✔️ 2s
runner 31✔️ 14s
Synthetics JavaScript formatter 7✔️ 682ms
SyntheticsBundlePlugin 1✔️ 324ms
Trace metrics 7✔️ 342ms
Trace processor 1✔️ 323ms
tracing 1✔️ 2s
undefined 14✔️ 374ms
undefined 5✔️ 590ms

✔️ apm

apm propagate http header
  ✔️ apm propagate http header
apm baggage generation
  ✔️ apm baggage generation
apm tracestate generation
  ✔️ apm tracestate generation

✔️ base reporter

base reporter writes each step to the FD
  ✔️ base reporter writes each step to the FD
base reporter render hook errors without steps
  ✔️ base reporter render hook errors without steps

✔️ BrowserConsole

BrowserConsole should capture browser console logs
  ✔️ BrowserConsole should capture browser console logs
BrowserConsole should capture browser page errors
  ✔️ BrowserConsole should capture browser page errors
BrowserConsole should capture unhandled rejections
  ✔️ BrowserConsole should capture unhandled rejections

✔️ BrowserService

BrowserService should create browser pages
  ✔️ BrowserService should create browser pages

✔️ Bundler

Bundler build journey
  ✔️ Bundler build journey
Bundler bundle should be idempotent
  ✔️ Bundler bundle should be idempotent
Bundler throw errors on incorrect path
  ✔️ Bundler throw errors on incorrect path

✔️ CLI

CLI for inline tests runs inline tests
  ✔️ CLI for inline tests runs inline tests
CLI for inline tests provides request context
  ✔️ CLI for inline tests provides request context
CLI for inline tests exit with 1 on syntax errors
  ✔️ CLI for inline tests exit with 1 on syntax errors
CLI for inline tests treat reference error as journey error
  ✔️ CLI for inline tests treat reference error as journey error
CLI for inline tests does not load a configuration file without a config param
  ✔️ CLI for inline tests does not load a configuration file without a config param
CLI run suites and exit with 0
  ✔️ CLI run suites and exit with 0
CLI run suites and exit with 1
  ✔️ CLI run suites and exit with 1
CLI runs a browser test with request correctly
  ✔️ CLI runs a browser test with request correctly
CLI runs the suites with --quiet-exit-code, always exiting with 0
  ✔️ CLI runs the suites with --quiet-exit-code, always exiting with 0
CLI produce json with reporter=json flag
  ✔️ CLI produce json with reporter=json flag
CLI mimick new heartbeat with `--rich-events` flag
  ✔️ CLI mimick new heartbeat with `--rich-events` flag
CLI override screenshots with `--rich-events` flag
  ✔️ CLI override screenshots with `--rich-events` flag
CLI screenshots with device emulation
  ✔️ CLI screenshots with device emulation
CLI params wins over config params
  ✔️ CLI params wins over config params
CLI throw error on modifying params
  ✔️ CLI throw error on modifying params
CLI support capability flag
  ✔️ CLI support capability flag
CLI show warn for unknown capability flag
  ✔️ CLI show warn for unknown capability flag
CLI run expect assetions with type check
  ✔️ CLI run expect assetions with type check
CLI TLS site with self-signed cert fails by default
  ✔️ CLI TLS site with self-signed cert fails by default
CLI TLS site with self-signed cert succeeds with --ignore-https-errors
  ✔️ CLI TLS site with self-signed cert succeeds with --ignore-https-errors
CLI TLS site with self-signed cert succeeds with --playwright-options
  ✔️ CLI TLS site with self-signed cert succeeds with --playwright-options
CLI Throttling warns on --no-throttling
  ✔️ CLI Throttling warns on --no-throttling
CLI Throttling warns on --throttling setting
  ✔️ CLI Throttling warns on --throttling setting
CLI playwright options pass playwright options to runner
  ✔️ CLI playwright options pass playwright options to runner
CLI playwright options allows overwriting playwright options with --playwright-options
  ✔️ CLI playwright options allows overwriting playwright options with --playwright-options

✔️ Config

Config read config based on environment
  ✔️ Config read config based on environment
Config throw error when config does not exist
  ✔️ Config throw error when config does not exist
Config recursively look for configs and exit
  ✔️ Config recursively look for configs and exit

✔️ Gatherer

Gatherer boot and close browser
  ✔️ Gatherer boot and close browser
Gatherer does not the disable-gpu flag to start browser when running headful
  ✖️ Gatherer does not the disable-gpu flag to start browser when running headful
Gatherer uses the disable-gpu flag to start browser when running headlessly
  ✖️ Gatherer uses the disable-gpu flag to start browser when running headlessly
Gatherer setup and dispose driver
  ✔️ Gatherer setup and dispose driver
Gatherer begin recording based on flags
  ✔️ Gatherer begin recording based on flags
Gatherer Elastic UA identifier present when UA is not overriden
  ✔️ Gatherer Elastic UA identifier present when UA is not overriden
Gatherer Elastic UA identifier not present when UA is modified - emulated
  ✔️ Gatherer Elastic UA identifier not present when UA is modified - emulated
Gatherer Elastic UA identifier present on popup windows
  ✔️ Gatherer Elastic UA identifier present on popup windows
Gatherer Set Test ID Attribute uses default when not set
  ✔️ Gatherer Set Test ID Attribute uses default when not set
Gatherer Set Test ID Attribute uses custom when provided
  ✔️ Gatherer Set Test ID Attribute uses custom when provided
Gatherer Network emulation applies network throttling
  ✖️ Gatherer Network emulation applies network throttling
Gatherer Network emulation works with popup window
  ✖️ Gatherer Network emulation works with popup window
Gatherer Network emulation dont throw for closed popups before load
  ✖️ Gatherer Network emulation dont throw for closed popups before load
Gatherer Timeouts set navigation timeout
  ✔️ Gatherer Timeouts set navigation timeout
Gatherer Timeouts prefer timeout over navigation timeout
  ✔️ Gatherer Timeouts prefer timeout over navigation timeout
Gatherer Timeouts set action timeout
  ✔️ Gatherer Timeouts set action timeout
Gatherer API Request Context exposes request
  ✔️ Gatherer API Request Context exposes request

✔️ Generator

Generator generate synthetics project - NPM
  ✔️ Generator generate synthetics project - NPM

✔️ Generator utils

Generator utils does not add empty values in array
  ✔️ Generator utils does not add empty values in array

✔️ Journey

Journey add journey details
  ✔️ Journey add journey details
Journey add step to the journey
  ✔️ Journey add step to the journey

✔️ json reporter

json reporter writes each step as NDJSON to the FD
  ✔️ json reporter writes each step as NDJSON to the FD
json reporter formats network fields in ECS format
  ✔️ json reporter formats network fields in ECS format
json reporter writes step errors to the top level
  ✔️ json reporter writes step errors to the top level
json reporter writes journey errors to the top level
  ✔️ json reporter writes journey errors to the top level
json reporter writes full journey info if present
  ✔️ json reporter writes full journey info if present
json reporter captures number of journeys as metadata event
  ✔️ json reporter captures number of journeys as metadata event
json reporter return empty when dir doesnt exists
  ✔️ json reporter return empty when dir doesnt exists
json reporter idempotent on constructing screenshots blocks
  ✔️ json reporter idempotent on constructing screenshots blocks
json reporter screenshots write whole blobs data 
  ✔️ json reporter screenshots write whole blobs data
json reporter screenshots write block & reference docs
  ✔️ json reporter screenshots write block & reference docs
json reporter screenshots dont write on only-on-failure for successful journey
  ✔️ json reporter screenshots dont write on only-on-failure for successful journey
json reporter screenshots write on only-on-failure for failed journey
  ✔️ json reporter screenshots write on only-on-failure for failed journey

✔️ junit reporter

junit reporter writes the output to fd
  ✔️ junit reporter writes the output to fd
junit reporter writes the output to a file
  ✔️ junit reporter writes the output to a file

✔️ Locations

Locations get locations
  ✔️ Locations get locations
Locations format and group locations by labels
  ✔️ Locations format and group locations by labels
Locations CLI command render public locations by default
  ✔️ Locations CLI command render public locations by default
Locations CLI command render private locations when options are provided
  ✔️ Locations CLI command render private locations when options are provided
Locations CLI command use project url settings for private locations
  ✔️ Locations CLI command use project url settings for private locations

✔️ Monitors

Monitors diff monitors
  ✔️ Monitors diff monitors
Monitors build lightweight monitor schema
  ✔️ Monitors build lightweight monitor schema
Monitors build browser monitor schema
  ✔️ Monitors build browser monitor schema
Monitors parse @every schedule format
  ✔️ Monitors parse @every schedule format
Monitors Lightweight monitors when no yml files are present
  ✔️ Monitors Lightweight monitors when no yml files are present
Monitors Lightweight monitors when no monitors are present
  ✔️ Monitors Lightweight monitors when no monitors are present
Monitors Lightweight monitors abort on schedule format error
  ✔️ Monitors Lightweight monitors abort on schedule format error
Monitors Lightweight monitors validate id check
  ✔️ Monitors Lightweight monitors validate id check
Monitors Lightweight monitors validate name check
  ✔️ Monitors Lightweight monitors validate name check
Monitors Lightweight monitors prefer user provider pattern option
  ✔️ Monitors Lightweight monitors prefer user provider pattern option
Monitors Lightweight monitors skip browser monitors
  ✔️ Monitors Lightweight monitors skip browser monitors
Monitors Lightweight monitors skip disabled monitors
  ✔️ Monitors Lightweight monitors skip disabled monitors
Monitors Lightweight monitors prefer local monitor config
  ✔️ Monitors Lightweight monitors prefer local monitor config
Monitors Lightweight monitors fallback to global monitor config
  ✔️ Monitors Lightweight monitors fallback to global monitor config
Monitors Lightweight monitors pass all monitor config as it is
  ✔️ Monitors Lightweight monitors pass all monitor config as it is
Monitors parseAlertConfig parse alert config option
  ✔️ Monitors parseAlertConfig parse alert config option
Monitors parseAlertConfig parse alert config option when global config is also provided
  ✔️ Monitors parseAlertConfig parse alert config option when global config is also provided
Monitors parseAlertConfig parse tls alert config option
  ✔️ Monitors parseAlertConfig parse tls alert config option
Monitors parseAlertConfig deletes parsed keys from config
  ✔️ Monitors parseAlertConfig deletes parsed keys from config

✔️ network

network should capture network info
  ✔️ network should capture network info
network not include data URL in network info
  ✔️ network not include data URL in network info
network produce distinct events for redirects
  ✔️ network produce distinct events for redirects
network measure resource and transfer size
  ✔️ network measure resource and transfer size
network timings for aborted requests
  ✔️ network timings for aborted requests
network timings for chunked response
  ✔️ network timings for chunked response
network capture network data from popups
  ✔️ network capture network data from popups
network cached resource timings
  ✔️ network cached resource timings
network timings for broken response
  ✔️ network timings for broken response
network doesn't capture network info from request context
  ✔️ network doesn't capture network info from request context
network do not hang on slow chunked response
  ✔️ network do not hang on slow chunked response

✔️ options

options normalize
  ✔️ options normalize
options normalize monitor configs
  ✔️ options normalize monitor configs
options cli arg headless override playwright headless arg
  ✔️ options cli arg headless override playwright headless arg

✔️ performance

performance should capture page metrics
  ✔️ performance should capture page metrics

✔️ plugin manager

plugin manager register plugin by type
  ✔️ plugin manager register plugin by type
plugin manager register and unregister all Plugins
  ✔️ plugin manager register and unregister all Plugins
plugin manager start plugin with given type
  ✔️ plugin manager start plugin with given type
plugin manager stop plugin by type
  ✔️ plugin manager stop plugin by type

✔️ Push

Push error when project is not setup
  ✔️ Push error when project is not setup
Push error when auth is ignored
  ✔️ Push error when auth is ignored
Push error on empty project id
  ✔️ Push error on empty project id
Push error on invalid location
  ✔️ Push error on invalid location
Push error when schedule is not present
  ✔️ Push error when schedule is not present
Push error on invalid schedule
  ✔️ Push error on invalid schedule
Push abort on push with different project id
  ✔️ Push abort on push with different project id
Push abort on tags and match
  ✔️ Push abort on tags and match
Push error on invalid schedule in monitor DSL
  ✔️ Push error on invalid schedule in monitor DSL
Push errors on duplicate browser monitors
  ✔️ Push errors on duplicate browser monitors
Push warn if throttling config is set
  ✔️ Push warn if throttling config is set
Push errors on duplicate lightweight monitors
  ✔️ Push errors on duplicate lightweight monitors
Push format duplicate monitors
  ✔️ Push format duplicate monitors
Push API: 8.5.0 abort when delete is skipped
  ✔️ Push API: 8.5.0 abort when delete is skipped
Push API: 8.5.0 delete entire project with --yes flag
  ✔️ Push API: 8.5.0 delete entire project with --yes flag
Push API: 8.5.0 delete entire project with prompt override
  ✔️ Push API: 8.5.0 delete entire project with prompt override
Push API: 8.5.0 push journeys
  ✔️ Push API: 8.5.0 push journeys
Push API: 8.6.0 abort when delete is skipped
  ✔️ Push API: 8.6.0 abort when delete is skipped
Push API: 8.6.0 delete entire project with --yes flag
  ✔️ Push API: 8.6.0 delete entire project with --yes flag
Push API: 8.6.0 delete entire project with prompt override
  ✔️ Push API: 8.6.0 delete entire project with prompt override
Push API: 8.6.0 push journeys
  ✔️ Push API: 8.6.0 push journeys

✔️ Push api request

Push api request format api error
  ✔️ Push api request format api error
Push api request format 404 error
  ✔️ Push api request format 404 error
Push api request format failed monitors
  ✔️ Push api request format failed monitors
Push api request format failed stale monitors
  ✔️ Push api request format failed stale monitors

✔️ Run

Run multiple run invokes runner only once
  ✔️ Run multiple run invokes runner only once

✔️ runner

runner add journeys
  ✔️ runner add journeys
runner add hooks
  ✔️ runner add hooks
runner run journey - report results payload
  ✔️ runner run journey - report results payload
runner run journey - failed when any step fails
  ✔️ runner run journey - failed when any step fails
runner run journey - with hooks
  ✔️ runner run journey - with hooks
runner run journey - failed when hooks errors
  ✔️ runner run journey - failed when hooks errors
runner run journey - failed on beforeAll
  ✔️ runner run journey - failed on beforeAll
runner run step
  ✔️ runner run step
runner run step - syntax failure
  ✔️ runner run step - syntax failure
runner run step - navigation failure
  ✔️ runner run step - navigation failure
runner run step - bad navigation
  ✔️ runner run step - bad navigation
runner run steps - new window navigation
  ✔️ runner run steps - new window navigation
runner run steps - accumulate results
  ✔️ runner run steps - accumulate results
runner run api
  ✔️ runner run api
runner run api - match journey name explicit
  ✔️ runner run api - match journey name explicit
runner run api - match journey name and tag globs
  ✔️ runner run api - match journey name and tag globs
runner run api - prefer tags glob matching
  ✔️ runner run api - prefer tags glob matching
runner run api - support multiple tags
  ✔️ runner run api - support multiple tags
runner run api - support negation tags
  ✔️ runner run api - support negation tags
runner run api - accumulate failed journeys
  ✔️ runner run api - accumulate failed journeys
runner run api - dry run
  ✔️ runner run api - dry run
runner run - should preserve order hooks/journeys/steps
  ✔️ runner run - should preserve order hooks/journeys/steps
runner run - expose params in all hooks
  ✔️ runner run - expose params in all hooks
runner run - supports custom reporters
  ✔️ runner run - supports custom reporters
runner run api - verify screenshots
  ✔️ runner run api - verify screenshots
runner run - differentiate screenshots for popups
  ✔️ runner run - differentiate screenshots for popups
runner run - capture trace step level
  ✔️ runner run - capture trace step level
runner run - use step timeouts
  ✔️ runner run - use step timeouts
runner run - timestamps must be in order
  ✔️ runner run - timestamps must be in order
runner build monitors runner - build monitors with local config
  ✔️ runner build monitors runner - build monitors with local config
runner build monitors runner - build monitors with global config
  ✔️ runner build monitors runner - build monitors with global config

✔️ Synthetics JavaScript formatter

Synthetics JavaScript formatter accepts custom step organization
  ✔️ Synthetics JavaScript formatter accepts custom step organization
Synthetics JavaScript formatter uses custom step names
  ✔️ Synthetics JavaScript formatter uses custom step names
Synthetics JavaScript formatter throws error if processing empty step
  ✔️ Synthetics JavaScript formatter throws error if processing empty step
Synthetics JavaScript formatter counts pages that cross steps
  ✔️ Synthetics JavaScript formatter counts pages that cross steps
Synthetics JavaScript formatter does not hoist when all accesses are in one step
  ✔️ Synthetics JavaScript formatter does not hoist when all accesses are in one step
Synthetics JavaScript formatter hoist accounts for popup alias
  ✔️ Synthetics JavaScript formatter hoist accounts for popup alias
Synthetics JavaScript formatter hoists page objects to prevent undefined references
  ✔️ Synthetics JavaScript formatter hoists page objects to prevent undefined references

✔️ SyntheticsBundlePlugin

SyntheticsBundlePlugin skip locally resolved synthetics package
  ✔️ SyntheticsBundlePlugin skip locally resolved synthetics package

✔️ Trace metrics

Trace metrics compute user timing metrics
  ✔️ Trace metrics compute user timing metrics
Trace metrics compute user experience trace and metrics
  ✔️ Trace metrics compute user experience trace and metrics
Trace metrics computes layout shift
  ✔️ Trace metrics computes layout shift
Trace metrics computes cls with session window
  ✔️ Trace metrics computes cls with session window
Trace metrics calculate cls score with simulated sessions
  ✔️ Trace metrics calculate cls score with simulated sessions
Trace metrics cls to 0 when no events found
  ✔️ Trace metrics cls to 0 when no events found
Trace metrics computes filmstrips
  ✔️ Trace metrics computes filmstrips

✔️ Trace processor

Trace processor computes trace of the tab
  ✔️ Trace processor computes trace of the tab

✔️ tracing

tracing capture trace events
  ✔️ tracing capture trace events

✔️ undefined

 indent message with seperator
  ✔️ indent message with seperator
 get monotonic clock time
  ✔️ get monotonic clock time
 convert trace timestamp to internal time
  ✔️ convert trace timestamp to internal time
formatting errors formats proper errors
  ✔️ formatting errors formats proper errors
formatting errors formats thrown non-error errors like: c'est ne pas une Error(string)
  ✔️ formatting errors formats thrown non-error errors like: c'est ne pas une Error(string)
formatting errors formats thrown non-error errors like: 42(number)
  ✔️ formatting errors formats thrown non-error errors like: 42(number)
formatting errors formats thrown non-error errors like: [object Object](object)
  ✔️ formatting errors formats thrown non-error errors like: [object Object](object)
formatting errors returns undefined for object
  ✔️ formatting errors returns undefined for object
formatting errors returns undefined for undefined
  ✔️ formatting errors returns undefined for undefined
 throw error when no package.json found
  ✔️ throw error when no package.json found
 rewrite error stack from Playwright
  ✔️ rewrite error stack from Playwright
 does not rewrite non playwright errors
  ✔️ does not rewrite non playwright errors
 location info on execution
  ✔️ location info on execution
 match tags and names
  ✔️ match tags and names

✔️ undefined

 add global hooks to runner
  ✔️ add global hooks to runner
 add journeys to runner
  ✔️ add journeys to runner
 add steps to journeys
  ✔️ add steps to journeys
 add hooks to journeys
  ✔️ add hooks to journeys
 add hooks - error on before/after outside journey context
  ✔️ add hooks - error on before/after outside journey context