@serenity-js/playwright-test 3.31.17 → 3.32.1

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 (90) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +6 -5
  3. package/lib/api/PlaywrightTestConfig.d.ts +7 -6
  4. package/lib/api/PlaywrightTestConfig.d.ts.map +1 -1
  5. package/lib/api/WorkerEventStreamReader.d.ts +13 -0
  6. package/lib/api/WorkerEventStreamReader.d.ts.map +1 -0
  7. package/lib/api/WorkerEventStreamReader.js +58 -0
  8. package/lib/api/WorkerEventStreamReader.js.map +1 -0
  9. package/lib/api/WorkerEventStreamWriter.d.ts +24 -0
  10. package/lib/api/WorkerEventStreamWriter.d.ts.map +1 -0
  11. package/lib/api/WorkerEventStreamWriter.js +86 -0
  12. package/lib/api/WorkerEventStreamWriter.js.map +1 -0
  13. package/lib/api/index.d.ts +1 -2
  14. package/lib/api/index.d.ts.map +1 -1
  15. package/lib/api/index.js +1 -2
  16. package/lib/api/index.js.map +1 -1
  17. package/lib/api/serenity-fixtures.d.ts +377 -0
  18. package/lib/api/serenity-fixtures.d.ts.map +1 -0
  19. package/lib/api/{SerenityOptions.js → serenity-fixtures.js} +1 -1
  20. package/lib/api/serenity-fixtures.js.map +1 -0
  21. package/lib/api/test-api.d.ts +27 -15
  22. package/lib/api/test-api.d.ts.map +1 -1
  23. package/lib/api/test-api.js +126 -104
  24. package/lib/api/test-api.js.map +1 -1
  25. package/lib/events/EventFactory.d.ts +16 -0
  26. package/lib/events/EventFactory.d.ts.map +1 -0
  27. package/lib/events/EventFactory.js +94 -0
  28. package/lib/events/EventFactory.js.map +1 -0
  29. package/lib/events/PlaywrightSceneId.d.ts +7 -0
  30. package/lib/events/PlaywrightSceneId.d.ts.map +1 -0
  31. package/lib/events/PlaywrightSceneId.js +19 -0
  32. package/lib/events/PlaywrightSceneId.js.map +1 -0
  33. package/lib/events/index.d.ts +3 -0
  34. package/lib/events/index.d.ts.map +1 -0
  35. package/lib/events/index.js +19 -0
  36. package/lib/events/index.js.map +1 -0
  37. package/lib/reporter/PlaywrightErrorParser.d.ts +7 -0
  38. package/lib/reporter/PlaywrightErrorParser.d.ts.map +1 -0
  39. package/lib/reporter/PlaywrightErrorParser.js +28 -0
  40. package/lib/reporter/PlaywrightErrorParser.js.map +1 -0
  41. package/lib/reporter/PlaywrightEventBuffer.d.ts +25 -0
  42. package/lib/reporter/PlaywrightEventBuffer.d.ts.map +1 -0
  43. package/lib/reporter/PlaywrightEventBuffer.js +147 -0
  44. package/lib/reporter/PlaywrightEventBuffer.js.map +1 -0
  45. package/lib/reporter/PlaywrightTestSceneIdFactory.d.ts +8 -0
  46. package/lib/reporter/PlaywrightTestSceneIdFactory.d.ts.map +1 -0
  47. package/lib/reporter/PlaywrightTestSceneIdFactory.js +15 -0
  48. package/lib/reporter/PlaywrightTestSceneIdFactory.js.map +1 -0
  49. package/lib/reporter/SerenityReporterForPlaywrightTest.d.ts +15 -22
  50. package/lib/reporter/SerenityReporterForPlaywrightTest.d.ts.map +1 -1
  51. package/lib/reporter/SerenityReporterForPlaywrightTest.js +62 -163
  52. package/lib/reporter/SerenityReporterForPlaywrightTest.js.map +1 -1
  53. package/lib/reporter/index.d.ts +0 -2
  54. package/lib/reporter/index.d.ts.map +1 -1
  55. package/lib/reporter/index.js +0 -2
  56. package/lib/reporter/index.js.map +1 -1
  57. package/package.json +9 -9
  58. package/src/api/PlaywrightTestConfig.ts +7 -6
  59. package/src/api/WorkerEventStreamReader.ts +27 -0
  60. package/src/api/WorkerEventStreamWriter.ts +117 -0
  61. package/src/api/index.ts +1 -2
  62. package/src/api/serenity-fixtures.ts +392 -0
  63. package/src/api/test-api.ts +187 -99
  64. package/src/events/EventFactory.ts +204 -0
  65. package/src/events/PlaywrightSceneId.ts +20 -0
  66. package/src/events/index.ts +2 -0
  67. package/src/reporter/PlaywrightErrorParser.ts +35 -0
  68. package/src/reporter/PlaywrightEventBuffer.ts +251 -0
  69. package/src/reporter/PlaywrightTestSceneIdFactory.ts +14 -0
  70. package/src/reporter/SerenityReporterForPlaywrightTest.ts +89 -250
  71. package/src/reporter/index.ts +0 -2
  72. package/lib/api/SerenityFixtures.d.ts +0 -130
  73. package/lib/api/SerenityFixtures.d.ts.map +0 -1
  74. package/lib/api/SerenityFixtures.js +0 -3
  75. package/lib/api/SerenityFixtures.js.map +0 -1
  76. package/lib/api/SerenityOptions.d.ts +0 -271
  77. package/lib/api/SerenityOptions.d.ts.map +0 -1
  78. package/lib/api/SerenityOptions.js.map +0 -1
  79. package/lib/reporter/DomainEventBuffer.d.ts +0 -11
  80. package/lib/reporter/DomainEventBuffer.d.ts.map +0 -1
  81. package/lib/reporter/DomainEventBuffer.js +0 -24
  82. package/lib/reporter/DomainEventBuffer.js.map +0 -1
  83. package/lib/reporter/PlaywrightAttachments.d.ts +0 -2
  84. package/lib/reporter/PlaywrightAttachments.d.ts.map +0 -1
  85. package/lib/reporter/PlaywrightAttachments.js +0 -5
  86. package/lib/reporter/PlaywrightAttachments.js.map +0 -1
  87. package/src/api/SerenityFixtures.ts +0 -132
  88. package/src/api/SerenityOptions.ts +0 -277
  89. package/src/reporter/DomainEventBuffer.ts +0 -28
  90. package/src/reporter/PlaywrightAttachments.ts +0 -1
@@ -1,40 +1,13 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
35
5
  Object.defineProperty(exports, "__esModule", { value: true });
36
6
  exports.useFixtures = exports.expect = exports.afterAll = exports.afterEach = exports.beforeEach = exports.beforeAll = exports.describe = exports.test = exports.it = exports.fixtures = void 0;
37
7
  exports.useBase = useBase;
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const node_process_1 = __importDefault(require("node:process"));
38
11
  const test_1 = require("@playwright/test");
39
12
  const core_1 = require("@serenity-js/core");
40
13
  const events_1 = require("@serenity-js/core/lib/events");
@@ -42,29 +15,17 @@ const model_1 = require("@serenity-js/core/lib/model");
42
15
  const playwright_1 = require("@serenity-js/playwright");
43
16
  const rest_1 = require("@serenity-js/rest");
44
17
  const web_1 = require("@serenity-js/web");
45
- const os = __importStar(require("os"));
46
18
  const tiny_types_1 = require("tiny-types");
19
+ const events_2 = require("../events");
47
20
  const reporter_1 = require("../reporter");
21
+ const PlaywrightTestSceneIdFactory_1 = require("../reporter/PlaywrightTestSceneIdFactory");
48
22
  const PerformActivitiesAsPlaywrightSteps_1 = require("./PerformActivitiesAsPlaywrightSteps");
49
- const serenitySelectorEngines = new playwright_1.SerenitySelectorEngines();
23
+ const WorkerEventStreamWriter_1 = require("./WorkerEventStreamWriter");
50
24
  exports.fixtures = {
51
- actors: [
52
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
53
- async ({ contextOptions, baseURL, extraHTTPHeaders, page, proxy }, use) => {
54
- await use(core_1.Cast.where(actor => actor.whoCan(playwright_1.BrowseTheWebWithPlaywright.usingPage(page, contextOptions), core_1.TakeNotes.usingAnEmptyNotepad(), rest_1.CallAnApi.using({
55
- baseURL: baseURL,
56
- headers: extraHTTPHeaders,
57
- proxy: proxy && proxy?.server
58
- ? asProxyConfig(proxy)
59
- : undefined,
60
- }))));
61
- },
62
- { option: true },
25
+ extraContextOptions: [
26
+ { defaultNavigationWaitUntil: 'load' },
27
+ { option: true }
63
28
  ],
64
- playwright: async ({ playwright }, use) => {
65
- await serenitySelectorEngines.ensureRegisteredWith(playwright.selectors);
66
- await use(playwright);
67
- },
68
29
  defaultActorName: [
69
30
  'Serena',
70
31
  { option: true },
@@ -78,61 +39,123 @@ exports.fixtures = {
78
39
  { option: true },
79
40
  ],
80
41
  crew: [
81
- [
82
- web_1.Photographer.whoWill(web_1.TakePhotosOfFailures)
83
- ],
42
+ [web_1.Photographer.whoWill(web_1.TakePhotosOfFailures)],
84
43
  { option: true },
85
44
  ],
86
- // eslint-disable-next-line no-empty-pattern
87
- platform: async ({}, use) => {
88
- const platform = os.platform();
89
- // https://nodejs.org/api/process.html#process_process_platform
90
- const name = platform === 'win32'
91
- ? 'Windows'
92
- : (platform === 'darwin' ? 'macOS' : 'Linux');
93
- await use({ name, version: os.release() });
94
- },
95
- serenity: async ({ crew, cueTimeout, interactionTimeout, platform }, use, info) => {
96
- const domainEventBuffer = new reporter_1.DomainEventBuffer();
97
- core_1.serenity.configure({
98
- diffFormatter: new core_1.AnsiDiffFormatter(),
99
- cueTimeout: asDuration(cueTimeout),
100
- interactionTimeout: asDuration(interactionTimeout),
101
- crew: [
102
- ...crew,
103
- domainEventBuffer,
104
- new reporter_1.PlaywrightStepReporter(info),
105
- ],
106
- });
107
- core_1.serenity.announce(new events_1.SceneTagged(core_1.serenity.currentSceneId(), new model_1.PlatformTag(platform.name, platform.version), core_1.serenity.currentTime()));
108
- await use(core_1.serenity);
109
- const serialisedEvents = [];
110
- for (const event of domainEventBuffer.flush()) {
111
- serialisedEvents.push({
112
- type: event.constructor.name,
113
- value: event.toJSON(),
45
+ actors: [
46
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
47
+ async ({ extraContextOptions, baseURL, extraHTTPHeaders, page, proxy }, use) => {
48
+ await use(core_1.Cast.where(actor => actor.whoCan(playwright_1.BrowseTheWebWithPlaywright.usingPage(page, extraContextOptions), core_1.TakeNotes.usingAnEmptyNotepad(), rest_1.CallAnApi.using({
49
+ baseURL: baseURL,
50
+ headers: extraHTTPHeaders,
51
+ proxy: proxy && proxy?.server
52
+ ? asProxyConfig(proxy)
53
+ : undefined,
54
+ }))));
55
+ },
56
+ { option: true },
57
+ ],
58
+ // eslint-disable-next-line no-empty-pattern,@typescript-eslint/explicit-module-boundary-types
59
+ platform: [async ({}, use) => {
60
+ const platform = node_os_1.default.platform();
61
+ // https://nodejs.org/api/process.html#process_process_platform
62
+ const name = platform === 'win32'
63
+ ? 'Windows'
64
+ : (platform === 'darwin' ? 'macOS' : 'Linux');
65
+ await use({ name, version: node_os_1.default.release() });
66
+ }, { scope: 'worker' }],
67
+ diffFormatterInternal: [
68
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,no-empty-pattern
69
+ async ({}, use) => {
70
+ const diffFormatter = new core_1.AnsiDiffFormatter();
71
+ await use(diffFormatter);
72
+ },
73
+ { scope: 'worker', box: true }
74
+ ],
75
+ sceneIdFactoryInternal: [
76
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,no-empty-pattern
77
+ async ({}, use) => {
78
+ await use(new PlaywrightTestSceneIdFactory_1.PlaywrightTestSceneIdFactory());
79
+ },
80
+ { scope: 'worker', box: true },
81
+ ],
82
+ serenity: [
83
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
84
+ async ({ playwright, sceneIdFactoryInternal }, use, workerInfo) => {
85
+ const clock = new core_1.Clock();
86
+ const cwd = node_process_1.default.cwd();
87
+ const serenity = new core_1.Serenity(clock, cwd, sceneIdFactoryInternal);
88
+ const serenitySelectorEngines = new playwright_1.SerenitySelectorEngines();
89
+ await serenitySelectorEngines.ensureRegisteredWith(playwright.selectors);
90
+ await use(serenity);
91
+ },
92
+ { scope: 'worker', box: true }
93
+ ],
94
+ eventStreamWriterInternal: [
95
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,no-empty-pattern
96
+ async ({}, use, workerInfo) => {
97
+ const serenityOutputDirectory = node_path_1.default.join(workerInfo.project.outputDir, 'serenity');
98
+ const eventStreamWriter = new WorkerEventStreamWriter_1.WorkerEventStreamWriter(serenityOutputDirectory, workerInfo);
99
+ await use(eventStreamWriter);
100
+ },
101
+ { scope: 'worker', box: true },
102
+ ],
103
+ configureWorkerInternal: [
104
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
105
+ async ({ diffFormatterInternal, eventStreamWriterInternal, sceneIdFactoryInternal, serenity, browser }, use, info) => {
106
+ serenity.configure({
107
+ actors: core_1.Cast.where(actor => actor.whoCan(playwright_1.BrowseTheWebWithPlaywright.using(browser), core_1.TakeNotes.usingAnEmptyNotepad())),
108
+ crew: [
109
+ eventStreamWriterInternal,
110
+ ],
111
+ diffFormatter: diffFormatterInternal,
114
112
  });
115
- if (event instanceof events_1.SceneTagged) {
116
- exports.test.info().annotations.push({ type: event.tag.type, description: event.tag.name });
113
+ sceneIdFactoryInternal.setTestId(`worker-${info.workerIndex}`);
114
+ const workerBeforeAllSceneId = serenity.assignNewSceneId();
115
+ await use(void 0);
116
+ await eventStreamWriterInternal.persistAll(workerBeforeAllSceneId);
117
+ },
118
+ { scope: 'worker', auto: true, box: true },
119
+ ],
120
+ configureScenarioInternal: [
121
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
122
+ async ({ actors, browser, browserName, crew, cueTimeout, diffFormatterInternal, eventStreamWriterInternal, interactionTimeout, platform, sceneIdFactoryInternal, serenity }, use, info) => {
123
+ serenity.configure({
124
+ actors: asCast(actors),
125
+ diffFormatter: diffFormatterInternal,
126
+ cueTimeout: asDuration(cueTimeout),
127
+ interactionTimeout: asDuration(interactionTimeout),
128
+ crew: [
129
+ ...crew,
130
+ new reporter_1.PlaywrightStepReporter(info),
131
+ ],
132
+ });
133
+ const playwrightSceneId = events_2.PlaywrightSceneId.from(info.project.name, { id: info.testId, repeatEachIndex: info.repeatEachIndex }, { retry: info.retry });
134
+ sceneIdFactoryInternal.setTestId(playwrightSceneId.value);
135
+ const sceneId = serenity.assignNewSceneId();
136
+ serenity.announce(new events_1.SceneTagged(sceneId, new model_1.PlatformTag(platform.name, platform.version), serenity.currentTime()), new events_1.SceneTagged(sceneId, new model_1.BrowserTag(browserName, browser.version()), serenity.currentTime()));
137
+ await use(void 0);
138
+ try {
139
+ serenity.announce(new events_1.SceneFinishes(sceneId, serenity.currentTime()));
140
+ await serenity.waitForNextCue();
117
141
  }
118
- }
119
- info.attach('serenity-js-events.json', {
120
- contentType: reporter_1.SERENITY_JS_DOMAIN_EVENTS_ATTACHMENT_CONTENT_TYPE,
121
- body: Buffer.from(JSON.stringify(serialisedEvents), 'utf8'),
122
- });
123
- },
124
- actorCalled: async ({ serenity, actors, browser, browserName, contextOptions }, use) => {
125
- const sceneId = serenity.currentSceneId();
126
- serenity.engage(asCast(actors));
127
- const actorCalled = (name) => {
128
- const actor = serenity.theActorCalled(name);
129
- return actor.whoCan(new PerformActivitiesAsPlaywrightSteps_1.PerformActivitiesAsPlaywrightSteps(actor, serenity, exports.it));
130
- };
131
- serenity.announce(new events_1.SceneTagged(sceneId, new model_1.BrowserTag(browserName, browser.version()), serenity.currentTime()));
132
- await use(actorCalled);
133
- serenity.announce(new events_1.SceneFinishes(sceneId, serenity.currentTime()));
134
- await core_1.serenity.waitForNextCue();
135
- },
142
+ finally {
143
+ await eventStreamWriterInternal.persist(playwrightSceneId.value);
144
+ }
145
+ },
146
+ { auto: true, box: true, }
147
+ ],
148
+ actorCalled: [
149
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
150
+ async ({ serenity }, use) => {
151
+ const actorCalled = (name) => {
152
+ const actor = serenity.theActorCalled(name);
153
+ return actor.whoCan(new PerformActivitiesAsPlaywrightSteps_1.PerformActivitiesAsPlaywrightSteps(actor, serenity, exports.it));
154
+ };
155
+ await use(actorCalled);
156
+ },
157
+ { scope: 'worker' },
158
+ ],
136
159
  actor: async ({ actorCalled, defaultActorName }, use) => {
137
160
  await use(actorCalled(defaultActorName));
138
161
  },
@@ -409,8 +432,7 @@ exports.useFixtures = api.useFixtures;
409
432
  * @param baseTest
410
433
  */
411
434
  function useBase(baseTest) {
412
- return createTestApi(baseTest)
413
- .useFixtures(exports.fixtures);
435
+ return createTestApi(baseTest).useFixtures(exports.fixtures);
414
436
  }
415
437
  /**
416
438
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../src/api/test-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../src/api/test-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type TestCase, type TestResult } from '@playwright/test/reporter';
2
+ import { type DomainEvent, SceneFinished } from '@serenity-js/core/lib/events';
3
+ import { Path } from '@serenity-js/core/lib/io';
4
+ import type { Outcome } from '@serenity-js/core/lib/model';
5
+ export declare class EventFactory {
6
+ private requirementsHierarchy;
7
+ constructor(rootDirectory: Path);
8
+ createSceneStartEvents(test: TestCase, result: TestResult): DomainEvent[];
9
+ private createSceneSequenceEvents;
10
+ createSceneFinishedEvent(test: TestCase, result: TestResult, scenarioOutcome: Outcome): SceneFinished;
11
+ private uniqueTags;
12
+ private scenarioDetailsFrom;
13
+ private scenarioMetadataFrom;
14
+ private tagsFrom;
15
+ }
16
+ //# sourceMappingURL=EventFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventFactory.d.ts","sourceRoot":"","sources":["../../src/events/EventFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EACH,KAAK,WAAW,EAChB,aAAa,EAOhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAkC,IAAI,EAAyB,MAAM,0BAA0B,CAAC;AACvG,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,6BAA6B,CAAC;AAahE,qBAAa,YAAY;IACrB,OAAO,CAAC,qBAAqB,CAAwB;gBAEzC,aAAa,EAAE,IAAI;IAM/B,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE;IA4CzE,OAAO,CAAC,yBAAyB;IAgCjC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,GAAG,aAAa;IAerG,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,QAAQ;CAwBnB"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventFactory = void 0;
4
+ const core_1 = require("@serenity-js/core");
5
+ const events_1 = require("@serenity-js/core/lib/events");
6
+ const io_1 = require("@serenity-js/core/lib/io");
7
+ const model_1 = require("@serenity-js/core/lib/model");
8
+ const PlaywrightSceneId_1 = require("./PlaywrightSceneId");
9
+ class EventFactory {
10
+ requirementsHierarchy;
11
+ constructor(rootDirectory) {
12
+ this.requirementsHierarchy = new io_1.RequirementsHierarchy(new io_1.FileSystem(rootDirectory));
13
+ }
14
+ createSceneStartEvents(test, result) {
15
+ const sceneId = PlaywrightSceneId_1.PlaywrightSceneId.from(test.parent.project()?.name, test, result);
16
+ const startTime = new core_1.Timestamp(result.startTime);
17
+ const project = test.parent.project();
18
+ const projectName = project?.name ?? '';
19
+ const scenarioDetails = this.scenarioDetailsFrom(test);
20
+ const allTags = this.tagsFrom(scenarioDetails, test.tags);
21
+ if (projectName) {
22
+ allTags.push(new model_1.ProjectTag(projectName));
23
+ }
24
+ const events = [];
25
+ if (test.retries > 0) {
26
+ events.push(...this.createSceneSequenceEvents(sceneId, startTime, scenarioDetails, test, result));
27
+ }
28
+ events.push(new events_1.SceneStarts(sceneId, scenarioDetails, startTime), new events_1.TestRunnerDetected(sceneId, new model_1.Name('Playwright'), startTime), ...allTags.map(tag => new events_1.SceneTagged(sceneId, tag, startTime)));
29
+ return events;
30
+ }
31
+ createSceneSequenceEvents(sceneId, startTime, scenarioDetails, test, result) {
32
+ const attempt = result.retry + 1;
33
+ const parameters = {
34
+ Retries: `Attempt #${attempt}`
35
+ };
36
+ return [
37
+ new events_1.SceneSequenceDetected(sceneId, scenarioDetails, startTime),
38
+ new events_1.SceneTemplateDetected(sceneId, new model_1.Description(''), startTime),
39
+ new events_1.SceneParametersDetected(sceneId, scenarioDetails, new model_1.ScenarioParameters(new model_1.Name(''), new model_1.Description(`Max retries: ${test.retries}`), parameters)),
40
+ ];
41
+ }
42
+ createSceneFinishedEvent(test, result, scenarioOutcome) {
43
+ const sceneId = PlaywrightSceneId_1.PlaywrightSceneId.from(test.parent.project()?.name, test, result);
44
+ const duration = core_1.Duration.ofMilliseconds(result.duration);
45
+ const sceneEndTime = new core_1.Timestamp(result.startTime).plus(duration);
46
+ const scenarioDetails = this.scenarioDetailsFrom(test);
47
+ return new events_1.SceneFinished(sceneId, scenarioDetails, scenarioOutcome, sceneEndTime);
48
+ }
49
+ uniqueTags(...tags) {
50
+ const uniqueTags = {};
51
+ for (const tag of tags) {
52
+ const { name, type } = tag.toJSON();
53
+ const key = `${name} ${type}`;
54
+ uniqueTags[key] = tag;
55
+ }
56
+ return Object.values(uniqueTags);
57
+ }
58
+ scenarioDetailsFrom(test) {
59
+ const { featureName, name } = this.scenarioMetadataFrom(test);
60
+ const { file, line, column } = test.location;
61
+ const nameWithoutTags = model_1.Tags.stripFrom(name);
62
+ const repetitionSuffix = test.repeatEachIndex
63
+ ? ` - Repetition ${test.repeatEachIndex}`
64
+ : '';
65
+ const scenarioName = `${nameWithoutTags}${repetitionSuffix}`;
66
+ return new model_1.ScenarioDetails(new model_1.Name(scenarioName), new model_1.Category(model_1.Tags.stripFrom(featureName)), new io_1.FileSystemLocation(io_1.Path.from(file), line, column));
67
+ }
68
+ scenarioMetadataFrom(test) {
69
+ const [root_, browserName_, fileName, describeOrItBlockTitle, ...nestedTitles] = test.titlePath();
70
+ const scenarioName = nestedTitles.join(' ').trim();
71
+ const name = scenarioName || describeOrItBlockTitle;
72
+ const featureName = scenarioName ? describeOrItBlockTitle : fileName;
73
+ return {
74
+ featureName,
75
+ name,
76
+ };
77
+ }
78
+ tagsFrom(scenarioDetails, extraTagValues) {
79
+ const tagsFromRequirementsHierarchy = this.requirementsHierarchy.requirementTagsFor(scenarioDetails.location.path, scenarioDetails.category.value);
80
+ const tagsFromTitle = model_1.Tags.from([
81
+ scenarioDetails.category.value,
82
+ scenarioDetails.name.value,
83
+ ].join(' '));
84
+ const extraTags = extraTagValues
85
+ .filter(Boolean)
86
+ .flatMap(tagValue => model_1.Tags.from(tagValue));
87
+ return [
88
+ ...tagsFromRequirementsHierarchy,
89
+ ...this.uniqueTags(...tagsFromTitle, ...extraTags)
90
+ ];
91
+ }
92
+ }
93
+ exports.EventFactory = EventFactory;
94
+ //# sourceMappingURL=EventFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventFactory.js","sourceRoot":"","sources":["../../src/events/EventFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { FullProject, TestCase, TestResult } from '@playwright/test/reporter';
2
+ import { CorrelationId } from '@serenity-js/core/lib/model';
3
+ export declare class PlaywrightSceneId extends CorrelationId {
4
+ static fromJSON(v: string): CorrelationId;
5
+ static from(projectName: FullProject['name'], test: Pick<TestCase, 'id' | 'repeatEachIndex'>, result: Pick<TestResult, 'retry'>): CorrelationId;
6
+ }
7
+ //# sourceMappingURL=PlaywrightSceneId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaywrightSceneId.d.ts","sourceRoot":"","sources":["../../src/events/PlaywrightSceneId.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,aAAa;WAEhC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa;IAIlD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,aAAa;CAQlJ"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaywrightSceneId = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const model_1 = require("@serenity-js/core/lib/model");
6
+ class PlaywrightSceneId extends model_1.CorrelationId {
7
+ static fromJSON(v) {
8
+ return new PlaywrightSceneId(v);
9
+ }
10
+ static from(projectName, test, result) {
11
+ const projectId = (0, node_crypto_1.createHash)('sha1')
12
+ .update(projectName)
13
+ .digest('hex')
14
+ .slice(0, 10);
15
+ return new PlaywrightSceneId(`${test.id}-${projectId}-${test.repeatEachIndex}-${result.retry}`);
16
+ }
17
+ }
18
+ exports.PlaywrightSceneId = PlaywrightSceneId;
19
+ //# sourceMappingURL=PlaywrightSceneId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaywrightSceneId.js","sourceRoot":"","sources":["../../src/events/PlaywrightSceneId.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC,uDAA4D;AAE5D,MAAa,iBAAkB,SAAQ,qBAAa;IAEhD,MAAM,CAAU,QAAQ,CAAC,CAAS;QAC9B,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,WAAgC,EAAE,IAA8C,EAAE,MAAiC;QAC3H,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC;aAC/B,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElB,OAAO,IAAI,iBAAiB,CAAC,GAAI,IAAI,CAAC,EAAG,IAAK,SAAU,IAAK,IAAI,CAAC,eAAgB,IAAK,MAAM,CAAC,KAAM,EAAE,CAAC,CAAC;IAC5G,CAAC;CACJ;AAdD,8CAcC"}
@@ -0,0 +1,3 @@
1
+ export * from './EventFactory';
2
+ export * from './PlaywrightSceneId';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./EventFactory"), exports);
18
+ __exportStar(require("./PlaywrightSceneId"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,sDAAoC"}
@@ -0,0 +1,7 @@
1
+ import type { TestError } from '@playwright/test/reporter';
2
+ export declare class PlaywrightErrorParser {
3
+ private static ascii;
4
+ errorFrom(testError: TestError): Error;
5
+ private static stripAsciiFrom;
6
+ }
7
+ //# sourceMappingURL=PlaywrightErrorParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaywrightErrorParser.d.ts","sourceRoot":"","sources":["../../src/reporter/PlaywrightErrorParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAGlB;IAEK,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK;IAuB7C,OAAO,CAAC,MAAM,CAAC,cAAc;CAGhC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaywrightErrorParser = void 0;
4
+ class PlaywrightErrorParser {
5
+ static ascii = new RegExp('[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))', // eslint-disable-line no-control-regex
6
+ 'g');
7
+ errorFrom(testError) {
8
+ const message = testError.message && PlaywrightErrorParser.stripAsciiFrom(testError.message);
9
+ let stack = testError.stack && PlaywrightErrorParser.stripAsciiFrom(testError.stack);
10
+ // TODO: Do I need to process it?
11
+ // const value = testError.value;
12
+ const prologue = `Error: ${message}`;
13
+ if (stack && message && stack.startsWith(prologue)) {
14
+ stack = stack.slice(prologue.length);
15
+ }
16
+ if (testError.cause) {
17
+ stack += `\nCaused by: ${this.errorFrom(testError.cause).stack}`;
18
+ }
19
+ const error = new Error(message);
20
+ error.stack = stack;
21
+ return error;
22
+ }
23
+ static stripAsciiFrom(text) {
24
+ return text.replace(this.ascii, '');
25
+ }
26
+ }
27
+ exports.PlaywrightErrorParser = PlaywrightErrorParser;
28
+ //# sourceMappingURL=PlaywrightErrorParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaywrightErrorParser.js","sourceRoot":"","sources":["../../src/reporter/PlaywrightErrorParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IACtB,MAAM,CAAC,KAAK,GAAG,IAAI,MAAM,CAC7B,sJAAsJ,EAAE,uCAAuC;IAC/L,GAAG,CACN,CAAC;IAEK,SAAS,CAAC,SAAoB;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,qBAAqB,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE7F,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,qBAAqB,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErF,iCAAiC;QACjC,qCAAqC;QAErC,MAAM,QAAQ,GAAG,UAAW,OAAQ,EAAE,CAAC;QACvC,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,IAAI,gBAAiB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAM,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;;AA/BL,sDAgCC"}
@@ -0,0 +1,25 @@
1
+ import { type FullConfig } from '@playwright/test';
2
+ import { type TestCase, type TestResult } from '@playwright/test/reporter';
3
+ import { type DomainEvent } from '@serenity-js/core/lib/events';
4
+ export declare class PlaywrightEventBuffer {
5
+ private readonly errorParser;
6
+ private readonly eventStreamReader;
7
+ private eventFactory;
8
+ private readonly events;
9
+ private readonly deferredSceneFinishedEvents;
10
+ configure(config: Pick<FullConfig, 'rootDir'>): void;
11
+ appendTestStart(test: TestCase, result: TestResult): void;
12
+ appendRetryableSceneEvents(test: TestCase, result: TestResult): void;
13
+ deferAppendingSceneFinishedEvent(test: TestCase, result: TestResult): void;
14
+ private determineScenarioOutcome;
15
+ appendCrashedWorkerEvents(test: TestCase, result: TestResult): void;
16
+ appendSceneEvents(test: TestCase, result: TestResult): void;
17
+ private readEventStream;
18
+ appendSceneFinishedEvent(test: TestCase, result: TestResult): void;
19
+ flush(test: TestCase, result: TestResult): DomainEvent[];
20
+ flushAllDeferred(): DomainEvent[];
21
+ private determineWorstInteractionOutcome;
22
+ private outcomeFrom;
23
+ private sceneId;
24
+ }
25
+ //# sourceMappingURL=PlaywrightEventBuffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaywrightEventBuffer.d.ts","sourceRoot":"","sources":["../../src/reporter/PlaywrightEventBuffer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EACH,KAAK,WAAW,EAKnB,MAAM,8BAA8B,CAAC;AAkBtC,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;IAEnE,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAIvC;IAEL,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,IAAI;IAIpD,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAOzD,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAmBpE,gCAAgC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAW1E,OAAO,CAAC,wBAAwB;IAahC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAanE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAO3D,OAAO,CAAC,eAAe;IAyBvB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAalE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE;IAaxD,gBAAgB,IAAI,WAAW,EAAE;IA6CjC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,OAAO;CAGlB"}