@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
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* THE SOFTWARE.
|
|
23
23
|
*
|
|
24
24
|
*/
|
|
25
|
-
import { JavaScriptLanguageGenerator } from '
|
|
25
|
+
import { JavaScriptLanguageGenerator } from './codegen';
|
|
26
26
|
export type Step = {
|
|
27
27
|
actions: ActionInContext[];
|
|
28
28
|
name?: string;
|
|
@@ -86,11 +86,11 @@ export declare class SyntheticsGenerator extends JavaScriptLanguageGenerator {
|
|
|
86
86
|
* @param actionInContext The action to create code for.
|
|
87
87
|
* @returns the strings generated for the action.
|
|
88
88
|
*/
|
|
89
|
-
generateAction(actionInContext: ActionInContext):
|
|
89
|
+
generateAction(actionInContext: ActionInContext): string;
|
|
90
90
|
isNewStep(actioninContext: ActionInContext): boolean;
|
|
91
|
-
generateStepStart(name: string):
|
|
92
|
-
generateStepEnd():
|
|
93
|
-
generateHeader():
|
|
91
|
+
generateStepStart(name: string): string;
|
|
92
|
+
generateStepEnd(): string;
|
|
93
|
+
generateHeader(): string;
|
|
94
94
|
generateFooter(): string;
|
|
95
95
|
/**
|
|
96
96
|
* Generates JavaScript code from a custom set of steps and nested actions.
|
|
@@ -101,7 +101,7 @@ export declare class SyntheticsGenerator extends JavaScriptLanguageGenerator {
|
|
|
101
101
|
* @returns a list of the code strings outputted by the generator
|
|
102
102
|
*/
|
|
103
103
|
generateFromSteps(steps: Steps): string;
|
|
104
|
-
generateHoistedVars():
|
|
104
|
+
generateHoistedVars(): string;
|
|
105
105
|
isVarHoisted(varName: string): boolean;
|
|
106
106
|
getDefaultOffset(): 0 | 2;
|
|
107
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,2BAA2B,EAAuB,MAAM,WAAW,CAAC;AAE7E,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;AAG3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAsCF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM,CAStD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAgCzC;AAED,qBAAa,mBAAoB,SAAQ,2BAA2B;IAKtD,OAAO,CAAC,SAAS;IAJ7B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,WAAW,CAAW;gBAEV,SAAS,EAAE,OAAO;IAOtC;;;;OAIG;IACH,cAAc,CAAC,eAAe,EAAE,eAAe;IA4D/C,SAAS,CAAC,eAAe,EAAE,eAAe;IAa1C,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAO9B,eAAe;IAUf,cAAc;IASd,cAAc;IAId;;;;;;;OAOG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IA8BvC,mBAAmB;IAQnB,YAAY,CAAC,OAAO,EAAE,MAAM;IAI5B,gBAAgB;IAIhB;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;CAYxC"}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*/
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.SyntheticsGenerator = exports.actionTitle = exports.quote = void 0;
|
|
28
|
-
const
|
|
28
|
+
const codegen_1 = require("./codegen");
|
|
29
29
|
function toAssertCall(pageAlias, action) {
|
|
30
30
|
const { command, selector, value } = action;
|
|
31
31
|
switch (command) {
|
|
@@ -115,7 +115,7 @@ function actionTitle(action) {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
exports.actionTitle = actionTitle;
|
|
118
|
-
class SyntheticsGenerator extends
|
|
118
|
+
class SyntheticsGenerator extends codegen_1.JavaScriptLanguageGenerator {
|
|
119
119
|
isProject;
|
|
120
120
|
previousContext;
|
|
121
121
|
insideStep;
|
|
@@ -145,7 +145,7 @@ class SyntheticsGenerator extends javascript_1.JavaScriptLanguageGenerator {
|
|
|
145
145
|
}
|
|
146
146
|
const stepIndent = this.insideStep ? 2 : 0;
|
|
147
147
|
const offset = this.isProject ? 2 + stepIndent : 0 + stepIndent;
|
|
148
|
-
const formatter = new
|
|
148
|
+
const formatter = new codegen_1.JavaScriptFormatter(offset);
|
|
149
149
|
const locators = actionInContext.frame.framePath.map(selector => `.${super._asLocator(selector)}.contentFrame()`);
|
|
150
150
|
const subject = `${pageAlias}${locators.join('')}`;
|
|
151
151
|
const signals = toSignalMap(action);
|
|
@@ -187,7 +187,7 @@ class SyntheticsGenerator extends javascript_1.JavaScriptLanguageGenerator {
|
|
|
187
187
|
}
|
|
188
188
|
generateStepStart(name) {
|
|
189
189
|
this.insideStep = true;
|
|
190
|
-
const formatter = new
|
|
190
|
+
const formatter = new codegen_1.JavaScriptFormatter(this.getDefaultOffset());
|
|
191
191
|
formatter.add(`step(${quote(name)}, async () => {`);
|
|
192
192
|
return formatter.format();
|
|
193
193
|
}
|
|
@@ -196,12 +196,12 @@ class SyntheticsGenerator extends javascript_1.JavaScriptLanguageGenerator {
|
|
|
196
196
|
return '';
|
|
197
197
|
}
|
|
198
198
|
this.insideStep = false;
|
|
199
|
-
const formatter = new
|
|
199
|
+
const formatter = new codegen_1.JavaScriptFormatter(this.getDefaultOffset());
|
|
200
200
|
formatter.add(`});`);
|
|
201
201
|
return formatter.format();
|
|
202
202
|
}
|
|
203
203
|
generateHeader() {
|
|
204
|
-
const formatter = new
|
|
204
|
+
const formatter = new codegen_1.JavaScriptFormatter(0);
|
|
205
205
|
formatter.add(`
|
|
206
206
|
const { journey, step, expect } = require('@elastic/synthetics');
|
|
207
207
|
|
|
@@ -246,7 +246,7 @@ class SyntheticsGenerator extends javascript_1.JavaScriptLanguageGenerator {
|
|
|
246
246
|
return text.filter(s => !!s).join('\n');
|
|
247
247
|
}
|
|
248
248
|
generateHoistedVars() {
|
|
249
|
-
const formatter = new
|
|
249
|
+
const formatter = new codegen_1.JavaScriptFormatter(this.getDefaultOffset());
|
|
250
250
|
for (const varName of this.varsToHoist) {
|
|
251
251
|
formatter.add(`let ${varName};`);
|
|
252
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/formatter/javascript.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,uCAA6E;AAqD7E,SAAS,YAAY,CAAC,SAAiB,EAAE,MAAc;IACrD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC5C,QAAQ,OAAO,EAAE;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,gBAAgB,SAAS,IAAI,OAAO,IAAI,KAAK,CAClD,QAAQ,IAAI,EAAE,CACf,cAAc,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC;QACxC,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,gBAAgB,SAAS,IAAI,OAAO,IAAI,KAAK,CAClD,QAAQ,IAAI,EAAE,CACf,kBAAkB,CAAC;KACvB;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,IAAI,KAAyB,CAAC;IAC9B,IAAI,QAA4B,CAAC;IACjC,IAAI,MAA0B,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,KAAK,GAAG,MAAM,CAAC;aACvC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,QAAQ,GAAG,MAAM,CAAC;aAClD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,MAAM,CAAC;KACpD;IACD,OAAO;QACL,KAAK;QACL,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,IAAI,GAAG,GAAG;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,WAAW;SAC5B,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SACpC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1E,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1E,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACxE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AATD,sBASC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,MAAc;IACxC,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,UAAU;YACb,OAAO,eAAe,CAAC;QACzB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,KAAK,SAAS;YACZ,OAAO,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,OAAO,CAAC,CAAC;YACZ,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC;gBAAE,OAAO,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC;gBAAE,OAAO,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtE,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC;gBAAE,OAAO,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtE,OAAO,GAAG,MAAM,CAAC,UAAU,SAAS,CAAC;SACtC;QACD,KAAK,MAAM;YACT,OAAO,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,eAAe;YAClB,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC;gBAAE,OAAO,sBAAsB,CAAC;;gBACzD,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,KAAK,UAAU;YACb,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,CACL,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,KAAK,QAAQ;YACX,OAAO,UAAU,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;KACxD;AACH,CAAC;AAhCD,kCAgCC;AAED,MAAa,mBAAoB,SAAQ,qCAA2B;IAK9C;IAJZ,eAAe,CAAmB;IAClC,UAAU,CAAU;IACpB,WAAW,CAAW;IAE9B,YAAoB,SAAkB;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QADM,cAAS,GAAT,SAAS,CAAS;QAEpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,eAAgC;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAO,EAAE,CAAC;SACX;QAED,kDAAkD;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,KAAK,MAAM,CAAC;QACtE,IAAI,SAAS,EAAE;YACb,OAAO,EAAE,CAAC;SACX;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,6BAAmB,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAClD,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAC5D,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS;;;MAG5B,CAAC,CAAC;SACH;QAED,IAAI,OAAO,CAAC,KAAK;YACf,SAAS,CAAC,GAAG,CACX,SAAS,OAAO,CAAC,KAAK,CAAC,UAAU,aAAa,SAAS,yBAAyB,CACjF,CAAC;QACJ,IAAI,OAAO,CAAC,QAAQ;YAClB,SAAS,CAAC,GAAG,CACX,iBAAiB,OAAO,CAAC,QAAQ,CAAC,aAAa,aAAa,SAAS,4BAA4B,CAClG,CAAC;QAEJ,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAC7D,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;YAC9B,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;SAChD;aAAM;YACL,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;SACpE;QAED,IAAI,OAAO,CAAC,KAAK;YACf,SAAS,CAAC,GAAG,CACX,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,YAAY,OAAO,CAAC,KAAK,CAAC,UAAU,UAAU,CAC1E,CAAC;QACJ,IAAI,OAAO,CAAC,QAAQ;YAClB,SAAS,CAAC,GAAG,CACX,WAAW,OAAO,CAAC,QAAQ,CAAC,aAAa,oBAAoB,OAAO,CAAC,QAAQ,CAAC,aAAa,UAAU,CACtG,CAAC;QAEJ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,eAAgC;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YAClC,OAAO,CACL,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;gBAC/C,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAC1B,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnE,SAAS,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,cAAc;QACZ,MAAM,SAAS,GAAG,IAAI,6BAAmB,CAAC,CAAC,CAAC,CAAC;QAC7C,SAAS,CAAC,GAAG,CAAC;;;iEAG+C,CAAC,CAAC;QAC/D,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,KAAY;QAC5B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC3B,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,MAAM,IAAI,GACR,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;gBACrB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YAE9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,UAAU,CAAC,MAAM;oBAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,mBAAmB;QACjB,MAAM,SAAS,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,SAAS,CAAC,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,CAAC;SAClC;QACD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,KAAY;QAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxC,aAAa,CAAC,MAAM,CAAC,OAAO;qBACzB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC;qBAChE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAoB,CAAC,CAAC,CAAC;gBACnE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7C;SACF;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IAChE,CAAC;CACF;AA/LD,kDA+LC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export declare function run(options: RunOptions): Promise<{
|
|
|
29
29
|
/**
|
|
30
30
|
* Export all core module functions
|
|
31
31
|
*/
|
|
32
|
-
export { journey, step, monitor, beforeAll, afterAll, before, after, } from './core';
|
|
32
|
+
export { journey, apiJourney, step, monitor, beforeAll, afterAll, before, after, } from './core';
|
|
33
33
|
export { expect } from './core/expect';
|
|
34
34
|
export * as mfa from './core/mfa';
|
|
35
35
|
/**
|
|
@@ -44,6 +44,6 @@ export { devices, request } from 'playwright-core';
|
|
|
44
44
|
export type { default as Runner } from './core/runner';
|
|
45
45
|
export type { Reporter, ReporterOptions } from './reporters';
|
|
46
46
|
export type { SyntheticsConfig, StepEndResult, JourneyEndResult, JourneyStartResult, JourneyResult, StepResult, StartEvent, } from './common_types';
|
|
47
|
-
export type { Journey, JourneyCallback, JourneyWithAnnotations, JourneyOptions, StepWithAnnotations, } from './dsl';
|
|
47
|
+
export type { Journey, JourneyCallback, JourneyWithAnnotations, JourneyOptions, StepWithAnnotations, APIJourney, APIJourneyCallback, APIJourneyCallbackOpts, APIJourneyOptions, APIJourneyWithAnnotations, } from './dsl';
|
|
48
48
|
export type { Action, ActionInContext, FrameDescription, Signal, Step, Steps, actionTitle, } from './formatter/javascript';
|
|
49
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU;;GAE5C;AAED;;GAEG;AACH,OAAO,EACL,OAAO,EACP,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,YAAY,EACV,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,OAAO,EACP,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU;;GAE5C;AAED;;GAEG;AACH,OAAO,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,YAAY,EACV,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,OAAO,EACP,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,GACZ,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -47,7 +47,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
47
47
|
return result;
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.request = exports.devices = exports.mfa = exports.expect = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.journey = exports.run = void 0;
|
|
50
|
+
exports.request = exports.devices = exports.mfa = exports.expect = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.apiJourney = exports.journey = exports.run = void 0;
|
|
51
51
|
const globals_1 = require("./core/globals");
|
|
52
52
|
async function run(options) {
|
|
53
53
|
return globals_1.runner._run(options);
|
|
@@ -58,6 +58,7 @@ exports.run = run;
|
|
|
58
58
|
*/
|
|
59
59
|
var core_1 = require("./core");
|
|
60
60
|
Object.defineProperty(exports, "journey", { enumerable: true, get: function () { return core_1.journey; } });
|
|
61
|
+
Object.defineProperty(exports, "apiJourney", { enumerable: true, get: function () { return core_1.apiJourney; } });
|
|
61
62
|
Object.defineProperty(exports, "step", { enumerable: true, get: function () { return core_1.step; } });
|
|
62
63
|
Object.defineProperty(exports, "monitor", { enumerable: true, get: function () { return core_1.monitor; } });
|
|
63
64
|
Object.defineProperty(exports, "beforeAll", { enumerable: true, get: function () { return core_1.beforeAll; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAwC;AAGjC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,OAAO,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAFD,kBAEC;AAED;;GAEG;AACH,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAwC;AAGjC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,OAAO,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAFD,kBAEC;AAED;;GAEG;AACH,+BASgB;AARd,+FAAA,OAAO,OAAA;AACP,kGAAA,UAAU,OAAA;AACV,4FAAA,IAAI,OAAA;AACJ,+FAAA,OAAO,OAAA;AACP,iGAAA,SAAS,OAAA;AACT,gGAAA,QAAQ,OAAA;AACR,8FAAA,MAAM,OAAA;AACN,6FAAA,KAAK,OAAA;AAEP,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,kDAAkC;AAelC,mDAAmD;AAA1C,0GAAA,OAAO,OAAA;AAAE,0GAAA,OAAO,OAAA"}
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAgBzC;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,uBAMjE;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,iBA0BnE"}
|
package/dist/loader.js
CHANGED
|
@@ -46,10 +46,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
46
46
|
__setModuleDefault(result, mod);
|
|
47
47
|
return result;
|
|
48
48
|
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
49
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
53
|
exports.loadTestFiles = exports.globalSetup = void 0;
|
|
51
54
|
const process_1 = require("process");
|
|
52
55
|
const path_1 = require("path");
|
|
56
|
+
const os_1 = require("os");
|
|
57
|
+
const fs_1 = require("fs");
|
|
58
|
+
const module_1 = __importDefault(require("module"));
|
|
53
59
|
const core_1 = require("./core");
|
|
54
60
|
const logger_1 = require("./core/logger");
|
|
55
61
|
const expect_1 = require("./core/expect");
|
|
@@ -99,7 +105,20 @@ async function loadTestFiles(options, args) {
|
|
|
99
105
|
requireSuites(suites);
|
|
100
106
|
}
|
|
101
107
|
exports.loadTestFiles = loadTestFiles;
|
|
102
|
-
|
|
108
|
+
/**
|
|
109
|
+
* A leading `import`/`export` opts the inline source into module loading;
|
|
110
|
+
* anything else is treated as legacy statements with injected locals.
|
|
111
|
+
* Keying off `import`/`export` (not a `journey(` regex) avoids false
|
|
112
|
+
* matches inside strings/comments that would strip the implicit injection.
|
|
113
|
+
*/
|
|
114
|
+
const isModuleInlineSource = (source) => {
|
|
115
|
+
return /^\s*(?:import|export)\b/m.test(source);
|
|
116
|
+
};
|
|
117
|
+
const loadInlineScript = (source) => {
|
|
118
|
+
if (isModuleInlineSource(source)) {
|
|
119
|
+
loadInlineModule(source);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
103
122
|
const scriptFn = new Function('step', 'page', 'context', 'browser', 'params', 'expect', 'request', 'mfa', source);
|
|
104
123
|
(0, core_1.journey)('inline', ({ page, context, browser, params, request }) => {
|
|
105
124
|
scriptFn.apply(null, [
|
|
@@ -114,6 +133,52 @@ const loadInlineScript = source => {
|
|
|
114
133
|
]);
|
|
115
134
|
});
|
|
116
135
|
};
|
|
136
|
+
const SYNTHETICS_PKG_ROOT = (0, path_1.resolve)(__dirname, '..');
|
|
137
|
+
let syntheticsAliasInstalled = false;
|
|
138
|
+
/**
|
|
139
|
+
* Alias `@elastic/synthetics` (and subpaths) to this package so an inline
|
|
140
|
+
* module materialised in a temp dir — whose ancestors may lack a
|
|
141
|
+
* `node_modules` entry — resolves to the currently running code.
|
|
142
|
+
*/
|
|
143
|
+
const installSyntheticsRequireAlias = () => {
|
|
144
|
+
if (syntheticsAliasInstalled)
|
|
145
|
+
return;
|
|
146
|
+
syntheticsAliasInstalled = true;
|
|
147
|
+
const PKG = '@elastic/synthetics';
|
|
148
|
+
const ModuleInternal = module_1.default;
|
|
149
|
+
const originalResolve = ModuleInternal._resolveFilename;
|
|
150
|
+
ModuleInternal._resolveFilename = function (request, parent, isMain, options) {
|
|
151
|
+
if (request === PKG || request.startsWith(`${PKG}/`)) {
|
|
152
|
+
const subpath = request === PKG ? '' : request.slice(PKG.length + 1);
|
|
153
|
+
const aliased = subpath
|
|
154
|
+
? (0, path_1.join)(SYNTHETICS_PKG_ROOT, subpath)
|
|
155
|
+
: SYNTHETICS_PKG_ROOT;
|
|
156
|
+
return originalResolve.call(this, aliased, parent, isMain, options);
|
|
157
|
+
}
|
|
158
|
+
return originalResolve.call(this, request, parent, isMain, options);
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Materialise a self-contained inline module to disk and `require` it. The
|
|
163
|
+
* esbuild transform hook rewrites ESM → CJS, so the script registers its
|
|
164
|
+
* journeys on import instead of being wrapped in an implicit journey.
|
|
165
|
+
*/
|
|
166
|
+
const loadInlineModule = (source) => {
|
|
167
|
+
installSyntheticsRequireAlias();
|
|
168
|
+
const dir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), 'synthetics-inline-'));
|
|
169
|
+
// Best-effort cleanup so long-lived hosts don't accumulate temp dirs.
|
|
170
|
+
process.once('exit', () => {
|
|
171
|
+
try {
|
|
172
|
+
(0, fs_1.rmSync)(dir, { recursive: true, force: true });
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
/* best-effort */
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
const file = (0, path_1.join)(dir, 'inline.journey.ts');
|
|
179
|
+
(0, fs_1.writeFileSync)(file, source);
|
|
180
|
+
require(file);
|
|
181
|
+
};
|
|
117
182
|
/**
|
|
118
183
|
* Read the input from STDIN and run it as inline journey
|
|
119
184
|
*/
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIT License
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2020-present, Elastic NV
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14
|
+
* all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
* THE SOFTWARE.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
import { Request } from 'playwright-core';
|
|
26
|
+
import { NetworkInfo } from './common_types';
|
|
27
|
+
/**
|
|
28
|
+
* Resource Timing shape shared by `Request.timing()` and (>= 1.62)
|
|
29
|
+
* `APIResponse.timing()`. Values are milliseconds relative to `startTime`,
|
|
30
|
+
* `-1` when a phase did not happen or is unknown (e.g. reused keep-alive
|
|
31
|
+
* socket, HAR replay).
|
|
32
|
+
*/
|
|
33
|
+
export type ResourceTiming = ReturnType<Request['timing']>;
|
|
34
|
+
export declare const roundMilliSecs: (value: number) => number;
|
|
35
|
+
/**
|
|
36
|
+
* First positive number in the list, used to derive the `blocked` phase from
|
|
37
|
+
* whichever Resource Timing marker fired first.
|
|
38
|
+
*/
|
|
39
|
+
export declare const firstPositive: (numbers: number[]) => number | null;
|
|
40
|
+
/**
|
|
41
|
+
* Maps a Playwright Resource Timing object into the per-phase `NetworkInfo`
|
|
42
|
+
* timings. `total` is left at `-1` for the caller to fill via `calcTotalTime`
|
|
43
|
+
* once `loadEndTime`/`requestSentTime` are known. `receive` resolves to `-1`
|
|
44
|
+
* until `responseEnd` is available (browser journeys learn it on
|
|
45
|
+
* `requestfinished`); API journeys have the full timing up front.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getResourceTimings(rtiming: ResourceTiming): NetworkInfo['timings'];
|
|
48
|
+
/**
|
|
49
|
+
* Returns the `total` phase by summing the positive phases. Falls back to the
|
|
50
|
+
* wall-clock span between `requestSentTime` and `loadEndTime` when Resource
|
|
51
|
+
* Timing data is unavailable (`startTime <= 0`, e.g. HAR replay or aborted
|
|
52
|
+
* requests). Pure — the caller assigns the result onto `timings.total`.
|
|
53
|
+
*/
|
|
54
|
+
export declare function calcTotalTime(entry: NetworkInfo, rtiming: ResourceTiming): number;
|
|
55
|
+
//# sourceMappingURL=network-timings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-timings.d.ts","sourceRoot":"","sources":["../src/network-timings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE3D,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAE9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,YAAa,MAAM,EAAE,KAAG,MAAM,GAAG,IAO1D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,GACtB,WAAW,CAAC,SAAS,CAAC,CAwCxB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,cAAc,GACtB,MAAM,CAgBR"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MIT License
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2020-present, Elastic NV
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in
|
|
15
|
+
* all copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
* THE SOFTWARE.
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.calcTotalTime = exports.getResourceTimings = exports.firstPositive = exports.roundMilliSecs = void 0;
|
|
28
|
+
const roundMilliSecs = (value) => {
|
|
29
|
+
return Math.floor(value * 1000) / 1000;
|
|
30
|
+
};
|
|
31
|
+
exports.roundMilliSecs = roundMilliSecs;
|
|
32
|
+
/**
|
|
33
|
+
* First positive number in the list, used to derive the `blocked` phase from
|
|
34
|
+
* whichever Resource Timing marker fired first.
|
|
35
|
+
*/
|
|
36
|
+
const firstPositive = (numbers) => {
|
|
37
|
+
for (let i = 0; i < numbers.length; ++i) {
|
|
38
|
+
if (numbers[i] > 0) {
|
|
39
|
+
return numbers[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
};
|
|
44
|
+
exports.firstPositive = firstPositive;
|
|
45
|
+
/**
|
|
46
|
+
* Maps a Playwright Resource Timing object into the per-phase `NetworkInfo`
|
|
47
|
+
* timings. `total` is left at `-1` for the caller to fill via `calcTotalTime`
|
|
48
|
+
* once `loadEndTime`/`requestSentTime` are known. `receive` resolves to `-1`
|
|
49
|
+
* until `responseEnd` is available (browser journeys learn it on
|
|
50
|
+
* `requestfinished`); API journeys have the full timing up front.
|
|
51
|
+
*/
|
|
52
|
+
function getResourceTimings(rtiming) {
|
|
53
|
+
const blocked = (0, exports.roundMilliSecs)((0, exports.firstPositive)([
|
|
54
|
+
rtiming.domainLookupStart,
|
|
55
|
+
rtiming.connectStart,
|
|
56
|
+
rtiming.requestStart,
|
|
57
|
+
])) || -1;
|
|
58
|
+
const dns = rtiming.domainLookupEnd !== -1
|
|
59
|
+
? (0, exports.roundMilliSecs)(rtiming.domainLookupEnd - rtiming.domainLookupStart)
|
|
60
|
+
: -1;
|
|
61
|
+
const connect = rtiming.connectEnd !== -1
|
|
62
|
+
? (0, exports.roundMilliSecs)(rtiming.connectEnd - rtiming.connectStart)
|
|
63
|
+
: -1;
|
|
64
|
+
const ssl = rtiming.secureConnectionStart !== -1
|
|
65
|
+
? (0, exports.roundMilliSecs)(rtiming.connectEnd - rtiming.secureConnectionStart)
|
|
66
|
+
: -1;
|
|
67
|
+
const wait = rtiming.responseStart !== -1
|
|
68
|
+
? (0, exports.roundMilliSecs)(rtiming.responseStart - rtiming.requestStart)
|
|
69
|
+
: -1;
|
|
70
|
+
const receive = rtiming.responseEnd !== -1
|
|
71
|
+
? (0, exports.roundMilliSecs)(rtiming.responseEnd - rtiming.responseStart)
|
|
72
|
+
: -1;
|
|
73
|
+
return {
|
|
74
|
+
blocked,
|
|
75
|
+
dns,
|
|
76
|
+
ssl,
|
|
77
|
+
connect,
|
|
78
|
+
send: 0,
|
|
79
|
+
wait,
|
|
80
|
+
receive,
|
|
81
|
+
total: -1,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
exports.getResourceTimings = getResourceTimings;
|
|
85
|
+
/**
|
|
86
|
+
* Returns the `total` phase by summing the positive phases. Falls back to the
|
|
87
|
+
* wall-clock span between `requestSentTime` and `loadEndTime` when Resource
|
|
88
|
+
* Timing data is unavailable (`startTime <= 0`, e.g. HAR replay or aborted
|
|
89
|
+
* requests). Pure — the caller assigns the result onto `timings.total`.
|
|
90
|
+
*/
|
|
91
|
+
function calcTotalTime(entry, rtiming) {
|
|
92
|
+
if (rtiming.startTime <= 0) {
|
|
93
|
+
const end = entry.loadEndTime || entry.responseReceivedTime || entry.requestSentTime;
|
|
94
|
+
const total = (0, exports.roundMilliSecs)((end - entry.requestSentTime) * 1000);
|
|
95
|
+
return total <= 0 ? -1 : total;
|
|
96
|
+
}
|
|
97
|
+
const { timings } = entry;
|
|
98
|
+
return [
|
|
99
|
+
timings.blocked,
|
|
100
|
+
timings.dns,
|
|
101
|
+
timings.connect,
|
|
102
|
+
timings.wait,
|
|
103
|
+
timings.receive,
|
|
104
|
+
].reduce((pre, cur) => ((cur || -1) > 0 ? cur + pre : pre), 0);
|
|
105
|
+
}
|
|
106
|
+
exports.calcTotalTime = calcTotalTime;
|
|
107
|
+
//# sourceMappingURL=network-timings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-timings.js","sourceRoot":"","sources":["../src/network-timings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIT License
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2020-present, Elastic NV
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14
|
+
* all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
* THE SOFTWARE.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
import { NetworkInfo, APIDriver } from '../common_types';
|
|
26
|
+
import { Step } from '../dsl';
|
|
27
|
+
export declare class APINetworkManager {
|
|
28
|
+
private driver;
|
|
29
|
+
results: Array<NetworkInfo>;
|
|
30
|
+
_currentStep: Partial<Step> | null;
|
|
31
|
+
private _originalFetch?;
|
|
32
|
+
private _patched;
|
|
33
|
+
constructor(driver: APIDriver);
|
|
34
|
+
start(): Promise<void>;
|
|
35
|
+
private _interceptRequest;
|
|
36
|
+
private _restore;
|
|
37
|
+
stop(): Promise<NetworkInfo[]>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=api-network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-network.d.ts","sourceRoot":"","sources":["../../src/plugins/api-network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuD9B,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,MAAM;IAL1B,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAM;IACjC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAS;gBAEL,MAAM,EAAE,SAAS;IAE/B,KAAK;YAUG,iBAAiB;IA0H/B,OAAO,CAAC,QAAQ;IAOV,IAAI;CAKX"}
|