@qavajs/playwright-runner-adapter 0.3.0 → 0.4.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 +5 -0
- package/README.md +5 -7
- package/adapter/PlaywrightWorld.js +3 -0
- package/adapter/PlaywrightWorld.js.map +1 -1
- package/adapter/adapter.spec.js.map +1 -1
- package/adapter/defineCucumber.js +17 -3
- package/adapter/defineCucumber.js.map +1 -1
- package/adapter/loader.js +9 -6
- package/adapter/loader.js.map +1 -1
- package/package.json +5 -5
- package/src/PlaywrightWorld.ts +4 -1
- package/src/adapter.spec.ts +1 -0
- package/src/defineCucumber.ts +20 -3
- package/src/loader.ts +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,11 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
|
|
|
10
10
|
:pencil: - chore
|
|
11
11
|
:microscope: - experimental
|
|
12
12
|
|
|
13
|
+
## [0.4.0]
|
|
14
|
+
- :rocket: added support of _requireModules_ option
|
|
15
|
+
- :rocket: improved _defineCucumber_ function to encapsulate adapter path
|
|
16
|
+
- :beetle: updated typing for _init_ property of PlaywrightWorld
|
|
17
|
+
|
|
13
18
|
## [0.3.0]
|
|
14
19
|
- :rocket: added _defineCucumber_ util function
|
|
15
20
|
- :rocket: added logic to process duplicates
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[](https://badge.fury.io/js/@qavajs%2Fplaywright-runner-adapter)
|
|
2
2
|
|
|
3
3
|
# @qavajs/playwright-runner-adapter
|
|
4
|
-
Adapter to run
|
|
4
|
+
Adapter to run cucumber tests via playwright test runner
|
|
5
5
|
|
|
6
6
|
## Installation
|
|
7
7
|
|
|
@@ -22,13 +22,11 @@ Set testDir to adapter
|
|
|
22
22
|
```typescript
|
|
23
23
|
import { defineCucumber } from '@qavajs/playwright-runner-adapter';
|
|
24
24
|
|
|
25
|
-
defineCucumber({
|
|
26
|
-
config: 'test/cucumber.ts',
|
|
27
|
-
profile: 'default'
|
|
28
|
-
});
|
|
29
|
-
|
|
30
25
|
export default defineConfig({
|
|
31
|
-
testDir:
|
|
26
|
+
testDir: defineCucumber({
|
|
27
|
+
config: 'test/cucumber.ts',
|
|
28
|
+
profile: 'default'
|
|
29
|
+
})
|
|
32
30
|
});
|
|
33
31
|
```
|
|
34
32
|
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PlaywrightWorld = void 0;
|
|
4
4
|
const test_1 = require("@playwright/test");
|
|
5
|
+
/**
|
|
6
|
+
* Cucumber world for playwright adapter
|
|
7
|
+
*/
|
|
5
8
|
class PlaywrightWorld {
|
|
6
9
|
constructor(options) {
|
|
7
10
|
this.test = test_1.test;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAA0F;AAE1F,MAAa,eAAe;IAWxB,YAAY,OAAY;QAFxB,SAAI,GAAG,WAAI,CAAC;QAQZ,SAAI,
|
|
1
|
+
{"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAA0F;AAE1F;;GAEG;AACH,MAAa,eAAe;IAWxB,YAAY,OAAY;QAFxB,SAAI,GAAG,WAAI,CAAC;QAQZ,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;QATG,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;IACzC,CAAC;CAOJ;AAtBD,0CAsBC"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"adapter.spec.js","sourceRoot":"","sources":["../src/adapter.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineCucumber =
|
|
3
|
+
exports.defineCucumber = defineCucumber;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
/**
|
|
6
|
+
* Define cucumber config in playwright config
|
|
7
|
+
* @param {CucumberConfig} config
|
|
8
|
+
* @example
|
|
9
|
+
* export default defineConfig({
|
|
10
|
+
* testDir: defineCucumber({
|
|
11
|
+
* config: 'cucumber.ts',
|
|
12
|
+
* profile: 'chrome', // optional
|
|
13
|
+
* adapter: 'path/to/adapter' // optional
|
|
14
|
+
* }),
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
4
17
|
function defineCucumber(config) {
|
|
18
|
+
var _a, _b;
|
|
5
19
|
process.env.CONFIG = config.config;
|
|
6
|
-
process.env.PROFILE = config.profile;
|
|
20
|
+
process.env.PROFILE = (_a = config.profile) !== null && _a !== void 0 ? _a : 'default';
|
|
21
|
+
return (_b = config.adapter) !== null && _b !== void 0 ? _b : (0, node_path_1.resolve)('./node_modules/@qavajs/playwright-runner-adapter/adapter');
|
|
7
22
|
}
|
|
8
|
-
exports.defineCucumber = defineCucumber;
|
|
9
23
|
//# sourceMappingURL=defineCucumber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineCucumber.js","sourceRoot":"","sources":["../src/defineCucumber.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defineCucumber.js","sourceRoot":"","sources":["../src/defineCucumber.ts"],"names":[],"mappings":";;AAoBA,wCAIC;AAxBD,yCAAoC;AAQpC;;;;;;;;;;;GAWG;AACH,SAAgB,cAAc,CAAC,MAAsB;;IACjD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,SAAS,CAAC;IAClD,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAA,mBAAO,EAAC,0DAA0D,CAAC,CAAC;AACjG,CAAC"}
|
package/adapter/loader.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.loadFeatures = loadFeatures;
|
|
4
|
+
exports.loadStepDefinitions = loadStepDefinitions;
|
|
5
|
+
exports.load = load;
|
|
4
6
|
const node_fs_1 = require("node:fs");
|
|
5
7
|
const node_path_1 = require("node:path");
|
|
6
8
|
const node_crypto_1 = require("node:crypto");
|
|
@@ -38,7 +40,6 @@ function loadFeatures(globPattern) {
|
|
|
38
40
|
};
|
|
39
41
|
});
|
|
40
42
|
}
|
|
41
|
-
exports.loadFeatures = loadFeatures;
|
|
42
43
|
function loadStepDefinitions(globPattern) {
|
|
43
44
|
cucumber_1.supportCodeLibraryBuilder.reset(process.cwd(), uuidFn);
|
|
44
45
|
cucumber_1.supportCodeLibraryBuilder.methods.setWorldConstructor(PlaywrightWorld_1.PlaywrightWorld);
|
|
@@ -49,15 +50,17 @@ function loadStepDefinitions(globPattern) {
|
|
|
49
50
|
}
|
|
50
51
|
return cucumber_1.supportCodeLibraryBuilder.finalize();
|
|
51
52
|
}
|
|
52
|
-
exports.loadStepDefinitions = loadStepDefinitions;
|
|
53
53
|
function load() {
|
|
54
|
-
var _a, _b;
|
|
54
|
+
var _a, _b, _c, _d, _e;
|
|
55
55
|
const config = require((0, node_path_1.join)(process.cwd(), (_a = process.env.CONFIG) !== null && _a !== void 0 ? _a : 'config.js'));
|
|
56
56
|
const profile = (_b = process.env.PROFILE) !== null && _b !== void 0 ? _b : 'default';
|
|
57
57
|
const resolvedConfig = config[profile];
|
|
58
58
|
const features = loadFeatures(resolvedConfig.paths);
|
|
59
|
-
const supportCodeLibrary = loadStepDefinitions(
|
|
59
|
+
const supportCodeLibrary = loadStepDefinitions([
|
|
60
|
+
...((_c = resolvedConfig.requireModules) !== null && _c !== void 0 ? _c : []),
|
|
61
|
+
...((_d = resolvedConfig.require) !== null && _d !== void 0 ? _d : []),
|
|
62
|
+
...((_e = resolvedConfig.import) !== null && _e !== void 0 ? _e : [])
|
|
63
|
+
]);
|
|
60
64
|
return { features, supportCodeLibrary };
|
|
61
65
|
}
|
|
62
|
-
exports.load = load;
|
|
63
66
|
//# sourceMappingURL=loader.js.map
|
package/adapter/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.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": "0.4.0",
|
|
4
4
|
"description": "adapter for playwright test runner",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@cucumber/gherkin": "^28.0.0",
|
|
14
|
-
"glob": "^
|
|
14
|
+
"glob": "^11.0.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@cucumber/cucumber": "^10.8.0",
|
|
18
|
-
"@playwright/test": "^1.
|
|
19
|
-
"@types/node": "^
|
|
20
|
-
"typescript": "^5.4
|
|
18
|
+
"@playwright/test": "^1.45.3",
|
|
19
|
+
"@types/node": "^22.1.0",
|
|
20
|
+
"typescript": "^5.5.4"
|
|
21
21
|
}
|
|
22
22
|
}
|
package/src/PlaywrightWorld.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { APIRequestContext, Browser, BrowserContext, Page, test } from '@playwright/test';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Cucumber world for playwright adapter
|
|
5
|
+
*/
|
|
3
6
|
export class PlaywrightWorld {
|
|
4
7
|
page!: Page;
|
|
5
8
|
context!: BrowserContext;
|
|
@@ -17,7 +20,7 @@ export class PlaywrightWorld {
|
|
|
17
20
|
this.parameters = options.parameters;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
init = ({ browser, context, page }: { browser: Browser, context: BrowserContext, page: Page }) => {
|
|
23
|
+
init: ({ [fixture: string]: any }) = ({ browser, context, page }: { browser: Browser, context: BrowserContext, page: Page }) => {
|
|
21
24
|
this.browser = browser;
|
|
22
25
|
this.context = context;
|
|
23
26
|
this.page = page;
|
package/src/adapter.spec.ts
CHANGED
|
@@ -5,6 +5,7 @@ const { features, supportCodeLibrary } = load();
|
|
|
5
5
|
function log(data: any) {
|
|
6
6
|
console.log(data);
|
|
7
7
|
}
|
|
8
|
+
|
|
8
9
|
function attach(this: { test: any }, body: any, details: any) {
|
|
9
10
|
const fileName = details.fileName ?? 'attachment';
|
|
10
11
|
const contentType = details.mediaType ?? 'text/plain';
|
package/src/defineCucumber.ts
CHANGED
|
@@ -1,8 +1,25 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
|
|
1
3
|
type CucumberConfig = {
|
|
2
4
|
config: string,
|
|
3
|
-
profile?: string
|
|
5
|
+
profile?: string,
|
|
6
|
+
adapter?: string
|
|
4
7
|
}
|
|
5
|
-
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Define cucumber config in playwright config
|
|
11
|
+
* @param {CucumberConfig} config
|
|
12
|
+
* @example
|
|
13
|
+
* export default defineConfig({
|
|
14
|
+
* testDir: defineCucumber({
|
|
15
|
+
* config: 'cucumber.ts',
|
|
16
|
+
* profile: 'chrome', // optional
|
|
17
|
+
* adapter: 'path/to/adapter' // optional
|
|
18
|
+
* }),
|
|
19
|
+
* })
|
|
20
|
+
*/
|
|
21
|
+
export function defineCucumber(config: CucumberConfig): string {
|
|
6
22
|
process.env.CONFIG = config.config;
|
|
7
|
-
process.env.PROFILE = config.profile;
|
|
23
|
+
process.env.PROFILE = config.profile ?? 'default';
|
|
24
|
+
return config.adapter ?? resolve('./node_modules/@qavajs/playwright-runner-adapter/adapter');
|
|
8
25
|
}
|
package/src/loader.ts
CHANGED
|
@@ -55,6 +55,10 @@ export function load() {
|
|
|
55
55
|
|
|
56
56
|
const resolvedConfig = config[profile];
|
|
57
57
|
const features = loadFeatures(resolvedConfig.paths);
|
|
58
|
-
const supportCodeLibrary = loadStepDefinitions(
|
|
58
|
+
const supportCodeLibrary = loadStepDefinitions([
|
|
59
|
+
...(resolvedConfig.requireModules ?? []),
|
|
60
|
+
...(resolvedConfig.require ?? []),
|
|
61
|
+
...(resolvedConfig.import ?? [])
|
|
62
|
+
]);
|
|
59
63
|
return { features, supportCodeLibrary }
|
|
60
64
|
}
|