@elastic/synthetics 1.24.3 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +67 -0
  2. package/dist/common_types.d.ts +17 -0
  3. package/dist/common_types.d.ts.map +1 -1
  4. package/dist/core/gatherer.d.ts +4 -4
  5. package/dist/core/gatherer.d.ts.map +1 -1
  6. package/dist/core/gatherer.js +28 -7
  7. package/dist/core/gatherer.js.map +1 -1
  8. package/dist/core/globals.js +1 -1
  9. package/dist/core/index.d.ts +2 -1
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +16 -1
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/runner.d.ts +1 -1
  14. package/dist/core/runner.d.ts.map +1 -1
  15. package/dist/core/runner.js +86 -58
  16. package/dist/core/runner.js.map +1 -1
  17. package/dist/dsl/api-journey.d.ts +62 -0
  18. package/dist/dsl/api-journey.d.ts.map +1 -0
  19. package/dist/dsl/api-journey.js +55 -0
  20. package/dist/dsl/api-journey.js.map +1 -0
  21. package/dist/dsl/index.d.ts +1 -0
  22. package/dist/dsl/index.d.ts.map +1 -1
  23. package/dist/dsl/index.js +1 -0
  24. package/dist/dsl/index.js.map +1 -1
  25. package/dist/dsl/journey.d.ts +10 -2
  26. package/dist/dsl/journey.d.ts.map +1 -1
  27. package/dist/dsl/journey.js +11 -2
  28. package/dist/dsl/journey.js.map +1 -1
  29. package/dist/formatter/codegen.d.ts +69 -0
  30. package/dist/formatter/codegen.d.ts.map +1 -0
  31. package/dist/formatter/codegen.js +210 -0
  32. package/dist/formatter/codegen.js.map +1 -0
  33. package/dist/formatter/javascript.d.ts +6 -6
  34. package/dist/formatter/javascript.d.ts.map +1 -1
  35. package/dist/formatter/javascript.js +7 -7
  36. package/dist/formatter/javascript.js.map +1 -1
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/loader.d.ts.map +1 -1
  42. package/dist/loader.js +66 -1
  43. package/dist/loader.js.map +1 -1
  44. package/dist/network-timings.d.ts +55 -0
  45. package/dist/network-timings.d.ts.map +1 -0
  46. package/dist/network-timings.js +107 -0
  47. package/dist/network-timings.js.map +1 -0
  48. package/dist/plugins/api-network.d.ts +39 -0
  49. package/dist/plugins/api-network.d.ts.map +1 -0
  50. package/dist/plugins/api-network.js +235 -0
  51. package/dist/plugins/api-network.js.map +1 -0
  52. package/dist/plugins/network.d.ts +0 -6
  53. package/dist/plugins/network.d.ts.map +1 -1
  54. package/dist/plugins/network.js +5 -70
  55. package/dist/plugins/network.js.map +1 -1
  56. package/dist/plugins/plugin-manager.d.ts +11 -4
  57. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  58. package/dist/plugins/plugin-manager.js +36 -16
  59. package/dist/plugins/plugin-manager.js.map +1 -1
  60. package/dist/push/index.d.ts.map +1 -1
  61. package/dist/push/index.js +4 -0
  62. package/dist/push/index.js.map +1 -1
  63. package/dist/push/monitor.d.ts.map +1 -1
  64. package/dist/push/monitor.js +1 -1
  65. package/dist/push/monitor.js.map +1 -1
  66. package/dist/push/run-local.d.ts.map +1 -1
  67. package/dist/push/run-local.js +2 -1
  68. package/dist/push/run-local.js.map +1 -1
  69. package/dist/push/utils.d.ts +7 -0
  70. package/dist/push/utils.d.ts.map +1 -1
  71. package/dist/push/utils.js +15 -1
  72. package/dist/push/utils.js.map +1 -1
  73. package/dist/reporters/base.d.ts +2 -2
  74. package/dist/reporters/base.d.ts.map +1 -1
  75. package/dist/reporters/base.js.map +1 -1
  76. package/dist/reporters/index.d.ts +2 -2
  77. package/dist/reporters/index.d.ts.map +1 -1
  78. package/dist/reporters/index.js.map +1 -1
  79. package/dist/reporters/json.d.ts +6 -2
  80. package/dist/reporters/json.d.ts.map +1 -1
  81. package/dist/reporters/json.js +68 -33
  82. package/dist/reporters/json.js.map +1 -1
  83. package/package.json +7 -7
  84. package/src/common_types.ts +22 -0
  85. package/src/core/gatherer.ts +41 -10
  86. package/src/core/globals.ts +1 -1
  87. package/src/core/index.ts +28 -0
  88. package/src/core/runner.ts +93 -67
  89. package/src/dsl/api-journey.ts +93 -0
  90. package/src/dsl/index.ts +1 -0
  91. package/src/dsl/journey.ts +21 -9
  92. package/src/formatter/codegen.ts +299 -0
  93. package/src/formatter/javascript.ts +1 -4
  94. package/src/index.ts +6 -0
  95. package/src/loader.ts +78 -2
  96. package/src/network-timings.ts +130 -0
  97. package/src/plugins/api-network.ts +252 -0
  98. package/src/plugins/network.ts +5 -87
  99. package/src/plugins/plugin-manager.ts +60 -19
  100. package/src/push/index.ts +11 -0
  101. package/src/push/monitor.ts +6 -2
  102. package/src/push/run-local.ts +2 -1
  103. package/src/push/utils.ts +15 -0
  104. package/src/reporters/base.ts +2 -1
  105. package/src/reporters/index.ts +2 -1
  106. package/src/reporters/json.ts +74 -41
  107. package/templates/README.md +3 -1
  108. package/templates/journeys/advanced-api-example-helpers.ts +79 -0
  109. package/templates/journeys/advanced-api-example.journey.ts +52 -0
  110. package/templates/journeys/api-example.journey.ts +35 -0
  111. package/templates/synthetics.config.ts +2 -0
package/README.md CHANGED
@@ -19,6 +19,73 @@ Run the suites via CLI
19
19
  npx @elastic/synthetics [options] [dir] [files] file
20
20
  ```
21
21
 
22
+ ## Browser journeys
23
+
24
+ The default `journey()` DSL launches a real Chromium browser via Playwright and
25
+ is the right choice when you want to verify user-facing flows.
26
+
27
+ ```ts
28
+ import { journey, step, expect } from '@elastic/synthetics';
29
+
30
+ journey('homepage loads', ({ page, params }) => {
31
+ step('open', async () => {
32
+ await page.goto(params.url);
33
+ });
34
+ step('check title', async () => {
35
+ expect(await page.title()).toContain('Welcome');
36
+ });
37
+ });
38
+ ```
39
+
40
+ ## API journeys (no browser)
41
+
42
+ For API-only checks, use `apiJourney()`. It runs without launching a browser,
43
+ which makes it suitable for OAuth-protected endpoints, multi-step API flows,
44
+ and high-frequency lightweight monitoring.
45
+
46
+ ```ts
47
+ import { apiJourney, monitor, step, expect } from '@elastic/synthetics';
48
+
49
+ apiJourney('orders API health', ({ request, params }) => {
50
+ monitor.use({ schedule: 1, locations: ['us_east'] });
51
+
52
+ let token: string;
53
+ step('obtain OAuth2 token', async () => {
54
+ const r = await request.post(`${params.authUrl}/oauth2/token`, {
55
+ form: {
56
+ grant_type: 'client_credentials',
57
+ client_id: params.clientId,
58
+ client_secret: params.clientSecret,
59
+ },
60
+ });
61
+ expect(r.status()).toBe(200);
62
+ token = (await r.json()).access_token;
63
+ });
64
+
65
+ step('check /orders', async () => {
66
+ const r = await request.get(`${params.apiUrl}/orders`, {
67
+ headers: { Authorization: `Bearer ${token}` },
68
+ });
69
+ expect(r.status()).toBe(200);
70
+ });
71
+ });
72
+ ```
73
+
74
+ API journeys share most of the regular `journey()` surface — `step()`, `expect`,
75
+ `params`, `monitor.use()`, `apiJourney.skip` / `apiJourney.only` — and integrate
76
+ with the same `push` command. They are pushed to Kibana as `api`-type monitors.
77
+
78
+ Each API journey gets its own isolated `APIRequestContext` with an independent
79
+ cookie jar; cookies set in one journey are not visible in another. All
80
+ `playwrightOptions` (`baseURL`, `extraHTTPHeaders`, `ignoreHTTPSErrors`,
81
+ `httpCredentials`, client certificates, proxy, etc.) flow through to the
82
+ underlying Playwright API context.
83
+
84
+ Per-request network data — URL, method, status, headers, body sizes, timings,
85
+ and (for HTTPS) the peer certificate's issuer / subject / `validFrom` /
86
+ `validTo` / protocol — is captured and emitted in the same `journey/network_info`
87
+ events used by browser journeys.
88
+
22
89
  ## Documentation
23
90
 
24
91
  - [Introduction](https://www.elastic.co/guide/en/observability/current/monitor-uptime-synthetics.html#monitoring-synthetics)
@@ -52,6 +52,9 @@ export type NetworkConditions = {
52
52
  uploadThroughput: number;
53
53
  latency: number;
54
54
  };
55
+ export type APIDriver = {
56
+ request: APIRequestContext;
57
+ };
55
58
  export type Driver = {
56
59
  browser: ChromiumBrowser;
57
60
  context: ChromiumBrowserContext;
@@ -219,6 +222,12 @@ export type RunOptions = BaseArgs & {
219
222
  reporter?: BuiltInReporterName | ReporterInstance;
220
223
  grepOpts?: GrepOptions;
221
224
  };
225
+ export type APIRunOptions = BaseArgs & {
226
+ network?: boolean;
227
+ environment?: string;
228
+ reporter?: BuiltInReporterName | ReporterInstance;
229
+ grepOpts?: GrepOptions;
230
+ };
222
231
  export type PushOptions = Partial<ProjectSettings> & Partial<BaseArgs> & {
223
232
  auth: string;
224
233
  kibanaVersion?: string;
@@ -249,6 +258,11 @@ export type SyntheticsConfig = {
249
258
  proxy?: ProxySettings;
250
259
  };
251
260
  /** Runner Payload types */
261
+ export type APIJourneyResult = Partial<Journey> & {
262
+ networkinfo?: PluginOutput['networkinfo'];
263
+ stepsresults?: Array<StepResult>;
264
+ };
265
+ /** Runner Payload types */
252
266
  export type JourneyResult = Partial<Journey> & {
253
267
  networkinfo?: PluginOutput['networkinfo'];
254
268
  browserconsole?: PluginOutput['browserconsole'];
@@ -279,6 +293,9 @@ export type JourneyEndResult = JourneyStartResult & JourneyResult & {
279
293
  browserDelay: number;
280
294
  options: RunOptions;
281
295
  };
296
+ export type APIJourneyEndResult = JourneyStartResult & APIJourneyResult & {
297
+ options: RunOptions;
298
+ };
282
299
  export type StepEndResult = StepResult;
283
300
  export type ProxySettings = {
284
301
  uri?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"common_types.d.ts","sourceRoot":"","sources":["../src/common_types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common_types.d.ts","sourceRoot":"","sources":["../src/common_types.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  */
25
25
  import { ChromiumBrowser, BrowserContext } from 'playwright-core';
26
26
  import { PluginManager } from '../plugins';
27
- import { Driver, NetworkConditions, RunOptions } from '../common_types';
27
+ import { APIDriver, Driver, NetworkConditions, RunOptions } from '../common_types';
28
28
  /**
29
29
  * Purpose of the Gatherer is to set up the necessary browser driver
30
30
  * related capabilities for the runner to run all journeys
@@ -33,16 +33,16 @@ export declare class Gatherer {
33
33
  static browser: ChromiumBrowser;
34
34
  static pluginManager: PluginManager;
35
35
  static launchBrowser(options: RunOptions): Promise<void>;
36
- static setupDriver(options: RunOptions): Promise<Driver>;
36
+ static setupDriver<T extends 'browser' | 'api' = 'browser'>(options: RunOptions, journeyType?: T): Promise<T extends 'api' ? APIDriver : Driver>;
37
37
  static getUserAgent(userAgent?: string): Promise<string>;
38
38
  static setNetworkConditions(context: BrowserContext, networkConditions: NetworkConditions): void;
39
39
  /**
40
40
  * Starts recording all events related to the v8 devtools protocol
41
41
  * https://chromedevtools.github.io/devtools-protocol/v8/
42
42
  */
43
- static beginRecording(driver: Driver, options: RunOptions): Promise<PluginManager>;
43
+ static beginRecording(driver: Driver | APIDriver, options: RunOptions): Promise<PluginManager>;
44
44
  static endRecording(): Promise<void>;
45
- static dispose(driver: Driver): Promise<void>;
45
+ static dispose(driver: Driver | APIDriver): Promise<void>;
46
46
  static stop(): Promise<void>;
47
47
  }
48
48
  //# sourceMappingURL=gatherer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEL,eAAe,EACf,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKxE;;;GAGG;AACH,qBAAa,QAAQ;IACnB,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;IAChC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;WAEvB,aAAa,CAAC,OAAO,EAAE,UAAU;WA0BjC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;WA4BjD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM;IAS5C,MAAM,CAAC,oBAAoB,CACzB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,iBAAiB;IAsBtC;;;OAGG;WACU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;WAYlD,YAAY;WAKZ,OAAO,CAAC,MAAM,EAAE,MAAM;WAMtB,IAAI;CAOlB"}
1
+ {"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEL,eAAe,EACf,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EACL,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAKzB;;;GAGG;AACH,qBAAa,QAAQ;IACnB,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;IAChC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;WAEvB,aAAa,CAAC,OAAO,EAAE,UAAU;WA0BjC,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,SAAS,EAC9D,OAAO,EAAE,UAAU,EACnB,WAAW,GAAE,CAAkB,GAC9B,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;WAyCnC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM;IAS5C,MAAM,CAAC,oBAAoB,CACzB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,iBAAiB;IAsBtC;;;OAGG;WACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU;WAoB9D,YAAY;WAKZ,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;WAQlC,IAAI;CAOlB"}
@@ -62,9 +62,13 @@ class Gatherer {
62
62
  process.exit(130);
63
63
  });
64
64
  }
65
- static async setupDriver(options) {
66
- await Gatherer.launchBrowser(options);
65
+ static async setupDriver(options, journeyType = 'browser') {
67
66
  const { playwrightOptions } = options;
67
+ if (journeyType === 'api') {
68
+ const request = await playwright_core_1.request.newContext({ ...playwrightOptions });
69
+ return { request };
70
+ }
71
+ await Gatherer.launchBrowser(options);
68
72
  const context = await Gatherer.browser.newContext({
69
73
  ...playwrightOptions,
70
74
  userAgent: await Gatherer.getUserAgent(playwrightOptions?.userAgent),
@@ -81,7 +85,13 @@ class Gatherer {
81
85
  const page = await context.newPage();
82
86
  const client = await context.newCDPSession(page);
83
87
  const request = await playwright_core_1.request.newContext({ ...playwrightOptions });
84
- return { browser: Gatherer.browser, context, page, client, request };
88
+ return {
89
+ browser: Gatherer.browser,
90
+ context,
91
+ page,
92
+ client,
93
+ request,
94
+ };
85
95
  }
86
96
  static async getUserAgent(userAgent) {
87
97
  if (!userAgent) {
@@ -118,9 +128,18 @@ class Gatherer {
118
128
  const { network, metrics } = options;
119
129
  Gatherer.pluginManager = new plugins_1.PluginManager(driver);
120
130
  Gatherer.pluginManager.registerAll(options);
121
- const plugins = [await Gatherer.pluginManager.start('browserconsole')];
122
- network && plugins.push(await Gatherer.pluginManager.start('network'));
123
- metrics && plugins.push(await Gatherer.pluginManager.start('performance'));
131
+ const plugins = [];
132
+ if ('browser' in driver) {
133
+ plugins.push(await Gatherer.pluginManager.start('browserconsole'));
134
+ network && plugins.push(await Gatherer.pluginManager.start('network'));
135
+ metrics &&
136
+ plugins.push(await Gatherer.pluginManager.start('performance'));
137
+ }
138
+ else {
139
+ // Network is the only data source for API journeys, so always capture
140
+ // it regardless of `options.network`.
141
+ plugins.push(await Gatherer.pluginManager.start('network'));
142
+ }
124
143
  await Promise.all(plugins);
125
144
  return Gatherer.pluginManager;
126
145
  }
@@ -131,7 +150,9 @@ class Gatherer {
131
150
  static async dispose(driver) {
132
151
  (0, logger_1.log)(`Gatherer: closing all contexts`);
133
152
  await driver.request.dispose();
134
- await driver.context.close();
153
+ if ('context' in driver) {
154
+ await driver.context.close();
155
+ }
135
156
  }
136
157
  static async stop() {
137
158
  (0, logger_1.log)(`Gatherer: closing browser`);
@@ -1 +1 @@
1
- {"version":3,"file":"gatherer.js","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatherer.js","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.inDebugMode = exports.runner = void 0;
31
31
  const runner_1 = __importDefault(require("./runner"));
32
32
  /**
33
- * Use a gloabl Runner which would be accessed by the runtime and
33
+ * Use a global Runner which would be accessed by the runtime and
34
34
  * required to handle the local vs global invocation through CLI
35
35
  */
36
36
  const SYNTHETICS_RUNNER = Symbol.for('SYNTHETICS_RUNNER');
@@ -22,10 +22,11 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { JourneyWithAnnotations, StepWithAnnotations } from '../dsl';
25
+ import { APIJourneyWithAnnotations, JourneyWithAnnotations, StepWithAnnotations } from '../dsl';
26
26
  import { HooksCallback } from '../common_types';
27
27
  import { MonitorConfig } from '../dsl/monitor';
28
28
  export declare const journey: JourneyWithAnnotations;
29
+ export declare const apiJourney: APIJourneyWithAnnotations;
29
30
  export declare const step: StepWithAnnotations;
30
31
  export declare const monitor: {
31
32
  use: (config: MonitorConfig) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAIL,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAgB,aAAa,EAAY,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,eAAO,MAAM,OAAO,wBAA4C,CAAC;AAgBjE,eAAO,MAAM,IAAI,qBAAsC,CAAC;AAKxD,eAAO,MAAM,OAAO;;CAYnB,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,aAAa,SAEhD,CAAC;AAEF,eAAO,MAAM,QAAQ,aAAc,aAAa,SAE/C,CAAC;AAEF,eAAO,MAAM,MAAM,aAAc,aAAa,SAK7C,CAAC;AAEF,eAAO,MAAM,KAAK,aAAc,aAAa,SAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,4BAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAIL,yBAAyB,EAIzB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAgB,aAAa,EAAY,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,eAAO,MAAM,OAAO,wBAA4C,CAAC;AAwBjE,eAAO,MAAM,UAAU,2BAAkD,CAAC;AAgB1E,eAAO,MAAM,IAAI,qBAAsC,CAAC;AAKxD,eAAO,MAAM,OAAO;;CAYnB,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,aAAa,SAEhD,CAAC;AAEF,eAAO,MAAM,QAAQ,aAAc,aAAa,SAE/C,CAAC;AAEF,eAAO,MAAM,MAAM,aAAc,aAAa,SAK7C,CAAC;AAEF,eAAO,MAAM,KAAK,aAAc,aAAa,SAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,4BAAe,CAAC"}
@@ -24,7 +24,7 @@
24
24
  *
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.runner = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.journey = void 0;
27
+ exports.runner = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.apiJourney = exports.journey = void 0;
28
28
  const dsl_1 = require("../dsl");
29
29
  const globals_1 = require("./globals");
30
30
  const helpers_1 = require("../helpers");
@@ -44,6 +44,21 @@ const createJourney = (type) => (0, helpers_1.wrapFnWithLocation)((location, opt
44
44
  exports.journey = createJourney();
45
45
  exports.journey.skip = createJourney('skip');
46
46
  exports.journey.only = createJourney('only');
47
+ const createAPIJourney = (type) => (0, helpers_1.wrapFnWithLocation)((location, options, callback) => {
48
+ (0, logger_1.log)(`API Journey register: ${JSON.stringify(options)}`);
49
+ if (typeof options === 'string') {
50
+ options = { name: options, id: options };
51
+ }
52
+ const j = new dsl_1.APIJourney(options, callback, location);
53
+ if (type) {
54
+ j[type] = true;
55
+ }
56
+ exports.runner._addJourney(j);
57
+ return j;
58
+ });
59
+ exports.apiJourney = createAPIJourney();
60
+ exports.apiJourney.skip = createAPIJourney('skip');
61
+ exports.apiJourney.only = createAPIJourney('only');
47
62
  const createStep = (type) => (0, helpers_1.wrapFnWithLocation)((location, name, callback) => {
48
63
  (0, logger_1.log)(`Step register: ${name}`);
49
64
  const step = exports.runner.currentJourney?._addStep(name, callback, location);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,gCAUgB;AAChB,uCAAmD;AAEnD,wCAAgD;AAChD,qCAA+B;AAG/B,MAAM,aAAa,GAAG,CAAC,IAAsB,EAAE,EAAE,CAC/C,IAAA,4BAAkB,EAChB,CACE,QAAkB,EAClB,OAAgC,EAChC,QAAyB,EACzB,EAAE;IACF,IAAA,YAAG,EAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;KAC1C;IACD,MAAM,CAAC,GAAG,IAAI,aAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,IAAI,EAAE;QACR,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAChB;IACD,cAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC,CACF,CAAC;AAES,QAAA,OAAO,GAAG,aAAa,EAA4B,CAAC;AACjE,eAAO,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AACrC,eAAO,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAErC,MAAM,gBAAgB,GAAG,CAAC,IAAsB,EAAE,EAAE,CAClD,IAAA,4BAAkB,EAChB,CACE,QAAkB,EAClB,OAAmC,EACnC,QAA4B,EAC5B,EAAE;IACF,IAAA,YAAG,EAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;KAC1C;IACD,MAAM,CAAC,GAAG,IAAI,gBAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,IAAI,EAAE;QACR,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAChB;IACD,cAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC,CACF,CAAC;AAES,QAAA,UAAU,GAAG,gBAAgB,EAA+B,CAAC;AAC1E,kBAAU,CAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3C,kBAAU,CAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE3C,MAAM,UAAU,GAAG,CAAC,IAA+B,EAAE,EAAE,CACrD,IAAA,4BAAkB,EAChB,CAAC,QAAkB,EAAE,IAAY,EAAE,QAAsB,EAAE,EAAE;IAC3D,IAAA,YAAG,EAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,cAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvE,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAES,QAAA,IAAI,GAAG,UAAU,EAAyB,CAAC;AACxD,YAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/B,YAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/B,YAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAElB,QAAA,OAAO,GAAG;IACrB,GAAG,EAAE,IAAA,4BAAkB,EAAC,CAAC,QAAkB,EAAE,MAAqB,EAAE,EAAE;QACpE;;;WAGG;QACH,IAAI,cAAM,CAAC,cAAc,EAAE;YACzB,cAAM,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SAC9C;aAAM;YACL,cAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;CACH,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,QAAuB,EAAE,EAAE;IACnD,cAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,QAAQ,GAAG,CAAC,QAAuB,EAAE,EAAE;IAClD,cAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEK,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAE,EAAE;IAChD,IAAI,CAAC,cAAM,CAAC,cAAc,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IACD,OAAO,cAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB;AAEK,MAAM,KAAK,GAAG,CAAC,QAAuB,EAAE,EAAE;IAC/C,IAAI,CAAC,cAAM,CAAC,cAAc,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IACD,OAAO,cAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AALW,QAAA,KAAK,SAKhB;AAEW,QAAA,MAAM,GAAG,gBAAY,CAAC"}
@@ -38,7 +38,7 @@ export interface RunnerInfo {
38
38
  */
39
39
  readonly currentJourney: Journey | undefined;
40
40
  /**
41
- * All registerd journeys
41
+ * All registered journeys
42
42
  */
43
43
  readonly journeys: Journey[];
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAUzC,OAAO,EACL,aAAa,EAIb,UAAU,EACV,aAAa,EAEb,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGxD,KAAK,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAEhE,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,UAAU;;IAW/C,MAAM,EAAE,UAAU,CAAC;IAEnB,IAAI,cAAc,YAEjB;IAED,IAAI,QAAQ,cAEX;IAED,IAAI,KAAK,eAER;YAEa,iBAAiB;IA6B/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAIhD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAI/C,OAAO,CAAC,aAAa;IAQrB,cAAc,CAAC,MAAM,EAAE,aAAa;IAQpC;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,aAAa;IAInC,WAAW,CAAC,OAAO,EAAE,OAAO;IAK5B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,OAAO,CAAC,WAAW;IA8Mb,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IAuCvD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IAIhD,cAAc,CAAC,OAAO,EAAE,WAAW;IAuDnC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,WAAW;IAgB5B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAuCnD;;;OAGG;IACH,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAItC,YAAY,CAAC,OAAO,EAAE,UAAU;IAgBtC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9C,MAAM;IAYZ;;;OAGG;IACH,KAAK;CAGN"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,OAAO,EAAuB,MAAM,gBAAgB,CAAC;AAU9D,OAAO,EACL,aAAa,EAIb,UAAU,EACV,aAAa,EAEb,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGxD,KAAK,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAEhE,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,UAAU;;IAW/C,MAAM,EAAE,UAAU,CAAC;IAEnB,IAAI,cAAc,YAEjB;IAED,IAAI,QAAQ,cAEX;IAED,IAAI,KAAK,eAER;YAEa,iBAAiB;IA6B/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAIhD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAI/C,OAAO,CAAC,aAAa;IAQrB,cAAc,CAAC,MAAM,EAAE,aAAa;IAQpC;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,aAAa;IAInC,WAAW,CAAC,OAAO,EAAE,OAAO;IAK5B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,OAAO,CAAC,WAAW;IAgOb,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IAuCvD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IAIhD,cAAc,CAAC,OAAO,EAAE,WAAW;IAuDnC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,WAAW;IAgB5B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAuCnD;;;OAGG;IACH,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAItC,YAAY,CAAC,OAAO,EAAE,UAAU;IAuBtC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9C,MAAM;IAYZ;;;OAGG;IACH,KAAK;CAGN"}
@@ -152,18 +152,21 @@ class Runner {
152
152
  async #runStep(step, options) {
153
153
  (0, logger_1.log)(`Runner: start step (${step.name})`);
154
154
  const { metrics, screenshots, filmstrips, trace } = options;
155
- /**
156
- * URL needs to be the first navigation request of any step
157
- * Listening for request solves the case where `about:blank` would be
158
- * reported for failed navigations
159
- */
160
- const captureUrl = req => {
161
- if (!step.url && req.isNavigationRequest()) {
162
- step.url = req.url();
163
- }
164
- this.#driver.context.off('request', captureUrl);
165
- };
166
- this.#driver.context.on('request', captureUrl);
155
+ if ('context' in this.#driver) {
156
+ /**
157
+ * URL needs to be the first navigation request of any step
158
+ * Listening for request solves the case where `about:blank` would be
159
+ * reported for failed navigations
160
+ */
161
+ const captureUrl = req => {
162
+ if (!step.url && req.isNavigationRequest()) {
163
+ step.url = req.url();
164
+ }
165
+ 'context' in this.#driver &&
166
+ this.#driver.context.off('request', captureUrl);
167
+ };
168
+ this.#driver.context.on('request', captureUrl);
169
+ }
167
170
  const data = {};
168
171
  const traceEnabled = trace || filmstrips;
169
172
  try {
@@ -183,28 +186,30 @@ class Runner {
183
186
  step.error = error;
184
187
  }
185
188
  finally {
186
- /**
187
- * Collect all step level metrics and trace events
188
- */
189
- if (metrics) {
190
- data.pagemetrics = await gatherer_1.Gatherer.pluginManager.get('performance').getMetrics();
191
- }
192
- if (traceEnabled) {
193
- const traceOutput = await gatherer_1.Gatherer.pluginManager.stop('trace');
194
- Object.assign(data, traceOutput);
195
- }
196
- /**
197
- * Capture screenshot for the newly created pages
198
- * via popup or new windows/tabs
199
- *
200
- * Last open page will get us the correct screenshot
201
- */
202
- const pages = this.#driver.context.pages();
203
- const page = pages[pages.length - 1];
204
- if (page) {
205
- step.url ??= page.url();
206
- if (screenshots && screenshots !== 'off') {
207
- await this.captureScreenshot(page, step);
189
+ if ('context' in this.#driver) {
190
+ /**
191
+ * Collect all step level metrics and trace events
192
+ */
193
+ if (metrics) {
194
+ data.pagemetrics = await gatherer_1.Gatherer.pluginManager.get('performance').getMetrics();
195
+ }
196
+ if (traceEnabled) {
197
+ const traceOutput = await gatherer_1.Gatherer.pluginManager.stop('trace');
198
+ Object.assign(data, traceOutput);
199
+ }
200
+ /**
201
+ * Capture screenshot for the newly created pages
202
+ * via popup or new windows/tabs
203
+ *
204
+ * Last open page will get us the correct screenshot
205
+ */
206
+ const pages = this.#driver.context.pages();
207
+ const page = pages[pages.length - 1];
208
+ if (page) {
209
+ step.url ??= page.url();
210
+ if (screenshots && screenshots !== 'off') {
211
+ await this.captureScreenshot(page, step);
212
+ }
208
213
  }
209
214
  }
210
215
  }
@@ -249,41 +254,57 @@ class Runner {
249
254
  }
250
255
  async #startJourney(journey, options) {
251
256
  journey._startTime = (0, helpers_1.monotonicTimeInSeconds)();
252
- this.#driver = await gatherer_1.Gatherer.setupDriver(options);
257
+ this.#driver = await gatherer_1.Gatherer.setupDriver(options, journey.type);
253
258
  await gatherer_1.Gatherer.beginRecording(this.#driver, options);
254
- /**
255
- * For each journey we create the screenshots folder for
256
- * caching all screenshots and clear them at end of each journey
257
- */
258
- await (0, promises_1.mkdir)(this.#screenshotPath, { recursive: true });
259
+ if (journey.type === 'browser') {
260
+ /**
261
+ * For each journey we create the screenshots folder for
262
+ * caching all screenshots and clear them at end of each journey
263
+ */
264
+ await (0, promises_1.mkdir)(this.#screenshotPath, { recursive: true });
265
+ }
259
266
  const params = options.params;
260
267
  this.#reporter?.onJourneyStart?.(journey, {
261
268
  timestamp: (0, helpers_1.getTimestamp)(),
262
269
  params,
263
270
  });
264
271
  /**
265
- * Exeucute the journey callback which registers the steps for current journey
272
+ * Execute the journey callback which registers the steps for current journey
266
273
  */
267
274
  journey.cb({ ...this.#driver, params, info: this });
268
275
  }
269
276
  async #endJourney(journey, result, options) {
270
277
  // Enhance the journey results
271
278
  const pOutput = await gatherer_1.Gatherer.pluginManager.output();
272
- const bConsole = (0, plugins_1.filterBrowserMessages)(pOutput.browserconsole, journey.status);
273
- await this.#reporter?.onJourneyEnd?.(journey, {
274
- browserDelay: this.#browserDelay,
275
- timestamp: (0, helpers_1.getTimestamp)(),
276
- options,
277
- networkinfo: pOutput.networkinfo,
278
- browserconsole: bConsole,
279
- });
279
+ const isBrowserJourney = journey.type === 'browser';
280
+ const bConsole = isBrowserJourney
281
+ ? (0, plugins_1.filterBrowserMessages)(pOutput.browserconsole, journey.status)
282
+ : undefined;
283
+ if (isBrowserJourney) {
284
+ await this.#reporter?.onJourneyEnd?.(journey, {
285
+ browserDelay: this.#browserDelay,
286
+ timestamp: (0, helpers_1.getTimestamp)(),
287
+ options,
288
+ networkinfo: pOutput.networkinfo,
289
+ browserconsole: bConsole,
290
+ });
291
+ }
292
+ else {
293
+ await this.#reporter?.onJourneyEnd?.(journey, {
294
+ timestamp: (0, helpers_1.getTimestamp)(),
295
+ options,
296
+ networkinfo: pOutput.networkinfo,
297
+ });
298
+ }
280
299
  await gatherer_1.Gatherer.endRecording();
281
300
  await gatherer_1.Gatherer.dispose(this.#driver);
282
301
  // clear screenshots cache after each journey
283
- await (0, promises_1.rm)(this.#screenshotPath, { recursive: true, force: true });
302
+ if (isBrowserJourney) {
303
+ await (0, promises_1.rm)(this.#screenshotPath, { recursive: true, force: true });
304
+ }
284
305
  return Object.assign(result, {
285
306
  networkinfo: pOutput.networkinfo,
286
- browserconsole: bConsole,
307
+ ...(isBrowserJourney ? { browserconsole: bConsole } : {}),
287
308
  ...journey,
288
309
  });
289
310
  }
@@ -435,9 +456,9 @@ class Runner {
435
456
  await this.#runBeforeAllHook(hookArgs).catch(e => (this.#hookError = e));
436
457
  const { dryRun, grepOpts } = options;
437
458
  // collect all journeys with `.only` annotation and skip the rest
438
- const onlyJournerys = this.#journeys.filter(j => j.only);
439
- if (onlyJournerys.length > 0) {
440
- this.#journeys = onlyJournerys;
459
+ const onlyJourneys = this.#journeys.filter(j => j.only);
460
+ if (onlyJourneys.length > 0) {
461
+ this.#journeys = onlyJourneys;
441
462
  }
442
463
  else {
443
464
  // filter journeys based on tags and skip annotations
@@ -463,9 +484,16 @@ class Runner {
463
484
  }
464
485
  async _runJourneys(options) {
465
486
  const result = {};
466
- const browserStart = (0, helpers_1.monotonicTimeInSeconds)();
467
- await gatherer_1.Gatherer.launchBrowser(options);
468
- this.#browserDelay = (0, helpers_1.monotonicTimeInSeconds)() - browserStart;
487
+ /**
488
+ * Only spin up a Chromium browser if at least one browser journey is
489
+ * scheduled to run. Pure API-journey suites skip launch entirely.
490
+ */
491
+ const hasBrowserJourneys = this.#journeys.some(j => j.type === 'browser');
492
+ if (hasBrowserJourneys) {
493
+ const browserStart = (0, helpers_1.monotonicTimeInSeconds)();
494
+ await gatherer_1.Gatherer.launchBrowser(options);
495
+ this.#browserDelay = (0, helpers_1.monotonicTimeInSeconds)() - browserStart;
496
+ }
469
497
  for (const journey of this.#journeys) {
470
498
  const journeyResult = this.#hookError
471
499
  ? await this.#runFakeJourney(journey, options)
@@ -487,7 +515,7 @@ class Runner {
487
515
  this.#journeys = [];
488
516
  this.#active = false;
489
517
  /**
490
- * Clear all cache data stored for post processing by
518
+ * Clear all cache data stored for post-processing by
491
519
  * the current synthetic agent run
492
520
  */
493
521
  await (0, promises_1.rm)(helpers_1.CACHE_PATH, { recursive: true, force: true });