@qavajs/playwright-runner-adapter 1.4.3 → 1.5.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 +7 -0
- package/adapter/PlaywrightWorld.d.ts +30 -0
- package/adapter/PlaywrightWorld.js +16 -7
- package/adapter/PlaywrightWorld.js.map +1 -1
- package/adapter/cucumber.spec.d.ts +1 -0
- package/adapter/cucumber.spec.js.map +1 -1
- package/adapter/defineCucumber.d.ts +19 -0
- package/adapter/loader.d.ts +12 -0
- package/adapter/tags.d.ts +10 -0
- package/adapter/tags.js +12 -7
- package/adapter/tags.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.js +2 -2
- package/package.json +7 -7
- package/src/PlaywrightWorld.ts +19 -13
- package/src/cucumber.spec.ts +1 -1
- package/src/tags.ts +17 -7
- package/tsconfig.json +1 -0
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
|
+
## [1.5.1]
|
|
18
|
+
- :rocket: update `tags` method via extending `RegExp`
|
|
19
|
+
|
|
20
|
+
## [1.5.0]
|
|
21
|
+
- :rocket: added export of basic `TestWorld`
|
|
22
|
+
- :rocket: update dependencies
|
|
23
|
+
|
|
17
24
|
## [1.4.2]
|
|
18
25
|
- :beetle: fixed issue with duplicate scenarios
|
|
19
26
|
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
}) => void;
|
|
11
|
+
parameters: string;
|
|
12
|
+
supportCodeLibrary: any;
|
|
13
|
+
test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
14
|
+
expect: import("@playwright/test").Expect<{}>;
|
|
15
|
+
constructor(options: any);
|
|
16
|
+
executeStep(this: any, text: string, extraParam?: any): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Cucumber Playwright world for playwright adapter
|
|
20
|
+
*/
|
|
21
|
+
export declare class PlaywrightWorld extends TestWorld {
|
|
22
|
+
page: Page;
|
|
23
|
+
context: BrowserContext;
|
|
24
|
+
browser: Browser;
|
|
25
|
+
browserName: string;
|
|
26
|
+
request: APIRequestContext;
|
|
27
|
+
init: ({
|
|
28
|
+
[fixture: string]: any;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PlaywrightWorld = void 0;
|
|
3
|
+
exports.PlaywrightWorld = exports.TestWorld = void 0;
|
|
4
4
|
const test_1 = require("@playwright/test");
|
|
5
5
|
/**
|
|
6
6
|
* Cucumber world for playwright adapter
|
|
7
7
|
*/
|
|
8
|
-
class
|
|
8
|
+
class TestWorld {
|
|
9
9
|
constructor(options) {
|
|
10
10
|
this.test = test_1.test;
|
|
11
11
|
this.expect = test_1.expect;
|
|
12
|
-
this.init = ({ browser, context, page }) => {
|
|
13
|
-
this.browser = browser;
|
|
14
|
-
this.context = context;
|
|
15
|
-
this.page = page;
|
|
16
|
-
};
|
|
17
12
|
this.log = options.log;
|
|
18
13
|
this.attach = options.attach;
|
|
19
14
|
this.parameters = options.parameters;
|
|
@@ -35,5 +30,19 @@ class PlaywrightWorld {
|
|
|
35
30
|
}
|
|
36
31
|
}
|
|
37
32
|
}
|
|
33
|
+
exports.TestWorld = TestWorld;
|
|
34
|
+
/**
|
|
35
|
+
* Cucumber Playwright world for playwright adapter
|
|
36
|
+
*/
|
|
37
|
+
class PlaywrightWorld extends TestWorld {
|
|
38
|
+
constructor() {
|
|
39
|
+
super(...arguments);
|
|
40
|
+
this.init = ({ browser, context, page }) => {
|
|
41
|
+
this.browser = browser;
|
|
42
|
+
this.context = context;
|
|
43
|
+
this.page = page;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
38
47
|
exports.PlaywrightWorld = PlaywrightWorld;
|
|
39
48
|
//# sourceMappingURL=PlaywrightWorld.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAAkG;AAElG;;GAEG;AACH,MAAa,
|
|
1
|
+
{"version":3,"file":"PlaywrightWorld.js","sourceRoot":"","sources":["../src/PlaywrightWorld.ts"],"names":[],"mappings":";;;AAAA,2CAAkG;AAElG;;GAEG;AACH,MAAa,SAAS;IAQlB,YAAY,OAAY;QAHxB,SAAI,GAAG,WAAI,CAAC;QACZ,WAAM,GAAG,aAAM,CAAC;QAGZ,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;AA3BD,8BA2BC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,SAAS;IAA9C;;QAOI,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;IACL,CAAC;CAAA;AAZD,0CAYC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cucumber.spec.js","sourceRoot":"","sources":["../src/cucumber.spec.ts"],"names":[],"mappings":";;AAAA,qCAAgC;AAEhC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"cucumber.spec.js","sourceRoot":"","sources":["../src/cucumber.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type CucumberConfig = {
|
|
2
|
+
config: string;
|
|
3
|
+
profile?: string;
|
|
4
|
+
adapter?: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Define cucumber config in playwright config
|
|
8
|
+
* @param {CucumberConfig} config
|
|
9
|
+
* @example
|
|
10
|
+
* export default defineConfig({
|
|
11
|
+
* testDir: defineCucumber({
|
|
12
|
+
* config: 'cucumber.ts',
|
|
13
|
+
* profile: 'chrome', // optional
|
|
14
|
+
* adapter: 'path/to/adapter' // optional
|
|
15
|
+
* }),
|
|
16
|
+
* })
|
|
17
|
+
*/
|
|
18
|
+
export declare function defineCucumber(config: CucumberConfig): string;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function loadFeatures(globPattern: string[]): {
|
|
2
|
+
feature: string | undefined;
|
|
3
|
+
tests: any[];
|
|
4
|
+
}[];
|
|
5
|
+
export declare function loadStepDefinitions(globPattern: string[]): import("@cucumber/cucumber/lib/support_code_library_builder/types").SupportCodeLibrary;
|
|
6
|
+
export declare function load(): {
|
|
7
|
+
features: {
|
|
8
|
+
feature: string | undefined;
|
|
9
|
+
tests: any[];
|
|
10
|
+
}[];
|
|
11
|
+
supportCodeLibrary: import("@cucumber/cucumber/lib/support_code_library_builder/types").SupportCodeLibrary;
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translate cucumber tag expression to playwright grep
|
|
3
|
+
* @param {string} tagExpression
|
|
4
|
+
* @example
|
|
5
|
+
* import { tags } from '@qavajs/playwright-runner-adapter';
|
|
6
|
+
* export default defineConfig({
|
|
7
|
+
* grep: tags('@oneTag and @anotherTag')
|
|
8
|
+
* })
|
|
9
|
+
*/
|
|
10
|
+
export declare function tags(tagExpression: string): RegExp;
|
package/adapter/tags.js
CHANGED
|
@@ -5,6 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.tags = tags;
|
|
7
7
|
const tag_expressions_1 = __importDefault(require("@cucumber/tag-expressions"));
|
|
8
|
+
class TagExpression extends RegExp {
|
|
9
|
+
constructor(tagExpression) {
|
|
10
|
+
super('');
|
|
11
|
+
this.tagExpression = tagExpression;
|
|
12
|
+
this.expressionNode = (0, tag_expressions_1.default)(this.tagExpression);
|
|
13
|
+
}
|
|
14
|
+
test(testName) {
|
|
15
|
+
const tokens = testName.split(/\s+/);
|
|
16
|
+
return this.expressionNode.evaluate(tokens);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
8
19
|
/**
|
|
9
20
|
* Translate cucumber tag expression to playwright grep
|
|
10
21
|
* @param {string} tagExpression
|
|
@@ -15,12 +26,6 @@ const tag_expressions_1 = __importDefault(require("@cucumber/tag-expressions"));
|
|
|
15
26
|
* })
|
|
16
27
|
*/
|
|
17
28
|
function tags(tagExpression) {
|
|
18
|
-
|
|
19
|
-
return {
|
|
20
|
-
test(testName) {
|
|
21
|
-
const tokens = testName.split(' ');
|
|
22
|
-
return expressionNode.evaluate(tokens);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
29
|
+
return new TagExpression(tagExpression);
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=tags.js.map
|
package/adapter/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":";;;;;AA2BA,oBAEC;AA7BD,gFAA6C;AAE7C,MAAM,aAAc,SAAQ,MAAM;IAK9B,YAAoB,aAAqB;QACrC,KAAK,CAAC,EAAE,CAAC,CAAC;QADM,kBAAa,GAAb,aAAa,CAAQ;QAErC,IAAI,CAAC,cAAc,GAAG,IAAA,yBAAK,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,QAAgB;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACJ;AAED;;;;;;;;GAQG;AACH,SAAgB,IAAI,CAAC,aAAqB;IACtC,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;AAC5C,CAAC"}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export * from './src/PlaywrightWorld';
|
|
2
|
+
export * from './src/defineCucumber';
|
|
3
|
+
export * from './src/tags';
|
|
4
4
|
export * from '@cucumber/cucumber';
|
package/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const
|
|
1
|
+
const worlds = require('./adapter/PlaywrightWorld');
|
|
2
2
|
const { defineCucumber } = require('./adapter/defineCucumber');
|
|
3
3
|
const { tags } = require('./adapter/tags');
|
|
4
4
|
const cucumber = require('@cucumber/cucumber');
|
|
5
5
|
module.exports = {
|
|
6
|
-
|
|
6
|
+
...worlds,
|
|
7
7
|
defineCucumber,
|
|
8
8
|
tags,
|
|
9
9
|
...cucumber
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qavajs/playwright-runner-adapter",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "adapter for playwright test runner",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"url": "https://github.com/qavajs/playwright-runner-adapter/issues"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@cucumber/gherkin": "^
|
|
20
|
+
"@cucumber/gherkin": "^35.1.0",
|
|
21
21
|
"@cucumber/tag-expressions": "^6.2.0",
|
|
22
|
-
"glob": "^11.0.
|
|
23
|
-
"@cucumber/cucumber": "^
|
|
22
|
+
"glob": "^11.0.3",
|
|
23
|
+
"@cucumber/cucumber": "^12.2.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@playwright/test": "^1.
|
|
27
|
-
"@types/node": "^24.
|
|
28
|
-
"typescript": "^5.
|
|
26
|
+
"@playwright/test": "^1.55.1",
|
|
27
|
+
"@types/node": "^24.5.2",
|
|
28
|
+
"typescript": "^5.9.2"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/src/PlaywrightWorld.ts
CHANGED
|
@@ -3,18 +3,13 @@ import { APIRequestContext, Browser, BrowserContext, Page, test, expect } from '
|
|
|
3
3
|
/**
|
|
4
4
|
* Cucumber world for playwright adapter
|
|
5
5
|
*/
|
|
6
|
-
export class
|
|
7
|
-
page!: Page;
|
|
8
|
-
context!: BrowserContext;
|
|
9
|
-
browser!: Browser;
|
|
10
|
-
browserName!: string;
|
|
11
|
-
request!: APIRequestContext;
|
|
6
|
+
export class TestWorld {
|
|
12
7
|
log!: (data: any) => void;
|
|
13
8
|
attach!: (data: any, details?: { fileName?: string, mediaType: string }) => void;
|
|
14
9
|
parameters!: string;
|
|
10
|
+
supportCodeLibrary!: any;
|
|
15
11
|
test = test;
|
|
16
12
|
expect = expect;
|
|
17
|
-
supportCodeLibrary!: any;
|
|
18
13
|
|
|
19
14
|
constructor(options: any) {
|
|
20
15
|
this.log = options.log;
|
|
@@ -23,12 +18,6 @@ export class PlaywrightWorld {
|
|
|
23
18
|
this.supportCodeLibrary = options.supportCodeLibrary;
|
|
24
19
|
}
|
|
25
20
|
|
|
26
|
-
init: ({ [fixture: string]: any }) = ({ browser, context, page }: { browser: Browser, context: BrowserContext, page: Page }) => {
|
|
27
|
-
this.browser = browser;
|
|
28
|
-
this.context = context;
|
|
29
|
-
this.page = page;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
21
|
async executeStep(this: any, text: string, extraParam?: any) {
|
|
33
22
|
const steps = this.supportCodeLibrary.stepDefinitions.filter((s: any) => s.matchesStepName(text));
|
|
34
23
|
if (steps.length === 0) throw new Error(`Step "${text}" is not defined`);
|
|
@@ -42,3 +31,20 @@ export class PlaywrightWorld {
|
|
|
42
31
|
}
|
|
43
32
|
}
|
|
44
33
|
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Cucumber Playwright world for playwright adapter
|
|
37
|
+
*/
|
|
38
|
+
export class PlaywrightWorld extends TestWorld {
|
|
39
|
+
page!: Page;
|
|
40
|
+
context!: BrowserContext;
|
|
41
|
+
browser!: Browser;
|
|
42
|
+
browserName!: string;
|
|
43
|
+
request!: APIRequestContext;
|
|
44
|
+
|
|
45
|
+
init: ({ [fixture: string]: any }) = ({ browser, context, page }: { browser: Browser, context: BrowserContext, page: Page }) => {
|
|
46
|
+
this.browser = browser;
|
|
47
|
+
this.context = context;
|
|
48
|
+
this.page = page;
|
|
49
|
+
}
|
|
50
|
+
}
|
package/src/cucumber.spec.ts
CHANGED
package/src/tags.ts
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import parse from '@cucumber/tag-expressions'
|
|
2
2
|
|
|
3
|
+
class TagExpression extends RegExp {
|
|
4
|
+
private expressionNode: {
|
|
5
|
+
evaluate(variables: string[]): boolean;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
constructor(private tagExpression: string) {
|
|
9
|
+
super('');
|
|
10
|
+
this.expressionNode = parse(this.tagExpression);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
test(testName: string) {
|
|
14
|
+
const tokens = testName.split(/\s+/);
|
|
15
|
+
return this.expressionNode.evaluate(tokens);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
3
19
|
/**
|
|
4
20
|
* Translate cucumber tag expression to playwright grep
|
|
5
21
|
* @param {string} tagExpression
|
|
@@ -10,11 +26,5 @@ import parse from '@cucumber/tag-expressions'
|
|
|
10
26
|
* })
|
|
11
27
|
*/
|
|
12
28
|
export function tags(tagExpression: string): RegExp {
|
|
13
|
-
|
|
14
|
-
return {
|
|
15
|
-
test(testName: string) {
|
|
16
|
-
const tokens = testName.split(' ');
|
|
17
|
-
return expressionNode.evaluate(tokens);
|
|
18
|
-
}
|
|
19
|
-
} as RegExp;
|
|
29
|
+
return new TagExpression(tagExpression);
|
|
20
30
|
}
|