@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.
- package/README.md +67 -0
- package/dist/common_types.d.ts +17 -0
- package/dist/common_types.d.ts.map +1 -1
- package/dist/core/gatherer.d.ts +4 -4
- package/dist/core/gatherer.d.ts.map +1 -1
- package/dist/core/gatherer.js +28 -7
- package/dist/core/gatherer.js.map +1 -1
- package/dist/core/globals.js +1 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +16 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/runner.d.ts +1 -1
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +86 -58
- package/dist/core/runner.js.map +1 -1
- package/dist/dsl/api-journey.d.ts +62 -0
- package/dist/dsl/api-journey.d.ts.map +1 -0
- package/dist/dsl/api-journey.js +55 -0
- package/dist/dsl/api-journey.js.map +1 -0
- package/dist/dsl/index.d.ts +1 -0
- package/dist/dsl/index.d.ts.map +1 -1
- package/dist/dsl/index.js +1 -0
- package/dist/dsl/index.js.map +1 -1
- package/dist/dsl/journey.d.ts +10 -2
- package/dist/dsl/journey.d.ts.map +1 -1
- package/dist/dsl/journey.js +11 -2
- package/dist/dsl/journey.js.map +1 -1
- package/dist/formatter/codegen.d.ts +69 -0
- package/dist/formatter/codegen.d.ts.map +1 -0
- package/dist/formatter/codegen.js +210 -0
- package/dist/formatter/codegen.js.map +1 -0
- package/dist/formatter/javascript.d.ts +6 -6
- package/dist/formatter/javascript.d.ts.map +1 -1
- package/dist/formatter/javascript.js +7 -7
- package/dist/formatter/javascript.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +66 -1
- package/dist/loader.js.map +1 -1
- package/dist/network-timings.d.ts +55 -0
- package/dist/network-timings.d.ts.map +1 -0
- package/dist/network-timings.js +107 -0
- package/dist/network-timings.js.map +1 -0
- package/dist/plugins/api-network.d.ts +39 -0
- package/dist/plugins/api-network.d.ts.map +1 -0
- package/dist/plugins/api-network.js +235 -0
- package/dist/plugins/api-network.js.map +1 -0
- package/dist/plugins/network.d.ts +0 -6
- package/dist/plugins/network.d.ts.map +1 -1
- package/dist/plugins/network.js +5 -70
- package/dist/plugins/network.js.map +1 -1
- package/dist/plugins/plugin-manager.d.ts +11 -4
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins/plugin-manager.js +36 -16
- package/dist/plugins/plugin-manager.js.map +1 -1
- package/dist/push/index.d.ts.map +1 -1
- package/dist/push/index.js +4 -0
- package/dist/push/index.js.map +1 -1
- package/dist/push/monitor.d.ts.map +1 -1
- package/dist/push/monitor.js +1 -1
- package/dist/push/monitor.js.map +1 -1
- package/dist/push/run-local.d.ts.map +1 -1
- package/dist/push/run-local.js +2 -1
- package/dist/push/run-local.js.map +1 -1
- package/dist/push/utils.d.ts +7 -0
- package/dist/push/utils.d.ts.map +1 -1
- package/dist/push/utils.js +15 -1
- package/dist/push/utils.js.map +1 -1
- package/dist/reporters/base.d.ts +2 -2
- package/dist/reporters/base.d.ts.map +1 -1
- package/dist/reporters/base.js.map +1 -1
- package/dist/reporters/index.d.ts +2 -2
- package/dist/reporters/index.d.ts.map +1 -1
- package/dist/reporters/index.js.map +1 -1
- package/dist/reporters/json.d.ts +6 -2
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +68 -33
- package/dist/reporters/json.js.map +1 -1
- package/package.json +7 -7
- package/src/common_types.ts +22 -0
- package/src/core/gatherer.ts +41 -10
- package/src/core/globals.ts +1 -1
- package/src/core/index.ts +28 -0
- package/src/core/runner.ts +93 -67
- package/src/dsl/api-journey.ts +93 -0
- package/src/dsl/index.ts +1 -0
- package/src/dsl/journey.ts +21 -9
- package/src/formatter/codegen.ts +299 -0
- package/src/formatter/javascript.ts +1 -4
- package/src/index.ts +6 -0
- package/src/loader.ts +78 -2
- package/src/network-timings.ts +130 -0
- package/src/plugins/api-network.ts +252 -0
- package/src/plugins/network.ts +5 -87
- package/src/plugins/plugin-manager.ts +60 -19
- package/src/push/index.ts +11 -0
- package/src/push/monitor.ts +6 -2
- package/src/push/run-local.ts +2 -1
- package/src/push/utils.ts +15 -0
- package/src/reporters/base.ts +2 -1
- package/src/reporters/index.ts +2 -1
- package/src/reporters/json.ts +74 -41
- package/templates/README.md +3 -1
- package/templates/journeys/advanced-api-example-helpers.ts +79 -0
- package/templates/journeys/advanced-api-example.journey.ts +52 -0
- package/templates/journeys/api-example.journey.ts +35 -0
- 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)
|
package/dist/common_types.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/core/gatherer.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/core/gatherer.js
CHANGED
|
@@ -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 {
|
|
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 = [
|
|
122
|
-
|
|
123
|
-
|
|
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
|
-
|
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,qDAMyB;AACzB,wCAA2C;AAC3C,qCAA+B;
|
|
1
|
+
{"version":3,"file":"gatherer.js","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"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"}
|
package/dist/core/globals.js
CHANGED
|
@@ -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
|
|
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');
|
package/dist/core/index.d.ts
CHANGED
|
@@ -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;
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/index.js
CHANGED
|
@@ -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);
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/runner.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,OAAO,
|
|
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"}
|
package/dist/core/runner.js
CHANGED
|
@@ -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
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
step.url
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
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
|
-
*
|
|
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
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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
|
-
|
|
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
|
|
439
|
-
if (
|
|
440
|
-
this.#journeys =
|
|
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
|
-
|
|
467
|
-
|
|
468
|
-
|
|
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
|
|
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 });
|