@qavajs/playwright-runner-adapter 2.1.0 → 2.3.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/CHANGELOG.md CHANGED
@@ -14,6 +14,13 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
14
14
 
15
15
  :microscope: - experimental
16
16
 
17
+ ## [2.3.0]
18
+ - :rocket: simplified adapter by moving hook into test
19
+
20
+ ## [2.2.0]
21
+ - :rocket: added `request` into default fixture import
22
+ - :beetle: fixed `attach` method type
23
+
17
24
  ## [2.1.0]
18
25
  - :rocket: made declaration of beforeAll/afterAll hooks optional to enable pure parallelism
19
26
 
@@ -7,7 +7,7 @@ export declare class TestWorld {
7
7
  attach: (data: any, details?: {
8
8
  fileName?: string;
9
9
  mediaType: string;
10
- }) => void;
10
+ }) => Promise<void>;
11
11
  parameters: string;
12
12
  config: any;
13
13
  supportCodeLibrary: any;
@@ -18,6 +18,7 @@ class TestWorld {
18
18
  this.attach = options.attach;
19
19
  this.parameters = options.parameters;
20
20
  this.supportCodeLibrary = options.supportCodeLibrary;
21
+ this.config = options.config;
21
22
  }
22
23
  async executeStep(text, extraParam) {
23
24
  const steps = this.supportCodeLibrary.stepDefinitions.filter((s) => s.matchesStepName(text));
@@ -45,10 +46,11 @@ class PlaywrightWorld extends TestWorld {
45
46
  browser;
46
47
  browserName;
47
48
  request;
48
- init = ({ browser, context, page }) => {
49
+ init = ({ browser, context, page, request }) => {
49
50
  this.browser = browser;
50
51
  this.context = context;
51
52
  this.page = page;
53
+ this.request = request;
52
54
  };
53
55
  }
54
56
  exports.PlaywrightWorld = PlaywrightWorld;
@@ -1 +1 @@
1
- {"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAAkG;AAElG;;GAEG;AACH,MAAa,SAAS;IAClB,GAAG,CAAuB;IAC1B,MAAM,CAA2E;IACjF,UAAU,CAAU;IACpB,MAAM,CAAM;IACZ,kBAAkB,CAAO;IACzB,IAAI,GAAG,WAAI,CAAC;IACZ,MAAM,GAAG,aAAM,CAAC;IAEhB,YAAY,OAAY;QACpB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAY,IAAY,EAAE,UAAgB;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,qCAAqC,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAS,CAAC;QAChC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAS,CAAC,CAAC;QAClG,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;CACJ;AA5BD,8BA4BC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,SAAS;IAC1C,IAAI,CAAQ;IACZ,OAAO,CAAkB;IACzB,OAAO,CAAW;IAClB,WAAW,CAAU;IACrB,OAAO,CAAqB;IAE5B,IAAI,GAAiC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAA6D,EAAE,EAAE;QAC3H,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC,CAAA;CACJ;AAZD,0CAYC"}
1
+ {"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAAkG;AAElG;;GAEG;AACH,MAAa,SAAS;IAClB,GAAG,CAAuB;IAC1B,MAAM,CAAoF;IAC1F,UAAU,CAAU;IACpB,MAAM,CAAM;IACZ,kBAAkB,CAAO;IACzB,IAAI,GAAG,WAAI,CAAC;IACZ,MAAM,GAAG,aAAM,CAAC;IAEhB,YAAY,OAAY;QACpB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAY,IAAY,EAAE,UAAgB;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,qCAAqC,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAS,CAAC;QAChC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAS,CAAC,CAAC;QAClG,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;CACJ;AA7BD,8BA6BC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,SAAS;IAC1C,IAAI,CAAQ;IACZ,OAAO,CAAkB;IACzB,OAAO,CAAW;IAClB,WAAW,CAAU;IACrB,OAAO,CAAqB;IAE5B,IAAI,GAAiC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAyF,EAAE,EAAE;QAChK,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC,CAAA;CACJ;AAbD,0CAaC"}
@@ -4,7 +4,6 @@ exports.defineConfig = defineConfig;
4
4
  const loader_1 = require("./loader");
5
5
  // Constants
6
6
  const ANNOTATION_TYPES = {
7
- TEST_ID: 'testId',
8
7
  NAME: 'name',
9
8
  URI: 'uri',
10
9
  TAGS: 'tags'
@@ -31,31 +30,6 @@ const STEP_ARGUMENT_LABELS = {
31
30
  DOC_STRING: ' [MultiLine]',
32
31
  DATA_TABLE: ' [DataTable]'
33
32
  };
34
- /**
35
- * Extracts the test ID from TestInfo annotations
36
- */
37
- function getTestId(testInfo) {
38
- const annotation = testInfo.annotations
39
- .find((annotation) => annotation.type === ANNOTATION_TYPES.TEST_ID);
40
- if (!annotation?.description) {
41
- throw new Error('Test ID annotation not found');
42
- }
43
- return annotation.description;
44
- }
45
- /**
46
- * Converts TestInfo to HookResult format
47
- */
48
- function getResult(testInfo) {
49
- const message = testInfo.errors.length > 0
50
- ? testInfo.errors.map((err) => err.message).join('\n')
51
- : undefined;
52
- return {
53
- duration: testInfo.duration,
54
- message,
55
- status: testInfo.status?.toUpperCase() ?? 'UNKNOWN',
56
- exception: testInfo.error
57
- };
58
- }
59
33
  /**
60
34
  * Creates a location object from step definition
61
35
  */
@@ -80,7 +54,7 @@ function log(data) {
80
54
  function attach(body, details) {
81
55
  const fileName = details?.fileName ?? DEFAULT_VALUES.ATTACHMENT_FILENAME;
82
56
  const contentType = details?.mediaType ?? DEFAULT_VALUES.CONTENT_TYPE;
83
- this.test.info().attach(fileName, { body, contentType });
57
+ return this.test.info().attach(fileName, { body, contentType });
84
58
  }
85
59
  /**
86
60
  * Generates a human-readable step name with argument type indicator
@@ -94,6 +68,85 @@ function stepName(pickleStep) {
94
68
  }
95
69
  return step;
96
70
  }
71
+ function createTestExecutionResult() {
72
+ return {
73
+ status: 'passed',
74
+ start: Date.now()
75
+ };
76
+ }
77
+ function createHookResult(result) {
78
+ return {
79
+ duration: (Date.now() - result.start),
80
+ message: result.error?.message,
81
+ status: result.status.toUpperCase(),
82
+ exception: result.error
83
+ };
84
+ }
85
+ function createScenarioAnnotation(testCase) {
86
+ const tag = [...new Set(testCase.tags.map((item) => item.name))];
87
+ return [
88
+ { type: ANNOTATION_TYPES.NAME, description: testCase.name },
89
+ { type: ANNOTATION_TYPES.URI, description: testCase.uri },
90
+ { type: ANNOTATION_TYPES.TAGS, description: JSON.stringify(tag) }
91
+ ];
92
+ }
93
+ function createScenarioTags(testCase) {
94
+ return [...new Set(testCase.tags.map((item) => item.name))];
95
+ }
96
+ function createCaseHookPayload(feature, testCase) {
97
+ return {
98
+ gherkinDocument: feature.gherkinDocument,
99
+ pickle: testCase
100
+ };
101
+ }
102
+ async function executeCaseHooks(test, hooks, world, testCase, defaultHookName, createPayload) {
103
+ for (const hook of hooks) {
104
+ if (!hook.appliesToTestCase(testCase)) {
105
+ continue;
106
+ }
107
+ const hookName = hook.name ?? defaultHookName;
108
+ const location = getLine(hook);
109
+ await test.step(hookName, () => hook.code.apply(world, [createPayload(hook)]), location);
110
+ }
111
+ }
112
+ async function executeStepHooks(test, hooks, world, testCase, hookName, createPayload) {
113
+ for (const hook of hooks) {
114
+ if (!hook.appliesToTestCase(testCase)) {
115
+ continue;
116
+ }
117
+ const location = getLine(hook);
118
+ await test.step(hookName, () => hook.code.apply(world, [createPayload(hook)]), location);
119
+ }
120
+ }
121
+ function createStepHookParameter(feature, testCase, pickleStep, result) {
122
+ return {
123
+ gherkinDocument: feature.gherkinDocument,
124
+ testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
125
+ testStepId: DEFAULT_VALUES.TEST_STEP_ID,
126
+ pickle: testCase,
127
+ pickleStep,
128
+ result: createHookResult(result)
129
+ };
130
+ }
131
+ function createCaseHookParameter(feature, testCase, result) {
132
+ return {
133
+ gherkinDocument: feature.gherkinDocument,
134
+ testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
135
+ pickle: testCase,
136
+ result: createHookResult(result)
137
+ };
138
+ }
139
+ function findSingleStepDefinition(supportCodeLibrary, pickleStep) {
140
+ const matchingSteps = supportCodeLibrary.stepDefinitions
141
+ .filter((stepDefinition) => stepDefinition.matchesStepName(pickleStep.text));
142
+ if (matchingSteps.length === 0) {
143
+ throw new Error(`Step '${pickleStep.text}' is not defined`);
144
+ }
145
+ if (matchingSteps.length > 1) {
146
+ throw new Error(`Step '${pickleStep.text}' matches multiple step definitions`);
147
+ }
148
+ return matchingSteps[0];
149
+ }
97
150
  /**
98
151
  * Executes before all hooks
99
152
  */
@@ -120,18 +173,6 @@ function executeAfterAllHooks(test, hooks) {
120
173
  }
121
174
  });
122
175
  }
123
- /**
124
- * Creates test annotations from test case data
125
- */
126
- function createTestAnnotations(testCase) {
127
- const tags = [...new Set(testCase.tags.map((tag) => tag.name))];
128
- return [
129
- { type: ANNOTATION_TYPES.NAME, description: testCase.name },
130
- { type: ANNOTATION_TYPES.URI, description: testCase.uri },
131
- { type: ANNOTATION_TYPES.TEST_ID, description: testCase.id },
132
- { type: ANNOTATION_TYPES.TAGS, description: JSON.stringify(tags) }
133
- ];
134
- }
135
176
  /**
136
177
  * Main configuration function that sets up Cucumber adapter for Playwright
137
178
  */
@@ -140,138 +181,63 @@ function defineConfig(config) {
140
181
  const fixture = new supportCodeLibrary.World({ config });
141
182
  const test = fixture.test;
142
183
  executeBeforeAllHooks(test, supportCodeLibrary.beforeTestRunHookDefinitions);
143
- const worlds = new Map();
144
184
  for (const feature of features) {
145
185
  const tests = feature.tests;
146
- test.describe(feature.feature, async () => {
147
- /**
148
- * Factory function to create and register world instances
149
- */
150
- const worldFactory = (fixtures) => {
151
- const world = new supportCodeLibrary.World({
152
- log,
153
- attach,
154
- supportCodeLibrary,
155
- config
156
- });
157
- world.init(fixtures);
158
- worlds.set(getTestId(test.info()), world);
159
- };
160
- worldFactory.toString = () => fixture.init.toString();
161
- test.beforeEach(HOOK_NAMES.WORLD, worldFactory);
162
- test.beforeEach(HOOK_NAMES.BEFORE_HOOKS, async () => {
163
- const testId = getTestId(test.info());
164
- const world = worlds.get(testId);
165
- const testCase = tests.find((t) => t.id === testId);
166
- if (!testCase) {
167
- throw new Error(`Test case with ID ${testId} not found`);
168
- }
169
- for (const beforeHook of supportCodeLibrary.beforeTestCaseHookDefinitions) {
170
- if (beforeHook.appliesToTestCase(testCase)) {
171
- const hookName = beforeHook.name ?? HOOK_NAMES.BEFORE;
172
- const location = getLine(beforeHook);
173
- await test.step(hookName, () => beforeHook.code.apply(world, [{
174
- gherkinDocument: feature.gherkinDocument,
175
- pickle: testCase
176
- }]), location);
177
- }
178
- }
179
- });
186
+ test.describe(feature.feature, () => {
180
187
  for (const testCase of tests) {
181
- const tag = [...new Set(testCase.tags.map((tag) => tag.name))];
182
- const annotation = createTestAnnotations(testCase);
183
- test(testCase.name, { tag, annotation }, async () => {
184
- const world = worlds.get(testCase.id);
185
- const result = { status: 'passed' };
186
- for (const pickleStep of testCase.steps) {
187
- if (result.status !== 'passed') {
188
- break;
189
- }
190
- const matchingSteps = supportCodeLibrary.stepDefinitions
191
- .filter((stepDef) => stepDef.matchesStepName(pickleStep.text));
192
- if (matchingSteps.length === 0) {
193
- throw new Error(`Step definition not found for: "${pickleStep.text}"`);
194
- }
195
- if (matchingSteps.length > 1) {
196
- throw new Error(`Ambiguous step "${pickleStep.text}" matches ${matchingSteps.length} definitions`);
197
- }
198
- const [step] = matchingSteps;
199
- const location = getLine(step);
200
- await test.step(stepName(pickleStep), async () => {
201
- for (const beforeStep of supportCodeLibrary.beforeTestStepHookDefinitions) {
202
- if (beforeStep.appliesToTestCase(testCase)) {
203
- const location = getLine(beforeStep);
204
- await test.step(HOOK_NAMES.BEFORE_STEP, () => beforeStep.code.apply(world, [{
205
- gherkinDocument: feature.gherkinDocument,
206
- pickle: testCase,
207
- pickleStep
208
- }]), location);
209
- }
210
- }
211
- const { parameters } = await step.getInvocationParameters({
212
- step: {
213
- text: pickleStep.text,
214
- argument: pickleStep.argument
215
- },
216
- world
217
- });
218
- try {
219
- await step.code.apply(world, parameters);
188
+ const tag = createScenarioTags(testCase);
189
+ const annotation = createScenarioAnnotation(testCase);
190
+ const testBody = async (fixtures) => {
191
+ const world = new supportCodeLibrary.World({
192
+ log,
193
+ attach,
194
+ supportCodeLibrary,
195
+ config
196
+ });
197
+ world.init(fixtures);
198
+ const result = createTestExecutionResult();
199
+ await executeCaseHooks(test, supportCodeLibrary.beforeTestCaseHookDefinitions, world, testCase, HOOK_NAMES.BEFORE, () => createCaseHookPayload(feature, testCase));
200
+ try {
201
+ for (const pickleStep of testCase.steps) {
202
+ if (result.status !== 'passed') {
203
+ break;
220
204
  }
221
- catch (err) {
222
- result.status = 'failed';
223
- result.error = err;
224
- throw err;
225
- }
226
- finally {
227
- for (const afterStep of supportCodeLibrary.afterTestStepHookDefinitions) {
228
- if (afterStep.appliesToTestCase(testCase)) {
229
- const location = getLine(afterStep);
230
- await test.step(HOOK_NAMES.AFTER_STEP, () => afterStep.code.apply(world, [{
231
- gherkinDocument: feature.gherkinDocument,
232
- testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
233
- testStepId: DEFAULT_VALUES.TEST_STEP_ID,
234
- pickle: testCase,
235
- pickleStep,
236
- result: {
237
- duration: 0,
238
- message: result.error?.message,
239
- status: result.status.toUpperCase(),
240
- exception: result.error
241
- }
242
- }]), location);
243
- }
205
+ const step = findSingleStepDefinition(supportCodeLibrary, pickleStep);
206
+ const location = getLine(step);
207
+ await test.step(stepName(pickleStep), async () => {
208
+ await executeStepHooks(test, supportCodeLibrary.beforeTestStepHookDefinitions, world, testCase, HOOK_NAMES.BEFORE_STEP, () => ({
209
+ gherkinDocument: feature.gherkinDocument,
210
+ pickle: testCase,
211
+ pickleStep
212
+ }));
213
+ const { parameters } = await step.getInvocationParameters({
214
+ step: {
215
+ text: pickleStep.text,
216
+ argument: pickleStep.argument
217
+ },
218
+ world
219
+ });
220
+ try {
221
+ await step.code.apply(world, parameters);
244
222
  }
245
- }
246
- }, location);
223
+ catch (err) {
224
+ result.status = 'failed';
225
+ result.error = err;
226
+ throw err;
227
+ }
228
+ finally {
229
+ await executeStepHooks(test, supportCodeLibrary.afterTestStepHookDefinitions, world, testCase, HOOK_NAMES.AFTER_STEP, () => createStepHookParameter(feature, testCase, pickleStep, result));
230
+ }
231
+ }, location);
232
+ }
247
233
  }
248
- });
249
- }
250
- test.afterEach(HOOK_NAMES.AFTER_HOOKS, async () => {
251
- const testInfo = test.info();
252
- const testId = getTestId(testInfo);
253
- const world = worlds.get(testId);
254
- const testCase = tests.find((t) => t.id === testId);
255
- if (!testCase) {
256
- throw new Error(`Test case with ID ${testId} not found`);
257
- }
258
- for (const afterHook of supportCodeLibrary.afterTestCaseHookDefinitions) {
259
- if (afterHook.appliesToTestCase(testCase)) {
260
- const hookName = afterHook.name ?? HOOK_NAMES.AFTER;
261
- const location = getLine(afterHook);
262
- await test.step(hookName, () => afterHook.code.apply(world, [{
263
- gherkinDocument: feature.gherkinDocument,
264
- testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
265
- pickle: testCase,
266
- result: getResult(testInfo)
267
- }]), location);
234
+ finally {
235
+ await executeCaseHooks(test, supportCodeLibrary.afterTestCaseHookDefinitions, world, testCase, HOOK_NAMES.AFTER, () => createCaseHookParameter(feature, testCase, result));
268
236
  }
269
- }
270
- });
271
- test.afterEach(HOOK_NAMES.WORLD, async () => {
272
- const testId = getTestId(test.info());
273
- worlds.delete(testId);
274
- });
237
+ };
238
+ testBody.toString = () => fixture.init.toString();
239
+ test(testCase.name, { tag, annotation }, testBody);
240
+ }
275
241
  });
276
242
  }
277
243
  executeAfterAllHooks(test, supportCodeLibrary.afterTestRunHookDefinitions);
@@ -1 +1 @@
1
- {"version":3,"file":"cucumberAdapter.js","sourceRoot":"","sources":["../src/cucumberAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cucumberAdapter.js","sourceRoot":"","sources":["../src/cucumberAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { APIRequestContext, Browser, BrowserContext, Page } from '@playwright/test';
2
+ /**
3
+ * Cucumber world for playwright adapter
4
+ */
5
+ export declare class TestWorld {
6
+ log: (data: any) => void;
7
+ attach: (data: any, details?: {
8
+ fileName?: string;
9
+ mediaType: string;
10
+ }) => Promise<void>;
11
+ parameters: string;
12
+ config: any;
13
+ supportCodeLibrary: any;
14
+ test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
15
+ expect: import("@playwright/test").Expect<{}>;
16
+ constructor(options: any);
17
+ executeStep(this: any, text: string, extraParam?: any): Promise<void>;
18
+ }
19
+ /**
20
+ * Cucumber Playwright world for playwright adapter
21
+ */
22
+ export declare class PlaywrightWorld extends TestWorld {
23
+ page: Page;
24
+ context: BrowserContext;
25
+ browser: Browser;
26
+ browserName: string;
27
+ request: APIRequestContext;
28
+ init: ({
29
+ [fixture: string]: any;
30
+ });
31
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaywrightWorld = exports.TestWorld = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ /**
6
+ * Cucumber world for playwright adapter
7
+ */
8
+ class TestWorld {
9
+ log;
10
+ attach;
11
+ parameters;
12
+ config;
13
+ supportCodeLibrary;
14
+ test = test_1.test;
15
+ expect = test_1.expect;
16
+ constructor(options) {
17
+ this.log = options.log;
18
+ this.attach = options.attach;
19
+ this.parameters = options.parameters;
20
+ this.supportCodeLibrary = options.supportCodeLibrary;
21
+ this.config = options.config;
22
+ }
23
+ async executeStep(text, extraParam) {
24
+ const steps = this.supportCodeLibrary.stepDefinitions.filter((s) => s.matchesStepName(text));
25
+ if (steps.length === 0)
26
+ throw new Error(`Step "${text}" is not defined`);
27
+ if (steps.length > 1)
28
+ throw new Error(`Step "${text}" matches multiple step definitions`);
29
+ const step = steps.pop();
30
+ const { parameters } = await step.getInvocationParameters({ step: { text }, world: this });
31
+ try {
32
+ await step.code.apply(this, [...parameters, extraParam]);
33
+ }
34
+ catch (err) {
35
+ throw new Error(`${text}\n${err}`);
36
+ }
37
+ }
38
+ }
39
+ exports.TestWorld = TestWorld;
40
+ /**
41
+ * Cucumber Playwright world for playwright adapter
42
+ */
43
+ class PlaywrightWorld extends TestWorld {
44
+ page;
45
+ context;
46
+ browser;
47
+ browserName;
48
+ request;
49
+ init = ({ browser, context, page, request }) => {
50
+ this.browser = browser;
51
+ this.context = context;
52
+ this.page = page;
53
+ this.request = request;
54
+ };
55
+ }
56
+ exports.PlaywrightWorld = PlaywrightWorld;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Define template step
3
+ * @param {string} scenario - multiline string with steps
4
+ * @example
5
+ * When('I click {string} and verify {string}', Template((locator, expected) => `
6
+ * I click '${locator}'
7
+ * I expect '${locator} > Value' to equal '${expected}'
8
+ * `));
9
+ */
10
+ export declare function Template(scenario: (...args: any[]) => string): (...args: string[]) => string;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Template = Template;
4
+ /**
5
+ * Define template step
6
+ * @param {string} scenario - multiline string with steps
7
+ * @example
8
+ * When('I click {string} and verify {string}', Template((locator, expected) => `
9
+ * I click '${locator}'
10
+ * I expect '${locator} > Value' to equal '${expected}'
11
+ * `));
12
+ */
13
+ function Template(scenario) {
14
+ return new Proxy(scenario, {
15
+ apply: async function (template, world, args) {
16
+ const scenario = template(...args);
17
+ const steps = scenario
18
+ .split('\n')
19
+ .map(step => step.trim())
20
+ .filter(Boolean);
21
+ for (const step of steps) {
22
+ await world.executeStep(step);
23
+ }
24
+ },
25
+ });
26
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Main configuration function that sets up Cucumber adapter for Playwright
3
+ */
4
+ export declare function defineConfig(config: any): any;