All notable changes to this project will be documented in this file.
- Bring back
--suite-params
flag support to support Heartbeat 7.15 #379
- Add step level tracing API which enables capturing performance metrics (core web vitals) for each navigation as part of the journey #369
- Capture all page errors and unhandled exceptions as part of the journeys #374
- Introduce synthetics script generator which can transform the recorder actions into code #375
- Add support for expect assertions for inline suites #365
- Add
ignore-https-errors
to the CLI to ignore any HTTPS errors during navigation #361
- Drop support for Heartbeat 7.13 #354
- Add quiet mode for Heartbeat via
--quiet-exit-code
and make it default for > 7.14 Heartbeat versions #357
- Record correct screenshots for popups in new tabs and windows #353
- Capture URL correctly for steps that involve navigations inside popups and windows #352
- Populate journey id when its not explicitly specified #346
- Remove Node.js 12 version restriction #343
- Capture screenshots correctly when using device emulation #340
- Deprecate 'suiteparams' infavor of 'params' #331
- Bring
--network
flag back till 7.14 is released #336
- Bring
--json
flag back till 7.14 is released #333
- Add support for passing playwright context and browser options via synthetics config #317
- Compability bug with FS apis on Node 12 #328
- Add fallback symbols for non utf8 support in windows #324
- Remove -e from CLI args and use
NODE_ENV
for controlling the environment #318
- Add new screenshots options -
on|off|only-on-failure
to manage capturing the step screenshots #311 - Enable screenshot deduplication feature by default when the agent is invoked via Heartbeat #322
- Avoid creating duplicate screenshot JSON docs for each journey #320
- Associate
beforeAll
hook errors across all journeys #316 - Provide journey isolation via context #314
- Capture all core-vitals and user experience metrics like FPC, LCP, CLS, User timing metrics, etc via chrome tracing #194
- Split the captured screenshot from each step in to 64 blocks to optimzie the storage when indexed the same block in Elaticsearch #290
- Add support for filtering journeys by name and tags #300
- Expose
expect
assetion method in the API #201 - Update Cumulative Layout Shift(CLS) metric based on
maximum session window with 1 second gap, capped at 5 seconds
#301 - Expose time taken to complete single step under
step.duration.us
#302 - Expose new capabilities via
--capability
through CLI options #295 - Add new flag
--rich-events
which mimicks heartbeat behaviour #289. - Expose suite parameters from CLI and config file to all hooks and journeys callbacks#272
- Move all of the trace events like FCP, LCP, User timings under
browser.relative_trace
#303 - Prioritize suite params from CLI over config file #298
- Report errors from
before
andafter
hooks #273
- Allow dynamic suite parameters configuration via
synthetics.config.{js|ts}
#270
- Improve execution time of test suites by spawning journeys in isolated context instead of launcing browser for each run #274
- Exclude all data URI requests from network events #267
- Default to JPEG images with quality 80 for individual step screenshots#233
- Keep journey callback types to be synchronous to match with how steps are executed synchronously#256
- Report correct page URL on navigation failures#255
NOTE: Playwright version is updated to 1.10.0
- Add support for custom reporters for the Synthetics runner #254
- Remove duplicate payload fields and keep the network fields under ECS #252
- Measure the network timings for aborted and inflight network requests correctly#251
- Record transfer size and resource size for all network events #220
- Report the number of journeys as part of the new
synthetics/metadata
event which would be used by heartbeat eventually for sharding #247
- Expose driver type information from the agent #239
Exposing the types allows developers to import the driver type information directly from the synthetics package instead of using via playwright specific packages which would result in inconsistent types (version mismatch or browser specific types).
- Move all the ECS specific fields under
root_fields
#164 - Add support for Junit reporter #149
- Expose status field for
step/end
andjourney/end
#230
- Disable chromium sandboxing by default #225
- Add runtime seccomp profiler for the synthetics agent #181