artes 1.0.62 → 1.0.63
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/README.md +356 -356
- package/cucumber.config.js +98 -98
- package/docs/functionDefinitions.md +2342 -2342
- package/docs/stepDefinitions.md +352 -352
- package/executer.js +59 -59
- package/index.js +44 -44
- package/package.json +50 -50
- package/src/helper/contextManager/browserManager.js +66 -66
- package/src/helper/contextManager/requestManager.js +30 -30
- package/src/helper/executers/cleaner.js +23 -23
- package/src/helper/executers/exporter.js +15 -15
- package/src/helper/executers/helper.js +44 -44
- package/src/helper/executers/projectCreator.js +162 -162
- package/src/helper/executers/reportGenerator.js +29 -29
- package/src/helper/executers/testRunner.js +59 -59
- package/src/helper/executers/versionChecker.js +13 -13
- package/src/helper/imports/commons.js +51 -51
- package/src/helper/pomController/elementController.js +146 -146
- package/src/helper/pomController/pomCollector.js +20 -20
- package/src/helper/stepFunctions/APIActions.js +271 -271
- package/src/helper/stepFunctions/assertions.js +523 -523
- package/src/helper/stepFunctions/browserActions.js +21 -21
- package/src/helper/stepFunctions/elementInteractions.js +38 -38
- package/src/helper/stepFunctions/exporter.js +19 -19
- package/src/helper/stepFunctions/frameActions.js +50 -50
- package/src/helper/stepFunctions/keyboardActions.js +41 -41
- package/src/helper/stepFunctions/mouseActions.js +145 -145
- package/src/helper/stepFunctions/pageActions.js +27 -27
- package/src/hooks/context.js +15 -15
- package/src/hooks/hooks.js +76 -76
- package/src/stepDefinitions/API.steps.js +248 -248
- package/src/stepDefinitions/assertions.steps.js +826 -826
- package/src/stepDefinitions/browser.steps.js +7 -7
- package/src/stepDefinitions/frameActions.steps.js +76 -76
- package/src/stepDefinitions/keyboardActions.steps.js +87 -87
- package/src/stepDefinitions/mouseActions.steps.js +256 -256
- package/src/stepDefinitions/page.steps.js +71 -71
- package/src/stepDefinitions/random.steps.js +25 -25
package/executer.js
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
showHelp,
|
|
5
|
-
showVersion,
|
|
6
|
-
createProject,
|
|
7
|
-
runTests,
|
|
8
|
-
generateReport,
|
|
9
|
-
cleanUp,
|
|
10
|
-
} = require("./src/helper/executers/exporter");
|
|
11
|
-
|
|
12
|
-
const args = process.argv.slice(2);
|
|
13
|
-
|
|
14
|
-
const flags = {
|
|
15
|
-
help: args.includes("-h") || args.includes("--help"),
|
|
16
|
-
version: args.includes("-v") || args.includes("--version"),
|
|
17
|
-
create: args.includes("-c") || args.includes("--create"),
|
|
18
|
-
createYes: args.includes("-y") || args.includes("--yes"),
|
|
19
|
-
report: args.includes("-r") || args.includes("--report"),
|
|
20
|
-
trace: args.includes("-t") || args.includes("--trace"),
|
|
21
|
-
features: args.includes("--features"),
|
|
22
|
-
tags: args.includes("--tags"),
|
|
23
|
-
env: args.includes("--env"),
|
|
24
|
-
headless: args.includes("--headless"),
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
function main() {
|
|
28
|
-
if (flags.help) {
|
|
29
|
-
showHelp();
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (flags.version) {
|
|
34
|
-
showVersion();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (flags.create) {
|
|
39
|
-
createProject(flags.createYes);
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// if (flags.trace) {
|
|
44
|
-
// runTests();
|
|
45
|
-
// tracer();
|
|
46
|
-
// cleanUp();
|
|
47
|
-
// }
|
|
48
|
-
|
|
49
|
-
if (flags.report) {
|
|
50
|
-
runTests(args, flags);
|
|
51
|
-
generateReport();
|
|
52
|
-
cleanUp();
|
|
53
|
-
} else {
|
|
54
|
-
runTests(args, flags);
|
|
55
|
-
cleanUp();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
main();
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
showHelp,
|
|
5
|
+
showVersion,
|
|
6
|
+
createProject,
|
|
7
|
+
runTests,
|
|
8
|
+
generateReport,
|
|
9
|
+
cleanUp,
|
|
10
|
+
} = require("./src/helper/executers/exporter");
|
|
11
|
+
|
|
12
|
+
const args = process.argv.slice(2);
|
|
13
|
+
|
|
14
|
+
const flags = {
|
|
15
|
+
help: args.includes("-h") || args.includes("--help"),
|
|
16
|
+
version: args.includes("-v") || args.includes("--version"),
|
|
17
|
+
create: args.includes("-c") || args.includes("--create"),
|
|
18
|
+
createYes: args.includes("-y") || args.includes("--yes"),
|
|
19
|
+
report: args.includes("-r") || args.includes("--report"),
|
|
20
|
+
trace: args.includes("-t") || args.includes("--trace"),
|
|
21
|
+
features: args.includes("--features"),
|
|
22
|
+
tags: args.includes("--tags"),
|
|
23
|
+
env: args.includes("--env"),
|
|
24
|
+
headless: args.includes("--headless"),
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function main() {
|
|
28
|
+
if (flags.help) {
|
|
29
|
+
showHelp();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (flags.version) {
|
|
34
|
+
showVersion();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (flags.create) {
|
|
39
|
+
createProject(flags.createYes);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// if (flags.trace) {
|
|
44
|
+
// runTests();
|
|
45
|
+
// tracer();
|
|
46
|
+
// cleanUp();
|
|
47
|
+
// }
|
|
48
|
+
|
|
49
|
+
if (flags.report) {
|
|
50
|
+
runTests(args, flags);
|
|
51
|
+
generateReport();
|
|
52
|
+
cleanUp();
|
|
53
|
+
} else {
|
|
54
|
+
runTests(args, flags);
|
|
55
|
+
cleanUp();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
main();
|
package/index.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
const {
|
|
2
|
-
expect,
|
|
3
|
-
Given,
|
|
4
|
-
When,
|
|
5
|
-
Then,
|
|
6
|
-
context,
|
|
7
|
-
element,
|
|
8
|
-
selector,
|
|
9
|
-
saveVar,
|
|
10
|
-
extractVarsFromResponse,
|
|
11
|
-
page,
|
|
12
|
-
request,
|
|
13
|
-
random,
|
|
14
|
-
} = require("./src/helper/imports/commons");
|
|
15
|
-
const {
|
|
16
|
-
keyboard,
|
|
17
|
-
mouse,
|
|
18
|
-
frame,
|
|
19
|
-
assert,
|
|
20
|
-
elementInteractions,
|
|
21
|
-
api,
|
|
22
|
-
} = require("./src/helper/stepFunctions/exporter");
|
|
23
|
-
|
|
24
|
-
module.exports = {
|
|
25
|
-
expect,
|
|
26
|
-
Given,
|
|
27
|
-
When,
|
|
28
|
-
Then,
|
|
29
|
-
element,
|
|
30
|
-
selector,
|
|
31
|
-
saveVar,
|
|
32
|
-
extractVarsFromResponse,
|
|
33
|
-
context,
|
|
34
|
-
api,
|
|
35
|
-
random,
|
|
36
|
-
page,
|
|
37
|
-
request,
|
|
38
|
-
api,
|
|
39
|
-
keyboard,
|
|
40
|
-
mouse,
|
|
41
|
-
frame,
|
|
42
|
-
assert,
|
|
43
|
-
elementInteractions,
|
|
44
|
-
};
|
|
1
|
+
const {
|
|
2
|
+
expect,
|
|
3
|
+
Given,
|
|
4
|
+
When,
|
|
5
|
+
Then,
|
|
6
|
+
context,
|
|
7
|
+
element,
|
|
8
|
+
selector,
|
|
9
|
+
saveVar,
|
|
10
|
+
extractVarsFromResponse,
|
|
11
|
+
page,
|
|
12
|
+
request,
|
|
13
|
+
random,
|
|
14
|
+
} = require("./src/helper/imports/commons");
|
|
15
|
+
const {
|
|
16
|
+
keyboard,
|
|
17
|
+
mouse,
|
|
18
|
+
frame,
|
|
19
|
+
assert,
|
|
20
|
+
elementInteractions,
|
|
21
|
+
api,
|
|
22
|
+
} = require("./src/helper/stepFunctions/exporter");
|
|
23
|
+
|
|
24
|
+
module.exports = {
|
|
25
|
+
expect,
|
|
26
|
+
Given,
|
|
27
|
+
When,
|
|
28
|
+
Then,
|
|
29
|
+
element,
|
|
30
|
+
selector,
|
|
31
|
+
saveVar,
|
|
32
|
+
extractVarsFromResponse,
|
|
33
|
+
context,
|
|
34
|
+
api,
|
|
35
|
+
random,
|
|
36
|
+
page,
|
|
37
|
+
request,
|
|
38
|
+
api,
|
|
39
|
+
keyboard,
|
|
40
|
+
mouse,
|
|
41
|
+
frame,
|
|
42
|
+
assert,
|
|
43
|
+
elementInteractions,
|
|
44
|
+
};
|
package/package.json
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "artes",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "The simplest way to automate UI and API tests using Cucumber-style steps.",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"test": "cucumber-js --config=cucumber.config.js",
|
|
8
|
-
"testWithReport": "allure generate --clean --single-file allure-result --output",
|
|
9
|
-
"createProject": "node ./src/helper/executers/projectCreator.js",
|
|
10
|
-
"clean": "rimraf",
|
|
11
|
-
"publishOnly": "prettier -w . && npm version patch && npm publish"
|
|
12
|
-
},
|
|
13
|
-
"bin": {
|
|
14
|
-
"artes": "./executer.js"
|
|
15
|
-
},
|
|
16
|
-
"keywords": [
|
|
17
|
-
"kdt",
|
|
18
|
-
"automation",
|
|
19
|
-
"playwright",
|
|
20
|
-
"cucumber",
|
|
21
|
-
"test automation",
|
|
22
|
-
"end-to-end",
|
|
23
|
-
"API testing"
|
|
24
|
-
],
|
|
25
|
-
"author": "VhdAghyv",
|
|
26
|
-
"license": "ISC",
|
|
27
|
-
"dependencies": {
|
|
28
|
-
"@cucumber/cucumber": "^11.0.1",
|
|
29
|
-
"@cucumber/messages": "^26.0.1",
|
|
30
|
-
"@faker-js/faker": "^9.8.0",
|
|
31
|
-
"@gatling.io/cli": "3.12.0",
|
|
32
|
-
"@gatling.io/core": "3.12.0",
|
|
33
|
-
"@gatling.io/http": "3.12.0",
|
|
34
|
-
"@types/node": "^22.9.0",
|
|
35
|
-
"ajv": "^8.17.1",
|
|
36
|
-
"allure-commandline": "^2.30.0",
|
|
37
|
-
"allure-cucumberjs": "^3.0.5",
|
|
38
|
-
"allure-js-commons": "^3.0.5",
|
|
39
|
-
"playwright": "^1.48.2",
|
|
40
|
-
"rimraf": "^6.0.1"
|
|
41
|
-
},
|
|
42
|
-
"repository": {
|
|
43
|
-
"type": "git",
|
|
44
|
-
"url": "git+https://github.com/4gayev1/Artes"
|
|
45
|
-
},
|
|
46
|
-
"bugs": {
|
|
47
|
-
"url": "https://github.com/4gayev1/Artes/issues"
|
|
48
|
-
},
|
|
49
|
-
"homepage": "https://github.com/4gayev1/Artes/blob/main/README.md"
|
|
50
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "artes",
|
|
3
|
+
"version": "1.0.63",
|
|
4
|
+
"description": "The simplest way to automate UI and API tests using Cucumber-style steps.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "cucumber-js --config=cucumber.config.js",
|
|
8
|
+
"testWithReport": "allure generate --clean --single-file allure-result --output",
|
|
9
|
+
"createProject": "node ./src/helper/executers/projectCreator.js",
|
|
10
|
+
"clean": "rimraf",
|
|
11
|
+
"publishOnly": "prettier -w . && npm version patch && npm publish"
|
|
12
|
+
},
|
|
13
|
+
"bin": {
|
|
14
|
+
"artes": "./executer.js"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"kdt",
|
|
18
|
+
"automation",
|
|
19
|
+
"playwright",
|
|
20
|
+
"cucumber",
|
|
21
|
+
"test automation",
|
|
22
|
+
"end-to-end",
|
|
23
|
+
"API testing"
|
|
24
|
+
],
|
|
25
|
+
"author": "VhdAghyv",
|
|
26
|
+
"license": "ISC",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@cucumber/cucumber": "^11.0.1",
|
|
29
|
+
"@cucumber/messages": "^26.0.1",
|
|
30
|
+
"@faker-js/faker": "^9.8.0",
|
|
31
|
+
"@gatling.io/cli": "3.12.0",
|
|
32
|
+
"@gatling.io/core": "3.12.0",
|
|
33
|
+
"@gatling.io/http": "3.12.0",
|
|
34
|
+
"@types/node": "^22.9.0",
|
|
35
|
+
"ajv": "^8.17.1",
|
|
36
|
+
"allure-commandline": "^2.30.0",
|
|
37
|
+
"allure-cucumberjs": "^3.0.5",
|
|
38
|
+
"allure-js-commons": "^3.0.5",
|
|
39
|
+
"playwright": "^1.48.2",
|
|
40
|
+
"rimraf": "^6.0.1"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/4gayev1/Artes"
|
|
45
|
+
},
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/4gayev1/Artes/issues"
|
|
48
|
+
},
|
|
49
|
+
"homepage": "https://github.com/4gayev1/Artes/blob/main/README.md"
|
|
50
|
+
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
const { chromium, firefox, webkit } = require("playwright");
|
|
2
|
-
const cucumberConfig = require("../../../cucumber.config.js");
|
|
3
|
-
|
|
4
|
-
const invokeBrowser = async () => {
|
|
5
|
-
let browser;
|
|
6
|
-
|
|
7
|
-
let baseURL = "";
|
|
8
|
-
|
|
9
|
-
if (typeof cucumberConfig.baseURL === "object") {
|
|
10
|
-
if (
|
|
11
|
-
cucumberConfig.env != "" ||
|
|
12
|
-
cucumberConfig.env != undefined ||
|
|
13
|
-
cucumberConfig.env != null
|
|
14
|
-
) {
|
|
15
|
-
baseURL = cucumberConfig.baseURL[cucumberConfig.env.trim()];
|
|
16
|
-
} else {
|
|
17
|
-
baseURL =
|
|
18
|
-
cucumberConfig.baseURL[Object.keys(cucumberConfig.baseURL)[0].trim()];
|
|
19
|
-
}
|
|
20
|
-
} else {
|
|
21
|
-
baseURL = cucumberConfig.baseURL;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const options = {
|
|
25
|
-
headless: cucumberConfig.browser.headless,
|
|
26
|
-
args: [cucumberConfig.browser.maximizeScreen ? "--start-maximized" : ""],
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const browserType =
|
|
30
|
-
cucumberConfig.browser.browserType.toLowerCase() || "chrome";
|
|
31
|
-
|
|
32
|
-
const browserContextOptions = {
|
|
33
|
-
baseURL: baseURL,
|
|
34
|
-
viewport: cucumberConfig.browser.maximizeScreen
|
|
35
|
-
? null
|
|
36
|
-
: cucumberConfig.browser.viewport,
|
|
37
|
-
recordVideo: {
|
|
38
|
-
dir: "./test-results/visualReport/",
|
|
39
|
-
size: cucumberConfig.browser.viewport,
|
|
40
|
-
},
|
|
41
|
-
ignoreHTTPSErrors: true,
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
switch (browserType) {
|
|
45
|
-
case "chrome":
|
|
46
|
-
browser = await chromium.launch(options);
|
|
47
|
-
break;
|
|
48
|
-
case "firefox":
|
|
49
|
-
browser = await firefox.launch(options);
|
|
50
|
-
break;
|
|
51
|
-
case "webkit":
|
|
52
|
-
browser = await webkit.launch(options);
|
|
53
|
-
break;
|
|
54
|
-
default:
|
|
55
|
-
throw new Error(
|
|
56
|
-
"Please set the proper browser!\n Options: chrome, firefox, webkit",
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const context = await browser.newContext(browserContextOptions);
|
|
61
|
-
return await context;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
module.exports = {
|
|
65
|
-
invokeBrowser,
|
|
66
|
-
};
|
|
1
|
+
const { chromium, firefox, webkit } = require("playwright");
|
|
2
|
+
const cucumberConfig = require("../../../cucumber.config.js");
|
|
3
|
+
|
|
4
|
+
const invokeBrowser = async () => {
|
|
5
|
+
let browser;
|
|
6
|
+
|
|
7
|
+
let baseURL = "";
|
|
8
|
+
|
|
9
|
+
if (typeof cucumberConfig.baseURL === "object") {
|
|
10
|
+
if (
|
|
11
|
+
cucumberConfig.env != "" ||
|
|
12
|
+
cucumberConfig.env != undefined ||
|
|
13
|
+
cucumberConfig.env != null
|
|
14
|
+
) {
|
|
15
|
+
baseURL = cucumberConfig.baseURL[cucumberConfig.env.trim()];
|
|
16
|
+
} else {
|
|
17
|
+
baseURL =
|
|
18
|
+
cucumberConfig.baseURL[Object.keys(cucumberConfig.baseURL)[0].trim()];
|
|
19
|
+
}
|
|
20
|
+
} else {
|
|
21
|
+
baseURL = cucumberConfig.baseURL;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const options = {
|
|
25
|
+
headless: cucumberConfig.browser.headless,
|
|
26
|
+
args: [cucumberConfig.browser.maximizeScreen ? "--start-maximized" : ""],
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const browserType =
|
|
30
|
+
cucumberConfig.browser.browserType.toLowerCase() || "chrome";
|
|
31
|
+
|
|
32
|
+
const browserContextOptions = {
|
|
33
|
+
baseURL: baseURL,
|
|
34
|
+
viewport: cucumberConfig.browser.maximizeScreen
|
|
35
|
+
? null
|
|
36
|
+
: cucumberConfig.browser.viewport,
|
|
37
|
+
recordVideo: {
|
|
38
|
+
dir: "./test-results/visualReport/",
|
|
39
|
+
size: cucumberConfig.browser.viewport,
|
|
40
|
+
},
|
|
41
|
+
ignoreHTTPSErrors: true,
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
switch (browserType) {
|
|
45
|
+
case "chrome":
|
|
46
|
+
browser = await chromium.launch(options);
|
|
47
|
+
break;
|
|
48
|
+
case "firefox":
|
|
49
|
+
browser = await firefox.launch(options);
|
|
50
|
+
break;
|
|
51
|
+
case "webkit":
|
|
52
|
+
browser = await webkit.launch(options);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
throw new Error(
|
|
56
|
+
"Please set the proper browser!\n Options: chrome, firefox, webkit",
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const context = await browser.newContext(browserContextOptions);
|
|
61
|
+
return await context;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
module.exports = {
|
|
65
|
+
invokeBrowser,
|
|
66
|
+
};
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
const { request } = require("playwright");
|
|
2
|
-
const cucumberConfig = require("../../../cucumber.config.js");
|
|
3
|
-
|
|
4
|
-
let baseURL = "";
|
|
5
|
-
|
|
6
|
-
if (typeof cucumberConfig.baseURL === "object") {
|
|
7
|
-
if (
|
|
8
|
-
cucumberConfig.env != "" ||
|
|
9
|
-
cucumberConfig.env != undefined ||
|
|
10
|
-
cucumberConfig.env != null
|
|
11
|
-
) {
|
|
12
|
-
baseURL = cucumberConfig.baseURL[cucumberConfig.env.trim()];
|
|
13
|
-
} else {
|
|
14
|
-
baseURL =
|
|
15
|
-
cucumberConfig.baseURL[Object.keys(cucumberConfig.baseURL)[0].trim()];
|
|
16
|
-
}
|
|
17
|
-
} else {
|
|
18
|
-
baseURL = cucumberConfig.baseURL;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const requestContextOptions = {
|
|
22
|
-
baseURL: baseURL,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
async function invokeRequest() {
|
|
26
|
-
const context = await request.newContext(requestContextOptions);
|
|
27
|
-
return context;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports = { invokeRequest };
|
|
1
|
+
const { request } = require("playwright");
|
|
2
|
+
const cucumberConfig = require("../../../cucumber.config.js");
|
|
3
|
+
|
|
4
|
+
let baseURL = "";
|
|
5
|
+
|
|
6
|
+
if (typeof cucumberConfig.baseURL === "object") {
|
|
7
|
+
if (
|
|
8
|
+
cucumberConfig.env != "" ||
|
|
9
|
+
cucumberConfig.env != undefined ||
|
|
10
|
+
cucumberConfig.env != null
|
|
11
|
+
) {
|
|
12
|
+
baseURL = cucumberConfig.baseURL[cucumberConfig.env.trim()];
|
|
13
|
+
} else {
|
|
14
|
+
baseURL =
|
|
15
|
+
cucumberConfig.baseURL[Object.keys(cucumberConfig.baseURL)[0].trim()];
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
baseURL = cucumberConfig.baseURL;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const requestContextOptions = {
|
|
22
|
+
baseURL: baseURL,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
async function invokeRequest() {
|
|
26
|
+
const context = await request.newContext(requestContextOptions);
|
|
27
|
+
return context;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
module.exports = { invokeRequest };
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
const { moduleConfig } = require("../imports/commons");
|
|
2
|
-
const { spawnSync } = require("child_process");
|
|
3
|
-
|
|
4
|
-
function cleanUp() {
|
|
5
|
-
try {
|
|
6
|
-
const result = spawnSync(
|
|
7
|
-
"npm",
|
|
8
|
-
["run", "clean", moduleConfig.cleanUpPaths],
|
|
9
|
-
{
|
|
10
|
-
cwd: moduleConfig.modulePath,
|
|
11
|
-
stdio: "ignore",
|
|
12
|
-
shell: true,
|
|
13
|
-
},
|
|
14
|
-
);
|
|
15
|
-
} catch (error) {
|
|
16
|
-
console.error("❌ Error in cleanup:", error.message);
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
module.exports = {
|
|
22
|
-
cleanUp,
|
|
23
|
-
};
|
|
1
|
+
const { moduleConfig } = require("../imports/commons");
|
|
2
|
+
const { spawnSync } = require("child_process");
|
|
3
|
+
|
|
4
|
+
function cleanUp() {
|
|
5
|
+
try {
|
|
6
|
+
const result = spawnSync(
|
|
7
|
+
"npm",
|
|
8
|
+
["run", "clean", moduleConfig.cleanUpPaths],
|
|
9
|
+
{
|
|
10
|
+
cwd: moduleConfig.modulePath,
|
|
11
|
+
stdio: "ignore",
|
|
12
|
+
shell: true,
|
|
13
|
+
},
|
|
14
|
+
);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
console.error("❌ Error in cleanup:", error.message);
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = {
|
|
22
|
+
cleanUp,
|
|
23
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
const { showHelp } = require("./helper");
|
|
2
|
-
const { createProject } = require("./projectCreator");
|
|
3
|
-
const { generateReport } = require("./reportGenerator");
|
|
4
|
-
const { runTests } = require("./testRunner");
|
|
5
|
-
const { showVersion } = require("./versionChecker");
|
|
6
|
-
const { cleanUp } = require("./cleaner");
|
|
7
|
-
|
|
8
|
-
module.exports = {
|
|
9
|
-
createProject,
|
|
10
|
-
generateReport,
|
|
11
|
-
runTests,
|
|
12
|
-
showHelp,
|
|
13
|
-
showVersion,
|
|
14
|
-
cleanUp,
|
|
15
|
-
};
|
|
1
|
+
const { showHelp } = require("./helper");
|
|
2
|
+
const { createProject } = require("./projectCreator");
|
|
3
|
+
const { generateReport } = require("./reportGenerator");
|
|
4
|
+
const { runTests } = require("./testRunner");
|
|
5
|
+
const { showVersion } = require("./versionChecker");
|
|
6
|
+
const { cleanUp } = require("./cleaner");
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
createProject,
|
|
10
|
+
generateReport,
|
|
11
|
+
runTests,
|
|
12
|
+
showHelp,
|
|
13
|
+
showVersion,
|
|
14
|
+
cleanUp,
|
|
15
|
+
};
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
function showHelp() {
|
|
2
|
-
console.log(`
|
|
3
|
-
🚀 Artes - Playwright Test Runner
|
|
4
|
-
|
|
5
|
-
Description:
|
|
6
|
-
Artes is a test runner for Playwright that executes Cucumber tests
|
|
7
|
-
and can generate Allure reports.
|
|
8
|
-
|
|
9
|
-
Usage:
|
|
10
|
-
npx artes [options]
|
|
11
|
-
|
|
12
|
-
Options:
|
|
13
|
-
🆘 -h, --help Show this help message
|
|
14
|
-
Usage: artes -h or artes --help
|
|
15
|
-
|
|
16
|
-
🏷️ -v, --version Show current version of artes
|
|
17
|
-
Usage: artes -v or artes --version
|
|
18
|
-
|
|
19
|
-
🏗️ -c, --create Create example project with artes
|
|
20
|
-
Usage: artes -c or artes --create
|
|
21
|
-
|
|
22
|
-
✅ -y, --yes Skip confirmation prompt for creating example project
|
|
23
|
-
Usage: artes -c -y or artes --create --yes
|
|
24
|
-
|
|
25
|
-
📊 -r, --report Run tests and generate Allure report
|
|
26
|
-
Usage: artes -r or artes --report
|
|
27
|
-
|
|
28
|
-
📁 --features Specify one or more feature files' relative paths to run (comma-separated)
|
|
29
|
-
Usage: artes --features "tests/features/Alma, tests/features/Banan.feature"
|
|
30
|
-
|
|
31
|
-
🔖 --tags Run tests with specified Cucumber tags
|
|
32
|
-
Usage: artes --tags "@smoke and not @wip"
|
|
33
|
-
|
|
34
|
-
🌐 --env Set environment for the test run
|
|
35
|
-
Usage: artes --env "dev"
|
|
36
|
-
|
|
37
|
-
🕶️ --headless Run browser in headless mode
|
|
38
|
-
Usage: artes --headless
|
|
39
|
-
`);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
module.exports = {
|
|
43
|
-
showHelp,
|
|
44
|
-
};
|
|
1
|
+
function showHelp() {
|
|
2
|
+
console.log(`
|
|
3
|
+
🚀 Artes - Playwright Test Runner
|
|
4
|
+
|
|
5
|
+
Description:
|
|
6
|
+
Artes is a test runner for Playwright that executes Cucumber tests
|
|
7
|
+
and can generate Allure reports.
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
npx artes [options]
|
|
11
|
+
|
|
12
|
+
Options:
|
|
13
|
+
🆘 -h, --help Show this help message
|
|
14
|
+
Usage: artes -h or artes --help
|
|
15
|
+
|
|
16
|
+
🏷️ -v, --version Show current version of artes
|
|
17
|
+
Usage: artes -v or artes --version
|
|
18
|
+
|
|
19
|
+
🏗️ -c, --create Create example project with artes
|
|
20
|
+
Usage: artes -c or artes --create
|
|
21
|
+
|
|
22
|
+
✅ -y, --yes Skip confirmation prompt for creating example project
|
|
23
|
+
Usage: artes -c -y or artes --create --yes
|
|
24
|
+
|
|
25
|
+
📊 -r, --report Run tests and generate Allure report
|
|
26
|
+
Usage: artes -r or artes --report
|
|
27
|
+
|
|
28
|
+
📁 --features Specify one or more feature files' relative paths to run (comma-separated)
|
|
29
|
+
Usage: artes --features "tests/features/Alma, tests/features/Banan.feature"
|
|
30
|
+
|
|
31
|
+
🔖 --tags Run tests with specified Cucumber tags
|
|
32
|
+
Usage: artes --tags "@smoke and not @wip"
|
|
33
|
+
|
|
34
|
+
🌐 --env Set environment for the test run
|
|
35
|
+
Usage: artes --env "dev"
|
|
36
|
+
|
|
37
|
+
🕶️ --headless Run browser in headless mode
|
|
38
|
+
Usage: artes --headless
|
|
39
|
+
`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
module.exports = {
|
|
43
|
+
showHelp,
|
|
44
|
+
};
|