@elastic/synthetics 1.0.0-beta.3 → 1.0.0-beta.32

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 (202) hide show
  1. package/README.md +4 -3
  2. package/dist/cli.js +123 -161
  3. package/dist/cli.js.map +1 -1
  4. package/dist/common_types.d.ts +159 -34
  5. package/dist/common_types.d.ts.map +1 -1
  6. package/dist/config.d.ts +2 -5
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +5 -5
  9. package/dist/config.js.map +1 -1
  10. package/dist/core/browser-service.js +5 -5
  11. package/dist/core/browser-service.js.map +1 -1
  12. package/dist/core/expect.d.ts +25 -25
  13. package/dist/core/expect.d.ts.map +1 -1
  14. package/dist/core/expect.js.map +1 -1
  15. package/dist/core/gatherer.d.ts +4 -8
  16. package/dist/core/gatherer.d.ts.map +1 -1
  17. package/dist/core/gatherer.js +49 -15
  18. package/dist/core/gatherer.js.map +1 -1
  19. package/dist/core/index.d.ts +5 -1
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +23 -11
  22. package/dist/core/index.js.map +1 -1
  23. package/dist/core/logger.d.ts +0 -1
  24. package/dist/core/logger.d.ts.map +1 -1
  25. package/dist/core/logger.js +3 -16
  26. package/dist/core/logger.js.map +1 -1
  27. package/dist/core/runner.d.ts +21 -65
  28. package/dist/core/runner.d.ts.map +1 -1
  29. package/dist/core/runner.js +212 -93
  30. package/dist/core/runner.js.map +1 -1
  31. package/dist/dsl/index.js +5 -1
  32. package/dist/dsl/index.js.map +1 -1
  33. package/dist/dsl/journey.d.ts +9 -4
  34. package/dist/dsl/journey.d.ts.map +1 -1
  35. package/dist/dsl/journey.js +27 -7
  36. package/dist/dsl/journey.js.map +1 -1
  37. package/dist/dsl/monitor.d.ts +66 -0
  38. package/dist/dsl/monitor.d.ts.map +1 -0
  39. package/dist/dsl/monitor.js +63 -0
  40. package/dist/dsl/monitor.js.map +1 -0
  41. package/dist/dsl/step.d.ts +3 -2
  42. package/dist/dsl/step.d.ts.map +1 -1
  43. package/dist/dsl/step.js +2 -1
  44. package/dist/dsl/step.js.map +1 -1
  45. package/dist/formatter/javascript.d.ts +98 -0
  46. package/dist/formatter/javascript.d.ts.map +1 -0
  47. package/dist/formatter/javascript.js +295 -0
  48. package/dist/formatter/javascript.js.map +1 -0
  49. package/dist/generator/index.d.ts +29 -0
  50. package/dist/generator/index.d.ts.map +1 -0
  51. package/dist/generator/index.js +240 -0
  52. package/dist/generator/index.js.map +1 -0
  53. package/dist/{reporters/reporter.js → generator/utils.d.ts} +5 -3
  54. package/dist/generator/utils.d.ts.map +1 -0
  55. package/dist/generator/utils.js +80 -0
  56. package/dist/generator/utils.js.map +1 -0
  57. package/dist/helpers.d.ts +24 -1
  58. package/dist/helpers.d.ts.map +1 -1
  59. package/dist/helpers.js +126 -19
  60. package/dist/helpers.js.map +1 -1
  61. package/dist/index.d.ts +6 -7
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +5 -26
  64. package/dist/index.js.map +1 -1
  65. package/dist/{parse_args.d.ts → loader.d.ts} +2 -5
  66. package/dist/loader.d.ts.map +1 -0
  67. package/dist/loader.js +152 -0
  68. package/dist/loader.js.map +1 -0
  69. package/dist/locations/index.d.ts +45 -0
  70. package/dist/locations/index.d.ts.map +1 -0
  71. package/dist/locations/index.js +90 -0
  72. package/dist/locations/index.js.map +1 -0
  73. package/dist/{reporters/reporter.d.ts → locations/public-locations.d.ts} +12 -8
  74. package/dist/locations/public-locations.d.ts.map +1 -0
  75. package/dist/locations/public-locations.js +41 -0
  76. package/dist/locations/public-locations.js.map +1 -0
  77. package/dist/options.d.ts +41 -0
  78. package/dist/options.d.ts.map +1 -0
  79. package/dist/options.js +182 -0
  80. package/dist/options.js.map +1 -0
  81. package/dist/plugins/browser-console.d.ts +5 -4
  82. package/dist/plugins/browser-console.d.ts.map +1 -1
  83. package/dist/plugins/browser-console.js +27 -8
  84. package/dist/plugins/browser-console.js.map +1 -1
  85. package/dist/plugins/index.js +5 -1
  86. package/dist/plugins/index.js.map +1 -1
  87. package/dist/plugins/network.d.ts +20 -33
  88. package/dist/plugins/network.d.ts.map +1 -1
  89. package/dist/plugins/network.js +173 -214
  90. package/dist/plugins/network.js.map +1 -1
  91. package/dist/plugins/performance.d.ts +4 -19
  92. package/dist/plugins/performance.d.ts.map +1 -1
  93. package/dist/plugins/performance.js +5 -5
  94. package/dist/plugins/performance.js.map +1 -1
  95. package/dist/plugins/plugin-manager.d.ts +9 -5
  96. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  97. package/dist/plugins/plugin-manager.js +44 -29
  98. package/dist/plugins/plugin-manager.js.map +1 -1
  99. package/dist/plugins/tracing.d.ts +6 -6
  100. package/dist/plugins/tracing.d.ts.map +1 -1
  101. package/dist/plugins/tracing.js +8 -7
  102. package/dist/plugins/tracing.js.map +1 -1
  103. package/dist/push/bundler.d.ts +34 -0
  104. package/dist/push/bundler.d.ts.map +1 -0
  105. package/dist/push/bundler.js +123 -0
  106. package/dist/push/bundler.js.map +1 -0
  107. package/dist/push/index.d.ts +33 -0
  108. package/dist/push/index.d.ts.map +1 -0
  109. package/dist/push/index.js +174 -0
  110. package/dist/push/index.js.map +1 -0
  111. package/dist/push/monitor.d.ts +34 -0
  112. package/dist/push/monitor.d.ts.map +1 -0
  113. package/dist/push/monitor.js +78 -0
  114. package/dist/push/monitor.js.map +1 -0
  115. package/{src/reporters/reporter.ts → dist/push/plugin.d.ts} +8 -10
  116. package/dist/push/plugin.d.ts.map +1 -0
  117. package/dist/push/plugin.js +133 -0
  118. package/dist/push/plugin.js.map +1 -0
  119. package/dist/push/request.d.ts +43 -0
  120. package/dist/push/request.d.ts.map +1 -0
  121. package/dist/push/request.js +83 -0
  122. package/dist/push/request.js.map +1 -0
  123. package/dist/reporters/base.d.ts +14 -6
  124. package/dist/reporters/base.d.ts.map +1 -1
  125. package/dist/reporters/base.js +54 -48
  126. package/dist/reporters/base.js.map +1 -1
  127. package/dist/reporters/index.d.ts +18 -8
  128. package/dist/reporters/index.d.ts.map +1 -1
  129. package/dist/reporters/index.js.map +1 -1
  130. package/dist/reporters/json.d.ts +18 -67
  131. package/dist/reporters/json.d.ts.map +1 -1
  132. package/dist/reporters/json.js +153 -175
  133. package/dist/reporters/json.js.map +1 -1
  134. package/dist/reporters/junit.d.ts +7 -1
  135. package/dist/reporters/junit.d.ts.map +1 -1
  136. package/dist/reporters/junit.js +94 -89
  137. package/dist/reporters/junit.js.map +1 -1
  138. package/dist/sdk/lh-trace-processor.d.ts +35 -9
  139. package/dist/sdk/lh-trace-processor.d.ts.map +1 -1
  140. package/dist/sdk/lh-trace-processor.js +114 -53
  141. package/dist/sdk/lh-trace-processor.js.map +1 -1
  142. package/dist/sdk/trace-metrics.d.ts +4 -4
  143. package/dist/sdk/trace-metrics.d.ts.map +1 -1
  144. package/dist/sdk/trace-metrics.js +5 -6
  145. package/dist/sdk/trace-metrics.js.map +1 -1
  146. package/dist/sdk/trace-processor.d.ts +11 -3
  147. package/dist/sdk/trace-processor.d.ts.map +1 -1
  148. package/dist/sdk/trace-processor.js +17 -9
  149. package/dist/sdk/trace-processor.js.map +1 -1
  150. package/dist/tsconfig.tsbuildinfo +1 -1888
  151. package/package.json +32 -20
  152. package/src/cli.ts +205 -152
  153. package/src/common_types.ts +192 -34
  154. package/src/config.ts +2 -5
  155. package/src/core/expect.ts +58 -24
  156. package/src/core/gatherer.ts +59 -24
  157. package/src/core/index.ts +36 -15
  158. package/src/core/logger.ts +1 -12
  159. package/src/core/runner.ts +215 -152
  160. package/src/dsl/journey.ts +37 -6
  161. package/src/dsl/monitor.ts +88 -0
  162. package/src/dsl/step.ts +9 -2
  163. package/src/formatter/javascript.ts +367 -0
  164. package/src/generator/index.ts +316 -0
  165. package/src/generator/utils.ts +80 -0
  166. package/src/helpers.ts +132 -12
  167. package/src/index.ts +22 -22
  168. package/src/loader.ts +171 -0
  169. package/src/locations/index.ts +108 -0
  170. package/src/locations/public-locations.ts +38 -0
  171. package/src/options.ts +211 -0
  172. package/src/plugins/browser-console.ts +30 -8
  173. package/src/plugins/network.ts +208 -267
  174. package/src/plugins/performance.ts +6 -22
  175. package/src/plugins/plugin-manager.ts +49 -31
  176. package/src/plugins/tracing.ts +8 -9
  177. package/src/push/bundler.ts +100 -0
  178. package/src/push/index.ts +202 -0
  179. package/src/push/monitor.ts +96 -0
  180. package/src/push/plugin.ts +119 -0
  181. package/src/push/request.ts +103 -0
  182. package/src/reporters/base.ts +63 -52
  183. package/src/reporters/index.ts +26 -3
  184. package/src/reporters/json.ts +203 -206
  185. package/src/reporters/junit.ts +98 -93
  186. package/src/sdk/lh-trace-processor.ts +132 -68
  187. package/src/sdk/trace-metrics.ts +10 -6
  188. package/src/sdk/trace-processor.ts +28 -13
  189. package/templates/.github/workflows/run-synthetics.yml +26 -0
  190. package/templates/README.md +21 -0
  191. package/templates/journeys/advanced-example-helpers.ts +54 -0
  192. package/templates/journeys/advanced-example.journey.ts +43 -0
  193. package/templates/journeys/example.journey.ts +18 -0
  194. package/templates/synthetics.config.ts +27 -0
  195. package/CHANGELOG.md +0 -102
  196. package/NOTICE.txt +0 -221
  197. package/dist/parse_args.d.ts.map +0 -1
  198. package/dist/parse_args.js +0 -89
  199. package/dist/parse_args.js.map +0 -1
  200. package/dist/reporters/reporter.d.ts.map +0 -1
  201. package/dist/reporters/reporter.js.map +0 -1
  202. package/src/parse_args.ts +0 -127
@@ -22,83 +22,34 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- /// <reference types="node" />
26
- import { EventEmitter } from 'events';
27
25
  import { Journey } from '../dsl/journey';
28
26
  import { Step } from '../dsl/step';
29
- import { Reporter } from '../reporters';
30
- import { StatusValue, HooksCallback, Params, PluginOutput, CliArgs, HooksArgs } from '../common_types';
27
+ import { HooksCallback, Params, HooksArgs, Driver, RunOptions, JourneyResult, StepResult } from '../common_types';
31
28
  import { PluginManager } from '../plugins';
32
- import { Metrics } from '../plugins';
33
- import { Driver } from './gatherer';
34
- export declare type RunOptions = Omit<CliArgs, 'debug' | 'json' | 'pattern' | 'inline' | 'require' | 'suiteParams' | 'reporter' | 'richEvents' | 'capability'> & {
35
- params?: Params;
36
- reporter?: CliArgs['reporter'] | Reporter;
37
- };
38
- declare type BaseContext = {
29
+ import { Monitor, MonitorConfig } from '../dsl/monitor';
30
+ declare type HookType = 'beforeAll' | 'afterAll';
31
+ export declare type SuiteHooks = Record<HookType, Array<HooksCallback>>;
32
+ declare type JourneyContext = {
39
33
  params?: Params;
40
34
  start: number;
41
- end?: number;
42
- };
43
- declare type JourneyContext = BaseContext & {
44
35
  driver: Driver;
45
36
  pluginManager: PluginManager;
46
37
  };
47
- declare type StepResult = {
48
- status: StatusValue;
49
- url?: string;
50
- metrics?: Metrics;
51
- error?: Error;
52
- };
53
- declare type JourneyResult = {
54
- status: StatusValue;
55
- error?: Error;
56
- };
57
38
  declare type RunResult = Record<string, JourneyResult>;
58
- declare type HookType = 'beforeAll' | 'afterAll';
59
- export declare type SuiteHooks = Record<HookType, Array<HooksCallback>>;
60
- interface Events {
61
- start: {
62
- numJourneys: number;
63
- };
64
- 'journey:register': {
65
- journey: Journey;
66
- };
67
- 'journey:start': {
68
- journey: Journey;
69
- timestamp: number;
70
- params: Params;
71
- };
72
- 'journey:end': BaseContext & JourneyResult & PluginOutput & {
73
- journey: Journey;
74
- ssblocks?: boolean;
75
- };
76
- 'journey:end:reported': unknown;
77
- 'step:start': {
78
- journey: Journey;
79
- step: Step;
80
- };
81
- 'step:end': StepResult & {
82
- start: number;
83
- end: number;
84
- journey: Journey;
85
- step: Step;
86
- };
87
- end: unknown;
88
- }
89
- export default interface Runner {
90
- on<K extends keyof Events>(name: K, listener: (v: Events[K]) => void): this;
91
- emit<K extends keyof Events>(event: K, args: Events[K]): boolean;
92
- }
93
- export default class Runner extends EventEmitter {
94
- active: boolean;
95
- currentJourney?: Journey;
39
+ export default class Runner {
40
+ #private;
96
41
  journeys: Journey[];
97
42
  hooks: SuiteHooks;
98
- screenshotPath: string;
43
+ hookError: Error | undefined;
44
+ monitor?: Monitor;
45
+ static screenshotPath: string;
99
46
  static createContext(options: RunOptions): Promise<JourneyContext>;
47
+ captureScreenshot(page: Driver['page'], step: Step): Promise<void>;
48
+ get currentJourney(): Journey;
100
49
  addHook(type: HookType, callback: HooksCallback): void;
50
+ updateMonitor(config: MonitorConfig): void;
101
51
  addJourney(journey: Journey): void;
52
+ setReporter(options: RunOptions): void;
102
53
  runBeforeAllHook(args: HooksArgs): Promise<void>;
103
54
  runAfterAllHook(args: HooksArgs): Promise<void>;
104
55
  runBeforeHook(journey: Journey, args: HooksArgs): Promise<void>;
@@ -107,10 +58,15 @@ export default class Runner extends EventEmitter {
107
58
  runSteps(journey: Journey, context: JourneyContext, options: RunOptions): Promise<StepResult[]>;
108
59
  registerJourney(journey: Journey, context: JourneyContext): void;
109
60
  endJourney(journey: any, result: JourneyContext & JourneyResult, options: RunOptions): Promise<void>;
61
+ /**
62
+ * Simulate a journey run to capture errors in the beforeAll hook
63
+ */
64
+ runFakeJourney(journey: Journey, options: RunOptions): Promise<JourneyResult>;
110
65
  runJourney(journey: Journey, options: RunOptions): Promise<JourneyResult>;
111
- init(options: RunOptions): void;
66
+ init(options: RunOptions): Promise<void>;
67
+ buildMonitors(options: RunOptions): Monitor[];
112
68
  run(options: RunOptions): Promise<RunResult>;
113
- reset(): void;
69
+ reset(): Promise<void>;
114
70
  }
115
71
  export {};
116
72
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
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;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AASnC,OAAO,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,MAAM,EAEN,UAAU,EACV,aAAa,EACb,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExD,aAAK,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACzC,oBAAY,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAEhE,aAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,aAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,MAAM;;IAIzB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,KAAK,EAAE,UAAU,CAAmC;IACpD,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,cAAc,SAAmC;WAE3C,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBlE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI;IA2BxD,IAAI,cAAc,YAEjB;IAED,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IAI/C,aAAa,CAAC,MAAM,EAAE,aAAa;IAQnC,UAAU,CAAC,OAAO,EAAE,OAAO;IAK3B,WAAW,CAAC,OAAO,EAAE,UAAU;IAazB,gBAAgB,CAAC,IAAI,EAAE,SAAS;IAKhC,eAAe,CAAC,IAAI,EAAE,SAAS;IAK/B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;IAK/C,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;IAK9C,OAAO,CACX,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC;IAiEhB,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,UAAU;IA8BrB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc;IAenD,UAAU,CACd,OAAO,KAAA,EACP,MAAM,EAAE,cAAc,GAAG,aAAa,EACtC,OAAO,EAAE,UAAU;IAmBrB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IAoBpD,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;IAiChD,IAAI,CAAC,OAAO,EAAE,UAAU;IAY9B,aAAa,CAAC,OAAO,EAAE,UAAU;IAmC3B,GAAG,CAAC,OAAO,EAAE,UAAU;IAuCvB,KAAK;CAWZ"}
@@ -23,28 +23,47 @@
23
23
  * THE SOFTWARE.
24
24
  *
25
25
  */
26
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
29
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
30
+ };
31
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
32
+ if (kind === "m") throw new TypeError("Private method is not writable");
33
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
34
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
35
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
36
+ };
37
+ var _Runner_active, _Runner_reporter, _Runner_currentJourney;
26
38
  Object.defineProperty(exports, "__esModule", { value: true });
27
- const events_1 = require("events");
28
39
  const path_1 = require("path");
29
- const fs_1 = require("fs");
40
+ const promises_1 = require("fs/promises");
30
41
  const reporters_1 = require("../reporters");
31
42
  const helpers_1 = require("../helpers");
32
- const plugins_1 = require("../plugins");
33
43
  const gatherer_1 = require("./gatherer");
34
44
  const logger_1 = require("./logger");
35
- class Runner extends events_1.EventEmitter {
45
+ const monitor_1 = require("../dsl/monitor");
46
+ class Runner {
36
47
  constructor() {
37
- super(...arguments);
38
- this.active = false;
39
- this.currentJourney = null;
48
+ _Runner_active.set(this, false);
49
+ _Runner_reporter.set(this, void 0);
50
+ _Runner_currentJourney.set(this, null);
40
51
  this.journeys = [];
41
52
  this.hooks = { beforeAll: [], afterAll: [] };
42
- this.screenshotPath = path_1.join(helpers_1.CACHE_PATH, 'screenshots');
43
53
  }
44
54
  static async createContext(options) {
45
- const start = helpers_1.monotonicTimeInSeconds();
46
55
  const driver = await gatherer_1.Gatherer.setupDriver(options);
56
+ /**
57
+ * Do not include browser launch/context creation duration
58
+ * as part of journey duration
59
+ */
60
+ const start = (0, helpers_1.monotonicTimeInSeconds)();
47
61
  const pluginManager = await gatherer_1.Gatherer.beginRecording(driver, options);
62
+ /**
63
+ * For each journey we create the screenshots folder for
64
+ * caching all screenshots and clear them at end of each journey
65
+ */
66
+ await (0, promises_1.mkdir)(this.screenshotPath, { recursive: true });
48
67
  return {
49
68
  start,
50
69
  params: options.params,
@@ -52,36 +71,79 @@ class Runner extends events_1.EventEmitter {
52
71
  pluginManager,
53
72
  };
54
73
  }
74
+ async captureScreenshot(page, step) {
75
+ const buffer = await page
76
+ .screenshot({
77
+ type: 'jpeg',
78
+ quality: 80,
79
+ timeout: 5000,
80
+ })
81
+ .catch(() => { });
82
+ /**
83
+ * Write the screenshot image buffer with additional details (step
84
+ * information) which could be extracted at the end of
85
+ * each journey without impacting the step timing information
86
+ */
87
+ if (buffer) {
88
+ const fileName = `${(0, helpers_1.generateUniqueId)()}.json`;
89
+ const screenshot = {
90
+ step,
91
+ timestamp: (0, helpers_1.getTimestamp)(),
92
+ data: buffer.toString('base64'),
93
+ };
94
+ await (0, promises_1.writeFile)((0, path_1.join)(Runner.screenshotPath, fileName), JSON.stringify(screenshot));
95
+ }
96
+ }
97
+ get currentJourney() {
98
+ return __classPrivateFieldGet(this, _Runner_currentJourney, "f");
99
+ }
55
100
  addHook(type, callback) {
56
101
  this.hooks[type].push(callback);
57
102
  }
103
+ updateMonitor(config) {
104
+ if (!this.monitor) {
105
+ this.monitor = new monitor_1.Monitor(config);
106
+ return;
107
+ }
108
+ this.monitor.update(config);
109
+ }
58
110
  addJourney(journey) {
59
111
  this.journeys.push(journey);
60
- this.currentJourney = journey;
112
+ __classPrivateFieldSet(this, _Runner_currentJourney, journey, "f");
113
+ }
114
+ setReporter(options) {
115
+ /**
116
+ * Set up the corresponding reporter and fallback
117
+ * to default reporter if not provided
118
+ */
119
+ const { reporter, outfd } = options;
120
+ const Reporter = typeof reporter === 'function'
121
+ ? reporter
122
+ : reporters_1.reporters[reporter] || reporters_1.reporters['default'];
123
+ __classPrivateFieldSet(this, _Runner_reporter, new Reporter({ fd: outfd }), "f");
61
124
  }
62
125
  async runBeforeAllHook(args) {
63
- logger_1.log(`Runner: beforeAll hooks`);
64
- await helpers_1.runParallel(this.hooks.beforeAll, args);
126
+ (0, logger_1.log)(`Runner: beforeAll hooks`);
127
+ await (0, helpers_1.runParallel)(this.hooks.beforeAll, args);
65
128
  }
66
129
  async runAfterAllHook(args) {
67
- logger_1.log(`Runner: afterAll hooks`);
68
- await helpers_1.runParallel(this.hooks.afterAll, args);
130
+ (0, logger_1.log)(`Runner: afterAll hooks`);
131
+ await (0, helpers_1.runParallel)(this.hooks.afterAll, args);
69
132
  }
70
133
  async runBeforeHook(journey, args) {
71
- logger_1.log(`Runner: before hooks for (${journey.name})`);
72
- await helpers_1.runParallel(journey.hooks.before, args);
134
+ (0, logger_1.log)(`Runner: before hooks for (${journey.name})`);
135
+ await (0, helpers_1.runParallel)(journey.hooks.before, args);
73
136
  }
74
137
  async runAfterHook(journey, args) {
75
- logger_1.log(`Runner: after hooks for (${journey.name})`);
76
- await helpers_1.runParallel(journey.hooks.after, args);
138
+ (0, logger_1.log)(`Runner: after hooks for (${journey.name})`);
139
+ await (0, helpers_1.runParallel)(journey.hooks.after, args);
77
140
  }
78
141
  async runStep(step, context, options) {
79
- var _a;
80
142
  const data = {
81
143
  status: 'succeeded',
82
144
  };
83
- logger_1.log(`Runner: start step (${step.name})`);
84
- const { metrics, screenshots } = options;
145
+ (0, logger_1.log)(`Runner: start step (${step.name})`);
146
+ const { metrics, screenshots, filmstrips, trace } = options;
85
147
  const { driver, pluginManager } = context;
86
148
  /**
87
149
  * URL needs to be the first navigation request of any step
@@ -92,14 +154,28 @@ class Runner extends events_1.EventEmitter {
92
154
  if (!data.url && req.isNavigationRequest()) {
93
155
  data.url = req.url();
94
156
  }
95
- driver.page.off('request', captureUrl);
157
+ driver.context.off('request', captureUrl);
96
158
  };
97
- driver.page.on('request', captureUrl);
159
+ driver.context.on('request', captureUrl);
98
160
  try {
161
+ /**
162
+ * Set up plugin manager context and also register
163
+ * step level plugins
164
+ */
165
+ const traceEnabled = trace || filmstrips;
99
166
  pluginManager.onStep(step);
167
+ traceEnabled && (await pluginManager.start('trace'));
168
+ // call the step definition
100
169
  await step.callback();
170
+ /**
171
+ * Collect all step level metrics
172
+ */
101
173
  if (metrics) {
102
- data.metrics = await pluginManager.get(plugins_1.PerformanceManager).getMetrics();
174
+ data.pagemetrics = await pluginManager.get('performance').getMetrics();
175
+ }
176
+ if (traceEnabled) {
177
+ const traceOutput = await pluginManager.stop('trace');
178
+ Object.assign(data, traceOutput);
103
179
  }
104
180
  }
105
181
  catch (error) {
@@ -107,34 +183,30 @@ class Runner extends events_1.EventEmitter {
107
183
  data.error = error;
108
184
  }
109
185
  finally {
110
- (_a = data.url) !== null && _a !== void 0 ? _a : (data.url = driver.page.url());
111
- if (screenshots) {
112
- await driver.page.waitForLoadState('load');
113
- const buffer = await driver.page.screenshot({
114
- type: 'jpeg',
115
- quality: 80,
116
- });
117
- /**
118
- * Write the screenshot image buffer with additional details (step
119
- * information) which could be extracted at the end of
120
- * each journey without impacting the step timing information
121
- */
122
- const fileName = helpers_1.now().toString() + '.json';
123
- fs_1.writeFileSync(path_1.join(this.screenshotPath, fileName), JSON.stringify({
124
- step,
125
- data: buffer.toString('base64'),
126
- }));
186
+ /**
187
+ * Capture screenshot for the newly created pages
188
+ * via popup or new windows/tabs
189
+ *
190
+ * Last open page will get us the correct screenshot
191
+ */
192
+ const pages = driver.context.pages();
193
+ const page = pages[pages.length - 1];
194
+ if (page) {
195
+ data.url ?? (data.url = page.url());
196
+ if (screenshots && screenshots !== 'off') {
197
+ await this.captureScreenshot(page, step);
198
+ }
127
199
  }
128
200
  }
129
- logger_1.log(`Runner: end step (${step.name})`);
201
+ (0, logger_1.log)(`Runner: end step (${step.name})`);
130
202
  return data;
131
203
  }
132
204
  async runSteps(journey, context, options) {
133
205
  const results = [];
134
206
  let skipStep = false;
135
207
  for (const step of journey.steps) {
136
- const start = helpers_1.monotonicTimeInSeconds();
137
- this.emit('step:start', { journey, step });
208
+ const start = (0, helpers_1.monotonicTimeInSeconds)();
209
+ __classPrivateFieldGet(this, _Runner_reporter, "f")?.onStepStart?.(journey, step);
138
210
  let data = { status: 'succeeded' };
139
211
  if (skipStep) {
140
212
  data.status = 'skipped';
@@ -147,11 +219,9 @@ class Runner extends events_1.EventEmitter {
147
219
  if (data.error)
148
220
  skipStep = true;
149
221
  }
150
- this.emit('step:end', {
151
- journey,
152
- step,
222
+ __classPrivateFieldGet(this, _Runner_reporter, "f")?.onStepEnd?.(journey, step, {
153
223
  start,
154
- end: helpers_1.monotonicTimeInSeconds(),
224
+ end: (0, helpers_1.monotonicTimeInSeconds)(),
155
225
  ...data,
156
226
  });
157
227
  if (options.pauseOnError && data.error) {
@@ -162,43 +232,62 @@ class Runner extends events_1.EventEmitter {
162
232
  return results;
163
233
  }
164
234
  registerJourney(journey, context) {
165
- this.currentJourney = journey;
166
- const timestamp = helpers_1.getTimestamp();
235
+ __classPrivateFieldSet(this, _Runner_currentJourney, journey, "f");
236
+ const timestamp = (0, helpers_1.getTimestamp)();
167
237
  const { params } = context;
168
- this.emit('journey:start', { journey, timestamp, params });
238
+ __classPrivateFieldGet(this, _Runner_reporter, "f")?.onJourneyStart?.(journey, {
239
+ timestamp,
240
+ params,
241
+ });
169
242
  /**
170
- * Load and register the steps for the current journey
243
+ * Exeucute the journey callback which would
244
+ * register the steps for the current journey
171
245
  */
172
246
  journey.callback({ ...context.driver, params });
173
247
  }
174
248
  async endJourney(journey, result, options) {
175
- const { pluginManager, start, params, status, error } = result;
249
+ const end = (0, helpers_1.monotonicTimeInSeconds)();
250
+ const { pluginManager, start, status, error } = result;
176
251
  const pluginOutput = await pluginManager.output();
177
- this.emit('journey:end', {
178
- journey,
252
+ await __classPrivateFieldGet(this, _Runner_reporter, "f")?.onJourneyEnd?.(journey, {
179
253
  status,
180
254
  error,
181
- params,
182
255
  start,
183
- end: helpers_1.monotonicTimeInSeconds(),
184
- ssblocks: options.ssblocks,
256
+ end,
257
+ timestamp: (0, helpers_1.getTimestamp)(),
258
+ options,
185
259
  ...pluginOutput,
186
260
  browserconsole: status == 'failed' ? pluginOutput.browserconsole : [],
187
261
  });
188
- /**
189
- * Wait for the all the reported events to be consumed aschronously
190
- * by reporter.
191
- */
192
- if (options.reporter == 'json') {
193
- await events_1.once(this, 'journey:end:reported');
194
- }
262
+ // clear screenshots cache after each journey
263
+ await (0, promises_1.rm)(Runner.screenshotPath, { recursive: true, force: true });
195
264
  }
196
- async runJourney(journey, options) {
265
+ /**
266
+ * Simulate a journey run to capture errors in the beforeAll hook
267
+ */
268
+ async runFakeJourney(journey, options) {
269
+ const start = (0, helpers_1.monotonicTimeInSeconds)();
270
+ __classPrivateFieldGet(this, _Runner_reporter, "f").onJourneyStart?.(journey, {
271
+ timestamp: (0, helpers_1.getTimestamp)(),
272
+ params: options.params,
273
+ });
197
274
  const result = {
198
- status: 'succeeded',
275
+ status: 'failed',
276
+ error: this.hookError,
199
277
  };
200
- logger_1.log(`Runner: start journey (${journey.name})`);
278
+ await __classPrivateFieldGet(this, _Runner_reporter, "f").onJourneyEnd?.(journey, {
279
+ timestamp: (0, helpers_1.getTimestamp)(),
280
+ start,
281
+ options,
282
+ end: (0, helpers_1.monotonicTimeInSeconds)(),
283
+ ...result,
284
+ });
285
+ return result;
286
+ }
287
+ async runJourney(journey, options) {
288
+ const result = { status: 'succeeded' };
201
289
  const context = await Runner.createContext(options);
290
+ (0, logger_1.log)(`Runner: start journey (${journey.name})`);
202
291
  try {
203
292
  this.registerJourney(journey, context);
204
293
  const hookArgs = {
@@ -226,70 +315,100 @@ class Runner extends events_1.EventEmitter {
226
315
  await this.endJourney(journey, { ...context, ...result }, options);
227
316
  await gatherer_1.Gatherer.dispose(context.driver);
228
317
  }
229
- logger_1.log(`Runner: end journey (${journey.name})`);
318
+ (0, logger_1.log)(`Runner: end journey (${journey.name})`);
230
319
  return result;
231
320
  }
232
- init(options) {
233
- const { reporter, outfd } = options;
321
+ async init(options) {
322
+ this.setReporter(options);
323
+ __classPrivateFieldGet(this, _Runner_reporter, "f").onStart?.({
324
+ numJourneys: this.journeys.length,
325
+ networkConditions: options.networkConditions,
326
+ });
234
327
  /**
235
- * Set up the corresponding reporter and fallback
328
+ * Set up the directory for caching screenshots
236
329
  */
237
- const Reporter = typeof reporter === 'function'
238
- ? reporter
239
- : reporters_1.reporters[reporter] || reporters_1.reporters['default'];
240
- new Reporter(this, { fd: outfd });
241
- this.emit('start', { numJourneys: this.journeys.length });
330
+ await (0, promises_1.mkdir)(helpers_1.CACHE_PATH, { recursive: true });
331
+ }
332
+ buildMonitors(options) {
242
333
  /**
243
- * Set up the directory for caching screenshots
334
+ * Update the global monitor configuration required for
335
+ * setting defaults
244
336
  */
245
- fs_1.mkdirSync(this.screenshotPath, { recursive: true });
337
+ this.updateMonitor({
338
+ throttling: options.throttling,
339
+ schedule: options.schedule,
340
+ locations: options.locations,
341
+ privateLocations: options.privateLocations,
342
+ params: options.params,
343
+ playwrightOptions: options.playwrightOptions,
344
+ });
345
+ const { match, tags } = options;
346
+ const monitors = [];
347
+ for (const journey of this.journeys) {
348
+ if (!journey.isMatch(match, tags)) {
349
+ continue;
350
+ }
351
+ __classPrivateFieldSet(this, _Runner_currentJourney, journey, "f");
352
+ /**
353
+ * Execute dummy callback to get all monitor specific
354
+ * configurations for the current journey
355
+ */
356
+ journey.callback({ params: options.params });
357
+ journey.monitor.update(this.monitor?.config);
358
+ monitors.push(journey.monitor);
359
+ }
360
+ return monitors;
246
361
  }
247
362
  async run(options) {
248
363
  const result = {};
249
- if (this.active) {
364
+ if (__classPrivateFieldGet(this, _Runner_active, "f")) {
250
365
  return result;
251
366
  }
252
- this.active = true;
253
- logger_1.log(`Runner: run ${this.journeys.length} journeys`);
367
+ __classPrivateFieldSet(this, _Runner_active, true, "f");
368
+ (0, logger_1.log)(`Runner: run ${this.journeys.length} journeys`);
254
369
  this.init(options);
255
370
  await this.runBeforeAllHook({
256
371
  env: options.environment,
257
372
  params: options.params,
258
- });
373
+ }).catch(e => (this.hookError = e));
259
374
  const { dryRun, match, tags } = options;
260
375
  for (const journey of this.journeys) {
261
376
  /**
262
377
  * Used by heartbeat to gather all registered journeys
263
378
  */
264
379
  if (dryRun) {
265
- this.emit('journey:register', { journey });
380
+ __classPrivateFieldGet(this, _Runner_reporter, "f").onJourneyRegister?.(journey);
266
381
  continue;
267
382
  }
268
383
  if (!journey.isMatch(match, tags)) {
269
384
  continue;
270
385
  }
271
- const journeyResult = await this.runJourney(journey, options);
386
+ const journeyResult = this.hookError
387
+ ? await this.runFakeJourney(journey, options)
388
+ : await this.runJourney(journey, options);
272
389
  result[journey.name] = journeyResult;
273
- await gatherer_1.Gatherer.stop();
274
390
  }
391
+ await gatherer_1.Gatherer.stop();
275
392
  await this.runAfterAllHook({
276
393
  env: options.environment,
277
394
  params: options.params,
278
395
  });
279
- this.reset();
396
+ await this.reset();
280
397
  return result;
281
398
  }
282
- reset() {
399
+ async reset() {
400
+ __classPrivateFieldSet(this, _Runner_currentJourney, null, "f");
401
+ this.journeys = [];
402
+ __classPrivateFieldSet(this, _Runner_active, false, "f");
283
403
  /**
284
404
  * Clear all cache data stored for post processing by
285
405
  * the current synthetic agent run
286
406
  */
287
- fs_1.rmdirSync(helpers_1.CACHE_PATH, { recursive: true });
288
- this.currentJourney = null;
289
- this.journeys = [];
290
- this.active = false;
291
- this.emit('end', {});
407
+ await (0, promises_1.rm)(helpers_1.CACHE_PATH, { recursive: true, force: true });
408
+ await __classPrivateFieldGet(this, _Runner_reporter, "f")?.onEnd?.();
292
409
  }
293
410
  }
294
411
  exports.default = Runner;
412
+ _Runner_active = new WeakMap(), _Runner_reporter = new WeakMap(), _Runner_currentJourney = new WeakMap();
413
+ Runner.screenshotPath = (0, path_1.join)(helpers_1.CACHE_PATH, 'screenshots');
295
414
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
package/dist/dsl/index.js CHANGED
@@ -25,7 +25,11 @@
25
25
  */
26
26
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
27
27
  if (k2 === undefined) k2 = k;
28
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
28
+ var desc = Object.getOwnPropertyDescriptor(m, k);
29
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
30
+ desc = { enumerable: true, get: function() { return m[k]; } };
31
+ }
32
+ Object.defineProperty(o, k2, desc);
29
33
  }) : (function(o, m, k, k2) {
30
34
  if (k2 === undefined) k2 = k;
31
35
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;AAEH,4CAA0B;AAC1B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;AAEH,4CAA0B;AAC1B,yCAAuB"}