@qavajs/playwright-runner-adapter 0.7.0 → 1.0.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.
- package/CHANGELOG.md +19 -0
- package/adapter/PlaywrightWorld.js +16 -0
- package/adapter/PlaywrightWorld.js.map +1 -1
- package/adapter/{adapter.spec.js → cucumber.spec.js} +3 -2
- package/adapter/cucumber.spec.js.map +1 -0
- package/package.json +6 -6
- package/src/PlaywrightWorld.ts +15 -0
- package/src/{adapter.spec.ts → cucumber.spec.ts} +2 -1
- package/adapter/adapter.spec.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,25 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
|
|
|
10
10
|
:pencil: - chore
|
|
11
11
|
:microscope: - experimental
|
|
12
12
|
|
|
13
|
+
## [1.0.1]
|
|
14
|
+
- :pencil: updated dependencies
|
|
15
|
+
- :rocket: renamed adapter spec to cucumber.spec.ts
|
|
16
|
+
|
|
17
|
+
## [1.0.0]
|
|
18
|
+
- :rocket: added `executeStep` method to world to execute step definitions programmatically
|
|
19
|
+
```typescript
|
|
20
|
+
When('I do smth complex', async function() {
|
|
21
|
+
await this.executeStep(`I type 'username' to 'Username Input'`);
|
|
22
|
+
await this.executeStep(`I type 'password' to 'Password Input'`);
|
|
23
|
+
await this.executeStep(`I click 'Login Button'`);
|
|
24
|
+
await this.executeStep(`I fill following fields`, new DataTable([
|
|
25
|
+
[ 'Order', '123' ],
|
|
26
|
+
[ 'Delivery Location', 'New York' ]
|
|
27
|
+
]))
|
|
28
|
+
});
|
|
29
|
+
```
|
|
30
|
+
- :rocket: added reference to supportCodeLibrary to cucumber world
|
|
31
|
+
|
|
13
32
|
## [0.7.0]
|
|
14
33
|
- :rocket: added support of named hooks
|
|
15
34
|
|
|
@@ -17,6 +17,22 @@ class PlaywrightWorld {
|
|
|
17
17
|
this.log = options.log;
|
|
18
18
|
this.attach = options.attach;
|
|
19
19
|
this.parameters = options.parameters;
|
|
20
|
+
this.supportCodeLibrary = options.supportCodeLibrary;
|
|
21
|
+
}
|
|
22
|
+
async executeStep(text, extraParam) {
|
|
23
|
+
const steps = this.supportCodeLibrary.stepDefinitions.filter((s) => s.matchesStepName(text));
|
|
24
|
+
if (steps.length === 0)
|
|
25
|
+
throw new Error(`Step "${text}" is not defined`);
|
|
26
|
+
if (steps.length > 1)
|
|
27
|
+
throw new Error(`Step "${text}" matches multiple step definitions`);
|
|
28
|
+
const step = steps.pop();
|
|
29
|
+
const { parameters } = await step.getInvocationParameters({ step: { text }, world: this });
|
|
30
|
+
try {
|
|
31
|
+
await step.code.apply(this, [...parameters, extraParam]);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
throw new Error(`${text}\n${err}`);
|
|
35
|
+
}
|
|
20
36
|
}
|
|
21
37
|
}
|
|
22
38
|
exports.PlaywrightWorld = PlaywrightWorld;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAAkG;AAElG;;GAEG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAAkG;AAElG;;GAEG;AACH,MAAa,eAAe;IAaxB,YAAY,OAAY;QAJxB,SAAI,GAAG,WAAI,CAAC;QACZ,WAAM,GAAG,aAAM,CAAC;QAUhB,SAAI,GAAiC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAA6D,EAAE,EAAE;YAC3H,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC,CAAA;QAVG,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;IAQD,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;AAtCD,0CAsCC"}
|
|
@@ -23,7 +23,8 @@ for (const feature of features) {
|
|
|
23
23
|
}
|
|
24
24
|
const world = new supportCodeLibrary.World({
|
|
25
25
|
log,
|
|
26
|
-
attach
|
|
26
|
+
attach,
|
|
27
|
+
supportCodeLibrary
|
|
27
28
|
});
|
|
28
29
|
test.beforeEach(world.init);
|
|
29
30
|
for (const testCase of tests) {
|
|
@@ -104,4 +105,4 @@ for (const feature of features) {
|
|
|
104
105
|
}
|
|
105
106
|
});
|
|
106
107
|
}
|
|
107
|
-
//# sourceMappingURL=
|
|
108
|
+
//# sourceMappingURL=cucumber.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cucumber.spec.js","sourceRoot":"","sources":["../src/cucumber.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qavajs/playwright-runner-adapter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "adapter for playwright test runner",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc",
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
"author": "Alexandr Galichenko",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@cucumber/gherkin": "^
|
|
13
|
+
"@cucumber/gherkin": "^30.0.4",
|
|
14
14
|
"glob": "^11.0.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@cucumber/cucumber": "^11.
|
|
18
|
-
"@playwright/test": "^1.
|
|
19
|
-
"@types/node": "^22.
|
|
20
|
-
"typescript": "^5.
|
|
17
|
+
"@cucumber/cucumber": "^11.1.1",
|
|
18
|
+
"@playwright/test": "^1.49.1",
|
|
19
|
+
"@types/node": "^22.10.2",
|
|
20
|
+
"typescript": "^5.7.2"
|
|
21
21
|
}
|
|
22
22
|
}
|
package/src/PlaywrightWorld.ts
CHANGED
|
@@ -14,11 +14,13 @@ export class PlaywrightWorld {
|
|
|
14
14
|
parameters!: string;
|
|
15
15
|
test = test;
|
|
16
16
|
expect = expect;
|
|
17
|
+
supportCodeLibrary!: any;
|
|
17
18
|
|
|
18
19
|
constructor(options: any) {
|
|
19
20
|
this.log = options.log;
|
|
20
21
|
this.attach = options.attach;
|
|
21
22
|
this.parameters = options.parameters;
|
|
23
|
+
this.supportCodeLibrary = options.supportCodeLibrary;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
init: ({ [fixture: string]: any }) = ({ browser, context, page }: { browser: Browser, context: BrowserContext, page: Page }) => {
|
|
@@ -26,4 +28,17 @@ export class PlaywrightWorld {
|
|
|
26
28
|
this.context = context;
|
|
27
29
|
this.page = page;
|
|
28
30
|
}
|
|
31
|
+
|
|
32
|
+
async executeStep(this: any, text: string, extraParam?: any) {
|
|
33
|
+
const steps = this.supportCodeLibrary.stepDefinitions.filter((s: any) => s.matchesStepName(text));
|
|
34
|
+
if (steps.length === 0) throw new Error(`Step "${text}" is not defined`);
|
|
35
|
+
if (steps.length > 1) throw new Error(`Step "${text}" matches multiple step definitions`);
|
|
36
|
+
const step = steps.pop() as any;
|
|
37
|
+
const { parameters } = await step.getInvocationParameters({ step: { text }, world: this } as any);
|
|
38
|
+
try {
|
|
39
|
+
await step.code.apply(this, [...parameters, extraParam]);
|
|
40
|
+
} catch (err) {
|
|
41
|
+
throw new Error(`${text}\n${err}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
29
44
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.spec.js","sourceRoot":"","sources":["../src/adapter.spec.ts"],"names":[],"mappings":";;AAAA,qCAAgC;AAEhC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,IAAA,aAAI,GAAE,CAAC;AAEhD,SAAS,GAAG,CAAC,IAAS;IAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,MAAM,CAAsB,IAAS,EAAE,OAAY;;IACxD,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,YAAY,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAE1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAiB,EAAE,KAAK,IAAI,EAAE;QAChD,KAAK,MAAM,aAAa,IAAI,kBAAkB,CAAC,4BAA4B,EAAE,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC;YACvC,GAAG;YACH,MAAM;SACT,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE5B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;;gBACpC,MAAM,MAAM,GAAoC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACrE,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,6BAA6B,EAAE,CAAC;oBACxE,IAAI,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,MAAA,UAAU,CAAC,IAAI,mCAAI,QAAQ,CAAC;wBAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;4BACjC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oCAChC,MAAM,EAAE,QAAQ;iCACnB,CAAC,CAAC,CAAC;wBACR,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;wBACxC,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,6BAA6B,EAAE,CAAC;4BACxE,IAAI,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACzC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wCAChC,MAAM,EAAE,QAAQ;wCAChB,UAAU;qCACb,CAAC,CAAC,CAAC;4BACR,CAAC;wBACL,CAAC;wBACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,eAAe;6BAC3C,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,CAAC,IAAI,kBAAkB,CAAC,CAAC;wBACpF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,qCAAqC,CAAC,CAAC;wBAChG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;wBACrB,MAAM,EAAE,UAAU,EAAC,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC;4BACrD,IAAI,EAAE;gCACF,IAAI,EAAE,UAAU,CAAC,IAAI;gCACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;6BAChC;4BACD,KAAK;yBACD,CAAC,CAAC;wBACV,IAAI,CAAC;4BACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;wBAC7C,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACX,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;4BACzB,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;wBACvB,CAAC;wBACD,KAAK,MAAM,SAAS,IAAI,kBAAkB,CAAC,4BAA4B,EAAE,CAAC;4BACtE,IAAI,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACxC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wCAC/B,MAAM,EAAE,QAAQ;wCAChB,UAAU;wCACV,MAAM;qCACT,CAAC,CAAC,CAAC;4BACR,CAAC;wBACL,CAAC;wBACD,IAAI,MAAM,CAAC,KAAK;4BAAE,MAAM,MAAM,CAAC,KAAK,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,KAAK,MAAM,SAAS,IAAI,kBAAkB,CAAC,4BAA4B,EAAE,CAAC;oBACtE,IAAI,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACxC,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,IAAI,mCAAI,OAAO,CAAC;wBAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;4BACjC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oCAC/B,MAAM,EAAE,QAAQ,EAAE,MAAM;iCAC3B,CAAC,CAAC,CAAC;wBACR,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,kBAAkB,CAAC,2BAA2B,EAAE,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBACf,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|