@uuv/playwright 2.17.2 → 3.0.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/dist/cucumber/preprocessor/index.d.ts +0 -1
- package/dist/cucumber/preprocessor/index.js +0 -1
- package/dist/cucumber/step_definitions/playwright/generated/_en-generated-cucumber-steps-definition.js +7 -7
- package/dist/cucumber/step_definitions/playwright/generated/_fr-generated-cucumber-steps-definition.js +7 -7
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_button.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_checkbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_combobox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_link.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_listbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitem.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemcheckbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemradio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_radio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_search.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_searchbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_select.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_slider.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_spinbutton.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_switch.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_tab.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_textbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_widget.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_button.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_checkbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_combobox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_link.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_listbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitem.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemcheckbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemradio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_radio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_search.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_searchbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_select.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_slider.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_spinbutton.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_switch.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_tab.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_textbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_widget.js +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +16 -0
- package/dist/lib/runner-playwright.d.ts +2 -7
- package/dist/lib/runner-playwright.js +18 -35
- package/dist/lib/watch-test-files.js +6 -6
- package/dist/reporter/uuv-playwright-reporter-helper.d.ts +1 -3
- package/dist/reporter/uuv-playwright-reporter-helper.js +19 -8
- package/package.json +4 -4
- package/postinstall.js +0 -1
- package/src/cucumber/step_definitions/playwright/generated/_en-generated-cucumber-steps-definition.ts +7 -7
- package/src/cucumber/step_definitions/playwright/generated/_fr-generated-cucumber-steps-definition.ts +7 -7
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_button.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_checkbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_combobox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_link.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_listbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitem.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemcheckbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemradio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_radio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_search.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_searchbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_select.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_slider.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_spinbutton.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_switch.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_tab.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_textbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_widget.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_button.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_checkbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_combobox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_link.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_listbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitem.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemcheckbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemradio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_radio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_search.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_searchbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_select.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_slider.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_spinbutton.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_switch.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_tab.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_textbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_widget.ts +3 -3
- package/target-config/playwright.config.ts +4 -1
- package/dist/cucumber/preprocessor/gen/formatter.d.ts +0 -9
- package/dist/cucumber/preprocessor/gen/formatter.js +0 -59
- package/dist/cucumber/preprocessor/gen/generate.d.ts +0 -28
- package/dist/cucumber/preprocessor/gen/generate.js +0 -168
- package/dist/cucumber/preprocessor/gen/i18n.d.ts +0 -2
- package/dist/cucumber/preprocessor/gen/i18n.js +0 -36
- package/dist/cucumber/preprocessor/gen/index.d.ts +0 -8
- package/dist/cucumber/preprocessor/gen/index.js +0 -60
- package/dist/cucumber/preprocessor/gen/load_sources.d.ts +0 -17
- package/dist/cucumber/preprocessor/gen/load_sources.js +0 -46
- package/dist/cucumber/preprocessor/gen/save.d.ts +0 -2
- package/dist/cucumber/preprocessor/gen/save.js +0 -27
- package/dist/cucumber/preprocessor/run/fixtures.d.ts +0 -3
- package/dist/cucumber/preprocessor/run/fixtures.js +0 -32
- package/dist/cucumber/preprocessor/run/invoke.d.ts +0 -2
- package/dist/cucumber/preprocessor/run/invoke.js +0 -28
- package/dist/cucumber/preprocessor/run/support.d.ts +0 -9
- package/dist/cucumber/preprocessor/run/support.js +0 -27
- package/target-config/cucumber.cjs +0 -9
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildConfig = void 0;
|
|
4
|
+
const playwright_bdd_1 = require("playwright-bdd");
|
|
5
|
+
function buildConfig(inputsPaths, imports = [
|
|
6
|
+
"cucumber/step_definitions/**/*.{js,ts}",
|
|
7
|
+
"../node_modules/@uuv/playwright/dist/cucumber/step_definitions/playwright/**/*.js"
|
|
8
|
+
], output = ".uuv-features-gen") {
|
|
9
|
+
return (0, playwright_bdd_1.defineBddConfig)({
|
|
10
|
+
paths: inputsPaths,
|
|
11
|
+
require: imports,
|
|
12
|
+
outputDir: output,
|
|
13
|
+
featuresRoot: "e2e"
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.buildConfig = buildConfig;
|
|
@@ -12,11 +12,6 @@
|
|
|
12
12
|
* understanding English or French.
|
|
13
13
|
*/
|
|
14
14
|
import { UUVCliOptions, UUVCliRunner } from "@uuv/runner-commons";
|
|
15
|
-
export interface UUVPlaywrightCucumberMapItem {
|
|
16
|
-
originalFile: string;
|
|
17
|
-
generatedFile: string;
|
|
18
|
-
}
|
|
19
|
-
export declare const UUVPlaywrightCucumberMapFile = ".uuv-playwright-cucumber-map.json";
|
|
20
15
|
export declare class UUVCliPlaywrightRunner implements UUVCliRunner {
|
|
21
16
|
projectDir: any;
|
|
22
17
|
private tempDir;
|
|
@@ -30,7 +25,7 @@ export declare class UUVCliPlaywrightRunner implements UUVCliRunner {
|
|
|
30
25
|
executeOpenCommand(options: Partial<UUVCliOptions>): void;
|
|
31
26
|
private getTargetTestFileForPlaywright;
|
|
32
27
|
private runPlaywright;
|
|
33
|
-
private executeSystemCommand;
|
|
34
28
|
private buildCommand;
|
|
29
|
+
private executeSystemCommand;
|
|
35
30
|
}
|
|
36
|
-
export declare function executePreprocessor(
|
|
31
|
+
export declare function executePreprocessor(): void;
|
|
@@ -39,15 +39,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.executePreprocessor = exports.UUVCliPlaywrightRunner =
|
|
42
|
+
exports.executePreprocessor = exports.UUVCliPlaywrightRunner = void 0;
|
|
43
43
|
const fs_1 = __importDefault(require("fs"));
|
|
44
|
-
const gen_1 = require("../cucumber/preprocessor/gen");
|
|
45
44
|
const chalk_1 = __importDefault(require("chalk"));
|
|
46
45
|
const uuv_playwright_reporter_helper_1 = require("../reporter/uuv-playwright-reporter-helper");
|
|
47
46
|
const path_1 = __importDefault(require("path"));
|
|
48
47
|
const child_process_1 = __importStar(require("child_process"));
|
|
49
48
|
const lodash_1 = __importDefault(require("lodash"));
|
|
50
|
-
exports.UUVPlaywrightCucumberMapFile = ".uuv-playwright-cucumber-map.json";
|
|
51
49
|
class UUVCliPlaywrightRunner {
|
|
52
50
|
projectDir;
|
|
53
51
|
tempDir;
|
|
@@ -64,7 +62,9 @@ class UUVCliPlaywrightRunner {
|
|
|
64
62
|
return JSON.parse(pJsonStr).version;
|
|
65
63
|
}
|
|
66
64
|
async prepare(options) {
|
|
67
|
-
|
|
65
|
+
console.log("running preprocessor...");
|
|
66
|
+
this.executeSystemCommand(`npx bddgen -c ${this.projectDir}/playwright.config.ts`);
|
|
67
|
+
console.log("preprocessor executed\n");
|
|
68
68
|
this.setEnvironmentVariables(options);
|
|
69
69
|
}
|
|
70
70
|
setEnvironmentVariables(options) {
|
|
@@ -93,7 +93,7 @@ class UUVCliPlaywrightRunner {
|
|
|
93
93
|
return "";
|
|
94
94
|
}
|
|
95
95
|
return `${targetTestFile
|
|
96
|
-
.replaceAll("uuv/e2e/", ".uuv-features-gen/
|
|
96
|
+
.replaceAll("uuv/e2e/", ".uuv-features-gen/")
|
|
97
97
|
.replaceAll(".feature", ".feature.spec.js")}`;
|
|
98
98
|
}
|
|
99
99
|
runPlaywright(options) {
|
|
@@ -113,10 +113,6 @@ class UUVCliPlaywrightRunner {
|
|
|
113
113
|
process.exit(2);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
executeSystemCommand(command) {
|
|
117
|
-
console.log(chalk_1.default.gray(`Running command: ${command}`));
|
|
118
|
-
(0, child_process_1.execSync)(command, { stdio: "inherit" });
|
|
119
|
-
}
|
|
120
116
|
buildCommand(options, configFile, reporter) {
|
|
121
117
|
return lodash_1.default.trimEnd([
|
|
122
118
|
"npx",
|
|
@@ -129,37 +125,24 @@ class UUVCliPlaywrightRunner {
|
|
|
129
125
|
options.command === "open" ? "--ui" : "",
|
|
130
126
|
reporter
|
|
131
127
|
].join(" ")),
|
|
132
|
-
|
|
128
|
+
lodash_1.default.trimStart([
|
|
129
|
+
this.getTargetTestFileForPlaywright(options.targetTestFile),
|
|
130
|
+
options.extraArgs.TAGS ? `--grep ${options.extraArgs.TAGS}` : ""
|
|
131
|
+
].join(" "))
|
|
133
132
|
].join(" "));
|
|
134
133
|
}
|
|
134
|
+
executeSystemCommand(command) {
|
|
135
|
+
executeSystemCommandHelper(command);
|
|
136
|
+
}
|
|
135
137
|
}
|
|
136
138
|
exports.UUVCliPlaywrightRunner = UUVCliPlaywrightRunner;
|
|
137
|
-
|
|
139
|
+
function executeSystemCommandHelper(command) {
|
|
140
|
+
console.log(chalk_1.default.gray(`Running command: ${command}`));
|
|
141
|
+
(0, child_process_1.execSync)(command, { stdio: "inherit" });
|
|
142
|
+
}
|
|
143
|
+
function executePreprocessor() {
|
|
138
144
|
console.log("running preprocessor...");
|
|
139
|
-
|
|
145
|
+
executeSystemCommandHelper("npx bddgen");
|
|
140
146
|
console.log("preprocessor executed\n");
|
|
141
147
|
}
|
|
142
148
|
exports.executePreprocessor = executePreprocessor;
|
|
143
|
-
async function bddGen(tempDir, tags) {
|
|
144
|
-
try {
|
|
145
|
-
const mapOfFile = await (0, gen_1.generateTestFiles)({
|
|
146
|
-
outputDir: tempDir,
|
|
147
|
-
tags
|
|
148
|
-
});
|
|
149
|
-
const content = [];
|
|
150
|
-
mapOfFile.forEach((value, key) => {
|
|
151
|
-
if (value.uri) {
|
|
152
|
-
content.push({
|
|
153
|
-
originalFile: value.uri,
|
|
154
|
-
generatedFile: key
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
fs_1.default.writeFileSync(`${tempDir}/${exports.UUVPlaywrightCucumberMapFile}`, JSON.stringify(content, null, 4), { encoding: "utf8" });
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
console.error(chalk_1.default.red("Something went wrong..."));
|
|
162
|
-
console.dir(err);
|
|
163
|
-
process.exit(2);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
@@ -29,18 +29,18 @@ if (!tempDir || !projectDir) {
|
|
|
29
29
|
chokidar_1.default.watch(`${projectDir}/e2e/**/*.feature`, {
|
|
30
30
|
ignoreInitial: true
|
|
31
31
|
})
|
|
32
|
-
.on("change",
|
|
32
|
+
.on("change", () => {
|
|
33
33
|
console.log(chalk_1.default.yellowBright("\nRefreshing test files..."));
|
|
34
|
-
|
|
34
|
+
(0, runner_playwright_1.executePreprocessor)();
|
|
35
35
|
console.log(chalk_1.default.yellowBright("Test files refreshed\n"));
|
|
36
36
|
})
|
|
37
|
-
.on("add",
|
|
37
|
+
.on("add", path => {
|
|
38
38
|
console.log(chalk_1.default.yellowBright(`\nFile ${path} has been added`));
|
|
39
|
-
|
|
39
|
+
(0, runner_playwright_1.executePreprocessor)();
|
|
40
40
|
console.log(chalk_1.default.yellowBright("Test files refreshed\n"));
|
|
41
41
|
})
|
|
42
|
-
.on("unlink",
|
|
42
|
+
.on("unlink", path => {
|
|
43
43
|
console.log(chalk_1.default.yellowBright(`\nFile ${path} has been removed`));
|
|
44
|
-
|
|
44
|
+
(0, runner_playwright_1.executePreprocessor)();
|
|
45
45
|
console.log(chalk_1.default.yellowBright("Test files refreshed\n"));
|
|
46
46
|
});
|
|
@@ -5,7 +5,6 @@ export declare enum GeneratedReportType {
|
|
|
5
5
|
HTML = "html"
|
|
6
6
|
}
|
|
7
7
|
declare class UuvPlaywrightReporterHelper {
|
|
8
|
-
private UUVPlaywrightCucumberMap;
|
|
9
8
|
testDir: string;
|
|
10
9
|
private queries;
|
|
11
10
|
envelopes: Envelope[];
|
|
@@ -48,13 +47,12 @@ declare class UuvPlaywrightReporterHelper {
|
|
|
48
47
|
seconds: number;
|
|
49
48
|
nanos: number;
|
|
50
49
|
};
|
|
51
|
-
getOriginalFeatureFile(
|
|
50
|
+
getOriginalFeatureFile(generatedFile: string): string | undefined;
|
|
52
51
|
getCurrentRunningScenario(test: TestCase, featureFile: string): string;
|
|
53
52
|
private addError;
|
|
54
53
|
private getStatus;
|
|
55
54
|
private createEnvelope;
|
|
56
55
|
private createCucumberNdJsonFile;
|
|
57
|
-
private loadUUVPlaywrightCucumberMap;
|
|
58
56
|
private initializeCucumberReportNdJson;
|
|
59
57
|
private populateTestCasesAndPickleIdMap;
|
|
60
58
|
private updateTestcaseStatus;
|
|
@@ -8,13 +8,13 @@ const gherkin_1 = require("@cucumber/gherkin");
|
|
|
8
8
|
const gherkin_utils_1 = require("@cucumber/gherkin-utils");
|
|
9
9
|
const messages_1 = require("@cucumber/messages");
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const runner_playwright_1 = require("../lib/runner-playwright");
|
|
12
11
|
const multiple_cucumber_html_reporter_1 = __importDefault(require("multiple-cucumber-html-reporter"));
|
|
13
12
|
const nanoid_1 = require("nanoid");
|
|
14
13
|
const chalk_1 = __importDefault(require("chalk"));
|
|
15
14
|
const chalk_table_1 = __importDefault(require("chalk-table"));
|
|
16
15
|
const uuv_custom_formatter_1 = require("./uuv-custom-formatter");
|
|
17
16
|
const tag_expressions_1 = __importDefault(require("@cucumber/tag-expressions"));
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
18
|
const NANOS_IN_SECOND = 1000000000;
|
|
19
19
|
const NANOS_IN_MILLISSECOND = 1000000;
|
|
20
20
|
var GeneratedReportType;
|
|
@@ -39,7 +39,6 @@ class ReportOfFeature {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
class UuvPlaywrightReporterHelper {
|
|
42
|
-
UUVPlaywrightCucumberMap = [];
|
|
43
42
|
testDir;
|
|
44
43
|
queries = new Map();
|
|
45
44
|
envelopes = [];
|
|
@@ -53,7 +52,6 @@ class UuvPlaywrightReporterHelper {
|
|
|
53
52
|
currentFeatureFile;
|
|
54
53
|
createTestRunStartedEnvelope(config, suite, startTimestamp) {
|
|
55
54
|
this.testDir = config.projects[0].testDir;
|
|
56
|
-
this.loadUUVPlaywrightCucumberMap();
|
|
57
55
|
const featureFiles = this.getFeatureFiles(suite);
|
|
58
56
|
this.initializeCucumberReportNdJson(suite, featureFiles);
|
|
59
57
|
this.envelopes.push(this.createEnvelope({
|
|
@@ -292,8 +290,24 @@ class UuvPlaywrightReporterHelper {
|
|
|
292
290
|
nanos: Math.floor(durationInSecond * NANOS_IN_SECOND + durationInSecond)
|
|
293
291
|
};
|
|
294
292
|
}
|
|
295
|
-
getOriginalFeatureFile(
|
|
296
|
-
|
|
293
|
+
getOriginalFeatureFile(generatedFile) {
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
295
|
+
// @ts-ignore
|
|
296
|
+
const bddgenConfAsString = process.env.PLAYWRIGHT_BDD_CONFIGS;
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
298
|
+
// @ts-ignore
|
|
299
|
+
const projectDir = process.env.CONFIG_DIR;
|
|
300
|
+
if (bddgenConfAsString && projectDir) {
|
|
301
|
+
const bddgenConf = JSON.parse(bddgenConfAsString);
|
|
302
|
+
const foundPath = Object.keys(bddgenConf).find(key => generatedFile.startsWith(key));
|
|
303
|
+
if (foundPath) {
|
|
304
|
+
const foundConf = bddgenConf[foundPath];
|
|
305
|
+
return path_1.default.relative(process.cwd(), generatedFile
|
|
306
|
+
.replaceAll(foundConf.outputDir, foundConf.featuresRoot)
|
|
307
|
+
.replaceAll(".feature.spec.js", ".feature"));
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
return;
|
|
297
311
|
}
|
|
298
312
|
getCurrentRunningScenario(test, featureFile) {
|
|
299
313
|
const counter = `[${test.parent.allTests().filter(test => test.results.length > 0).length}/${test.parent.allTests().length}]`;
|
|
@@ -326,9 +340,6 @@ class UuvPlaywrightReporterHelper {
|
|
|
326
340
|
console.log(err);
|
|
327
341
|
}
|
|
328
342
|
}
|
|
329
|
-
loadUUVPlaywrightCucumberMap() {
|
|
330
|
-
this.UUVPlaywrightCucumberMap = JSON.parse(fs_1.default.readFileSync(`${this.testDir}/${runner_playwright_1.UUVPlaywrightCucumberMapFile}`, { encoding: "utf8" }));
|
|
331
|
-
}
|
|
332
343
|
initializeCucumberReportNdJson(suite, featureFiles) {
|
|
333
344
|
featureFiles.forEach(featureFile => {
|
|
334
345
|
const originalFile = this.getOriginalFeatureFile(featureFile);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uuv/playwright",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"author": "Louis Fredice NJAKO MOLOM (https://github.com/luifr10) & Stanley SERVICAL (https://github.com/stanlee974)",
|
|
6
6
|
"description": "A solution to facilitate the writing and execution of E2E tests understandable by any human being using cucumber(BDD) and playwright",
|
|
@@ -42,10 +42,9 @@
|
|
|
42
42
|
"test": "npm run unit-test && npm run e2e-test:run"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@cucumber/cucumber": "9.6.0",
|
|
46
45
|
"@cucumber/tag-expressions": "^6.0.0",
|
|
47
|
-
"@playwright/test": "1.44.1",
|
|
48
|
-
"@uuv/runner-commons": "2.16.
|
|
46
|
+
"@playwright/test": "^1.44.1",
|
|
47
|
+
"@uuv/runner-commons": "2.16.2",
|
|
49
48
|
"axe-core": "4.9.1",
|
|
50
49
|
"axe-playwright": "2.0.1",
|
|
51
50
|
"chalk-table": "^1.0.2",
|
|
@@ -54,6 +53,7 @@
|
|
|
54
53
|
"lodash": "^4.17.21",
|
|
55
54
|
"multiple-cucumber-html-reporter": "3.6.2",
|
|
56
55
|
"nanoid": "^3.3.7",
|
|
56
|
+
"playwright-bdd": "^6.5.0",
|
|
57
57
|
"ts-node": "10.9.2",
|
|
58
58
|
"typescript": "5.4.5"
|
|
59
59
|
},
|
package/postinstall.js
CHANGED
|
@@ -41,7 +41,6 @@ function copyFileIfMissing(fileToCopy, originFolder, destFolder) {
|
|
|
41
41
|
function main () {
|
|
42
42
|
if (fs.existsSync(`${PROJECT_DIR}/package.json`) && !fs.existsSync(`${PROJECT_DIR}/.no-postinstall`)) {
|
|
43
43
|
copyFileIfMissing("playwright.config.ts", `${TARGET_CONFIG_DIR}`, `${PROJECT_DIR}/uuv`);
|
|
44
|
-
copyFileIfMissing("cucumber.cjs", `${TARGET_CONFIG_DIR}`, `${PROJECT_DIR}`);
|
|
45
44
|
execSync("npx playwright install", { stdio: "inherit" });
|
|
46
45
|
} else {
|
|
47
46
|
console.log("postinstall - Nothing to copy");
|
|
@@ -62,7 +62,7 @@ Given(
|
|
|
62
62
|
);
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
|
-
* Start a keyboard navigation session from the top of the page
|
|
65
|
+
* Start a keyboard navigation session from the top of the page<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
66
66
|
* */
|
|
67
67
|
Given(
|
|
68
68
|
`I start a keyboard navigation from the top of the page`,
|
|
@@ -163,14 +163,14 @@ When(`I press {string}`, async function(this: World, key: string) {
|
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
/**
|
|
166
|
-
* Move to the previous html element that can be reached with back Tab
|
|
166
|
+
* Move to the previous html element that can be reached with back Tab<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
167
167
|
* */
|
|
168
168
|
When(`I go to previous keyboard element`, async function(this: World) {
|
|
169
169
|
await this.page.keyboard.press("ShiftLeft+Tab");
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
|
-
* Move to the next html element that can be reached with Tab
|
|
173
|
+
* Move to the next html element that can be reached with Tab<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
174
174
|
* */
|
|
175
175
|
When(`I go to next keyboard element`, async function(this: World) {
|
|
176
176
|
await this.page.keyboard.press("Tab");
|
|
@@ -417,7 +417,7 @@ Then(
|
|
|
417
417
|
);
|
|
418
418
|
|
|
419
419
|
/**
|
|
420
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
420
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
421
421
|
* */
|
|
422
422
|
Then(
|
|
423
423
|
`the element with role {string} and name {string} should be keyboard focused`,
|
|
@@ -427,7 +427,7 @@ Then(
|
|
|
427
427
|
);
|
|
428
428
|
|
|
429
429
|
/**
|
|
430
|
-
* Checks that the Html element with the specified selector is focused
|
|
430
|
+
* Checks that the Html element with the specified selector is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
431
431
|
* */
|
|
432
432
|
Then(
|
|
433
433
|
`the element with selector {string} should be keyboard focused`,
|
|
@@ -489,7 +489,7 @@ Then(`I should see an element with aria-label {string} and content {string}`, as
|
|
|
489
489
|
});
|
|
490
490
|
|
|
491
491
|
/**
|
|
492
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
492
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
493
493
|
* */
|
|
494
494
|
When(`the previous keyboard element focused should have name {string} and role {string}`, async function(this: World, expectedRole: string, name: string) {
|
|
495
495
|
await this.page.keyboard.press("ShiftLeft+Tab");
|
|
@@ -497,7 +497,7 @@ When(`the previous keyboard element focused should have name {string} and role {
|
|
|
497
497
|
});
|
|
498
498
|
|
|
499
499
|
/**
|
|
500
|
-
* "Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
500
|
+
* "Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
501
501
|
* */
|
|
502
502
|
When(`the next keyboard element focused should have name {string} and role {string}`, async function(this: World, expectedRole: string, name: string) {
|
|
503
503
|
await this.page.keyboard.press("Tab");
|
|
@@ -62,7 +62,7 @@ Given(
|
|
|
62
62
|
);
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
|
-
* Démarre une session de navigation au clavier à partir du haut de la page
|
|
65
|
+
* Démarre une session de navigation au clavier à partir du haut de la page<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
66
66
|
* */
|
|
67
67
|
Given(
|
|
68
68
|
`je commence une navigation au clavier depuis le haut de la page`,
|
|
@@ -163,14 +163,14 @@ When(`j'appuie sur {string}`, async function(this: World, key: string) {
|
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
/**
|
|
166
|
-
* se déplace au précédent élément HTML atteignable avec la tabulation retour
|
|
166
|
+
* se déplace au précédent élément HTML atteignable avec la tabulation retour<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
167
167
|
* */
|
|
168
168
|
When(`je vais au précédent élément au clavier`, async function(this: World) {
|
|
169
169
|
await this.page.keyboard.press("ShiftLeft+Tab");
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
|
-
* se déplace au prochain élément HTML atteignable avec la tabulation
|
|
173
|
+
* se déplace au prochain élément HTML atteignable avec la tabulation<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
174
174
|
* */
|
|
175
175
|
When(`je vais au prochain élément au clavier`, async function(this: World) {
|
|
176
176
|
await this.page.keyboard.press("Tab");
|
|
@@ -417,7 +417,7 @@ Then(
|
|
|
417
417
|
);
|
|
418
418
|
|
|
419
419
|
/**
|
|
420
|
-
* Vérifie que l'élément Html avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) est focus
|
|
420
|
+
* Vérifie que l'élément Html avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) est focus<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
421
421
|
* */
|
|
422
422
|
Then(
|
|
423
423
|
`l'élément avec le rôle {string} et le nom {string} doit avoir le focus clavier`,
|
|
@@ -427,7 +427,7 @@ Then(
|
|
|
427
427
|
);
|
|
428
428
|
|
|
429
429
|
/**
|
|
430
|
-
* Vérifie que l'élément Html avec le sélecteur est focus
|
|
430
|
+
* Vérifie que l'élément Html avec le sélecteur est focus<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
431
431
|
* */
|
|
432
432
|
Then(
|
|
433
433
|
`l'élément avec le sélecteur {string} doit avoir le focus clavier`,
|
|
@@ -489,7 +489,7 @@ Then(`je dois voir un élément ayant pour aria-label {string} et pour contenu {
|
|
|
489
489
|
});
|
|
490
490
|
|
|
491
491
|
/**
|
|
492
|
-
* Se déplace au précédent élément HTML atteignable avec la tabulation et vérifie que l'élément Html avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) a le focus clavier
|
|
492
|
+
* Se déplace au précédent élément HTML atteignable avec la tabulation et vérifie que l'élément Html avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) a le focus clavier<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
493
493
|
* */
|
|
494
494
|
When(`le précédent élément avec le focus clavier doit avoir le role {string} et le nom {string}`, async function(this: World, expectedRole: string, name: string) {
|
|
495
495
|
await this.page.keyboard.press("ShiftLeft+Tab");
|
|
@@ -497,7 +497,7 @@ When(`le précédent élément avec le focus clavier doit avoir le role {string}
|
|
|
497
497
|
});
|
|
498
498
|
|
|
499
499
|
/**
|
|
500
|
-
* "Se déplace au prochain élément HTML atteignable avec la tabulation et vérifie que l'élément Html avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) a le focus clavier
|
|
500
|
+
* "Se déplace au prochain élément HTML atteignable avec la tabulation et vérifie que l'élément Html avec le [rôle accessible](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) et le [nom accessible](https://russmaxdesign.github.io/html-elements-names/) a le focus clavier<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/fr-keyboard.feature'>Exemples</a>
|
|
501
501
|
* */
|
|
502
502
|
When(`le prochain élément avec le focus clavier doit avoir le role {string} et le nom {string}`, async function(this: World, expectedRole: string, name: string) {
|
|
503
503
|
await this.page.keyboard.press("Tab");
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a button named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a button named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a button named {string}`,
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a checkbox named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a checkbox named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a checkbox named {string}`,
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a combo box named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a combo box named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a combo box named {string}`,
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a link named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a link named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a link named {string}`,
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a list box named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a list box named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a list box named {string}`,
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a menuitem named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a menuitem named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a menuitem named {string}`,
|
|
@@ -109,7 +109,7 @@ Then(
|
|
|
109
109
|
// Begin of Keyboard Section
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
|
-
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
112
|
+
* Checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
113
113
|
* */
|
|
114
114
|
Then(
|
|
115
115
|
`I should see a menuitemcheckbox named {string} keyboard focused`,
|
|
@@ -119,7 +119,7 @@ Then(
|
|
|
119
119
|
);
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
122
|
+
* Move to the previous html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
123
123
|
* */
|
|
124
124
|
Then(
|
|
125
125
|
`the previous keyboard element focused should be a menuitemcheckbox named {string}`,
|
|
@@ -130,7 +130,7 @@ Then(
|
|
|
130
130
|
);
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused
|
|
133
|
+
* Move to the next html element that can be reached with Tab and checks that the Html element with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) is focused<br/><a target='_blank' href='https://github.com/Orange-OpenSource/uuv/blob/main/example/en-keyboard.feature'>Examples</a>
|
|
134
134
|
* */
|
|
135
135
|
Then(
|
|
136
136
|
`the next keyboard element focused should be a menuitemcheckbox named {string}`,
|