artes 1.7.4 → 1.7.6

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.
Files changed (48) hide show
  1. package/README.md +781 -779
  2. package/assets/styles.css +4 -4
  3. package/cucumber.config.js +253 -253
  4. package/docs/ciExecutors.md +198 -198
  5. package/docs/emulationDevicesList.md +152 -152
  6. package/docs/functionDefinitions.md +2401 -2401
  7. package/docs/stepDefinitions.md +435 -433
  8. package/executer.js +266 -264
  9. package/index.js +50 -50
  10. package/package.json +56 -56
  11. package/src/helper/contextManager/browserManager.js +74 -74
  12. package/src/helper/contextManager/requestManager.js +23 -23
  13. package/src/helper/controller/elementController.js +210 -210
  14. package/src/helper/controller/findDuplicateTestNames.js +69 -69
  15. package/src/helper/controller/getEnvInfo.js +94 -94
  16. package/src/helper/controller/getExecutor.js +109 -109
  17. package/src/helper/controller/pomCollector.js +83 -83
  18. package/src/helper/controller/reportCustomizer.js +485 -485
  19. package/src/helper/controller/screenComparer.js +97 -108
  20. package/src/helper/controller/status-formatter.js +137 -137
  21. package/src/helper/controller/testCoverageCalculator.js +111 -111
  22. package/src/helper/executers/cleaner.js +23 -23
  23. package/src/helper/executers/exporter.js +19 -19
  24. package/src/helper/executers/helper.js +193 -191
  25. package/src/helper/executers/projectCreator.js +226 -222
  26. package/src/helper/executers/reportGenerator.js +91 -91
  27. package/src/helper/executers/testRunner.js +28 -28
  28. package/src/helper/executers/versionChecker.js +31 -31
  29. package/src/helper/imports/commons.js +65 -65
  30. package/src/helper/stepFunctions/APIActions.js +495 -495
  31. package/src/helper/stepFunctions/assertions.js +986 -986
  32. package/src/helper/stepFunctions/browserActions.js +87 -87
  33. package/src/helper/stepFunctions/elementInteractions.js +60 -60
  34. package/src/helper/stepFunctions/exporter.js +19 -19
  35. package/src/helper/stepFunctions/frameActions.js +72 -72
  36. package/src/helper/stepFunctions/keyboardActions.js +66 -66
  37. package/src/helper/stepFunctions/mouseActions.js +84 -84
  38. package/src/helper/stepFunctions/pageActions.js +43 -43
  39. package/src/hooks/context.js +15 -15
  40. package/src/hooks/hooks.js +287 -279
  41. package/src/stepDefinitions/API.steps.js +310 -310
  42. package/src/stepDefinitions/assertions.steps.js +1303 -1280
  43. package/src/stepDefinitions/browser.steps.js +74 -74
  44. package/src/stepDefinitions/frameActions.steps.js +76 -76
  45. package/src/stepDefinitions/keyboardActions.steps.js +264 -264
  46. package/src/stepDefinitions/mouseActions.steps.js +378 -378
  47. package/src/stepDefinitions/page.steps.js +71 -71
  48. package/src/stepDefinitions/random.steps.js +191 -191
package/executer.js CHANGED
@@ -1,264 +1,266 @@
1
- #!/usr/bin/env node
2
- const {
3
- showHelp,
4
- showAIHelp,
5
- showVersion,
6
- showBrowserHelp,
7
- showExecutionHelp,
8
- showReportingHelp,
9
- createProject,
10
- runTests,
11
- generateReport,
12
- cleanUp,
13
- } = require("./src/helper/executers/exporter");
14
-
15
- const { logPomWarnings } = require("./src/helper/controller/pomCollector");
16
- const { testCoverageCalculator } = require("./src/helper/controller/testCoverageCalculator");
17
- const { getExecutor } = require("./src/helper/controller/getExecutor");
18
- const { findDuplicateTestNames } = require("./src/helper/controller/findDuplicateTestNames");
19
- const { getEnvInfo } = require("artes/src/helper/controller/getEnvInfo");
20
- const { uploadReport } = require("./src/helper/controller/reportUploader");
21
-
22
- const fs = require("fs");
23
- const path = require("path");
24
-
25
- const artesConfigPath = path.resolve(process.cwd(), "artes.config.js");
26
-
27
- let artesConfig = {};
28
-
29
- if (fs.existsSync(artesConfigPath)) {
30
- artesConfig = require(artesConfigPath);
31
- }
32
-
33
- const args = process.argv.slice(2);
34
-
35
- const set = (key, value) => { if (value) process.env[key] = value; };
36
-
37
- const getArgValue = (flag) => {
38
- const index = args.indexOf(flag);
39
- return index >= 0 ? args[index + 1] : undefined;
40
- };
41
-
42
-
43
- const flags = {
44
- // Main
45
- help: args.includes("-h") || args.includes("--help"),
46
- version: args.includes("-v") || args.includes("--version"),
47
- create: args.includes("-c") || args.includes("--create"),
48
-
49
- // Sub-command help pages
50
- reportHelp: (args[0] === "report" && args.includes("--help")),
51
- browserHelp: (args[0] === "browser" && args.includes("--help")),
52
- executionHelp: (args[0] === "execution" && args.includes("--help")),
53
- aiHelp: (args[0] === "ai" && args.includes("--help")),
54
-
55
- // Reporting
56
- report: args.includes("-r") || args.includes("--report"),
57
- reportSuccess: args.includes("--reportSuccess"),
58
- reportWithTrace: args.includes("-rwt") || args.includes("--reportWithTrace"),
59
- trace: args.includes("--trace"),
60
- singleFileReport: args.includes("--singleFileReport"),
61
- zip: args.includes("--zip"),
62
- logo: args.includes("--logo"),
63
- brandName: args.includes("--brandName"),
64
- reportName: args.includes("--reportName"),
65
- uploadReport: args.includes("--uploadReport"),
66
- reporterURL: args.includes("--reporterURL"),
67
- projectName: args.includes("--projectName"),
68
- projectType: args.includes("--projectType"),
69
- reportPath: args.includes("--reportPath"),
70
-
71
- // Browser & Environment
72
- browser: args.includes("--browser"),
73
- device: args.includes("--device"),
74
- maxScreen: args.includes("--maxScreen"),
75
- width: args.includes("--width"),
76
- height: args.includes("--height"),
77
-
78
- // Execution
79
- baseURL: args.includes("--baseURL"),
80
- env: args.includes("--env"),
81
- headless: args.includes("--headless"),
82
- offline: args.includes("--offline"),
83
- features: args.includes("--features"),
84
- stepDef: args.includes("--stepDef"),
85
- tags: args.includes("--tags"),
86
- parallel: args.includes("--parallel"),
87
- retry: args.includes("--retry"),
88
- rerun: args.includes("--rerun"),
89
- dryRun: args.includes("--dryRun"),
90
- percentage: args.includes("--percentage"),
91
- timeout: args.includes("--timeout"),
92
- slowMo: args.includes("--slowMo"),
93
- saveVar: args.includes("--saveVar"),
94
-
95
- // AI
96
- ai: args.includes("--ai"),
97
- aiModel: args.includes("--aiModel"),
98
- aiKey: args.includes("--aiKey"),
99
- aiURL: args.includes("--aiURL"),
100
- aiLanguage: args.includes("--aiLanguage"),
101
- maxTokens: args.includes("--maxTokens"),
102
- maxReports: args.includes("--maxReports"),
103
- };
104
-
105
- const shouldReport = flags.reportWithTrace || artesConfig.reportWithTrace || flags.report || artesConfig.report;
106
-
107
- // Reporting & Branding
108
- const logo = getArgValue("--logo");
109
- const brandName = getArgValue("--brandName");
110
- const reportName = getArgValue("--reportName");
111
- const reporterURL = getArgValue("--reporterURL");
112
- const projectName = getArgValue("--projectName");
113
- const projectType = getArgValue("--projectType");
114
- const reportPath = getArgValue("--reportPath");
115
-
116
- // Browser & Environment
117
- const browser = getArgValue("--browser");
118
- const baseURL = getArgValue("--baseURL");
119
- const device = getArgValue("--device");
120
- const width = getArgValue("--width");
121
- const height = getArgValue("--height");
122
-
123
- // Execution
124
- const env = getArgValue("--env");
125
- const featureFiles = getArgValue("--features");
126
- const features = flags.features && featureFiles;
127
- const stepDef = getArgValue("--stepDef");
128
- const tags = getArgValue("--tags");
129
- const parallel = getArgValue("--parallel");
130
- const retry = getArgValue("--retry");
131
- const rerun = getArgValue("--rerun");
132
- const percentage = getArgValue("--percentage");
133
- const timeout = getArgValue("--timeout");
134
- const slowMo = getArgValue("--slowMo");
135
- const vars = getArgValue("--saveVar");
136
-
137
- // AI
138
- const aiModel = getArgValue("--aiModel");
139
- const aiKey = getArgValue("--aiKey");
140
- const aiURL = getArgValue("--aiURL");
141
- const aiLanguage = getArgValue("--aiLanguage");
142
- const maxTokens = getArgValue("--maxTokens");
143
- const maxReports = getArgValue("--maxReports");
144
-
145
-
146
-
147
- // Reporting & Branding
148
- set("REPORT", flags.report);
149
- set("REPORT_SUCCESS", flags.reportSuccess);
150
- set("SINGLE_FILE_REPORT", flags.singleFileReport);
151
- set("REPORT_WITH_TRACE", flags.reportWithTrace);
152
- set("TRACE", flags.trace);
153
- set("ZIP", flags.zip);
154
- set("LOGO", logo);
155
- set("BRAND_NAME", brandName);
156
- set("REPORT_NAME", reportName);
157
-
158
- if (shouldReport) { process.env.REPORT_FORMAT = JSON.stringify(["allure-cucumberjs/reporter:./allure-results"]) }
159
-
160
- set("REPORTER_URL", reporterURL);
161
- set("PROJECT_NAME", projectName);
162
- set("PROJECT_TYPE", projectType);
163
- set("REPORT_PATH", reportPath);
164
-
165
- // Browser & Environment
166
- set("BROWSER", browser);
167
- set("BASE_URL", baseURL ? JSON.stringify(baseURL) : null);
168
- set("DEVICE", device ? JSON.stringify(device) : null);
169
- set("MODE", flags.headless ? JSON.stringify(true) : null);
170
- set("OFFLINE", flags.offline);
171
- set("MAXIMIZE_SCREEN", flags.maxScreen);
172
- set("WIDTH", width);
173
- set("HEIGHT", height);
174
-
175
- // Execution
176
- set("ENV", env);
177
- set("VARS", vars);
178
- set("FEATURES", features);
179
- set("STEP_DEFINITIONS", stepDef);
180
- set("RUN_TAGS", tags ? JSON.stringify(tags) : null);
181
- set("PARALLEL", parallel);
182
- set("RETRY", retry);
183
- set("RERUN", rerun);
184
- set("DRYRUN", flags.dryRun);
185
- set("PERCENTAGE", percentage);
186
- set("TIMEOUT", timeout);
187
- set("SLOWMO", slowMo);
188
-
189
- // AI
190
- set("AI", flags.ai);
191
- set("AI_URL", aiURL);
192
- set("AI_MODEL", aiModel);
193
- set("AI_KEY", aiKey);
194
- set("AI_LANGUAGE", aiLanguage);
195
- set("MAX_TOKENS", maxTokens);
196
- set("MAX_REPORTS", maxReports);
197
-
198
-
199
- async function main() {
200
- if (flags.reportHelp) return showReportingHelp();
201
- if (flags.browserHelp) return showBrowserHelp();
202
- if (flags.executionHelp) return showExecutionHelp();
203
- if (flags.aiHelp) return showAIHelp();
204
-
205
- if (flags.help) return showHelp();
206
- if (flags.version) return showVersion();
207
- if (flags.create) return createProject(flags.createYes, flags.noDeps);
208
-
209
-
210
- runTests();
211
-
212
- const testPercentage = process.env.PERCENTAGE ? Number(process.env.PERCENTAGE) : artesConfig.testPercentage || 0;
213
-
214
- const testCoverage = testCoverageCalculator({ percentage: testPercentage });
215
-
216
- if (!testCoverage) {
217
- cleanUp();
218
- process.exit(1);
219
- }
220
-
221
- if (testCoverage.totalTests === 0) {
222
- cleanUp();
223
- process.exit(process.env.EXIT_CODE);
224
- }
225
-
226
- logPomWarnings();
227
-
228
- findDuplicateTestNames();
229
-
230
- const source = path.join(process.cwd(), "node_modules", "artes", "@rerun.txt" );
231
- const destination = path.join(process.cwd(), "@rerun.txt");
232
- if (fs.existsSync(source)) { fs.renameSync(source, destination)}
233
-
234
- if (shouldReport) {
235
- getExecutor();
236
- getEnvInfo();
237
- generateReport();
238
- }
239
-
240
- const traceEnabled = process.env.TRACE === "true" || artesConfig.trace || false;
241
- if (!traceEnabled) {
242
- fs.rmSync(path.join(process.cwd(), "traces"), { recursive: true, force: true });
243
- }
244
-
245
- try {
246
- if (flags.uploadReport || artesConfig.uploadReport) {
247
- await uploadReport({
248
- reporterURL: reporterURL || artesConfig.reporterURL,
249
- projectName: projectName || artesConfig.projectName || "Artes Report",
250
- projectType: projectType || artesConfig.projectType || "Artes",
251
- reportName: reportName || artesConfig.reportName || "Artes Report",
252
- reportPath: reportPath || artesConfig.reportPath || path.join(process.cwd(), "report.zip")
253
- });
254
- }
255
- } catch (err) {
256
- console.error("Upload failed:", err.message);
257
- } finally {
258
- cleanUp();
259
- process.exit(process.env.EXIT_CODE);
260
- }
261
-
262
- }
263
-
264
- main();
1
+ #!/usr/bin/env node
2
+ const {
3
+ showHelp,
4
+ showAIHelp,
5
+ showVersion,
6
+ showBrowserHelp,
7
+ showExecutionHelp,
8
+ showReportingHelp,
9
+ createProject,
10
+ runTests,
11
+ generateReport,
12
+ cleanUp,
13
+ } = require("./src/helper/executers/exporter");
14
+
15
+ const { logPomWarnings } = require("./src/helper/controller/pomCollector");
16
+ const { testCoverageCalculator } = require("./src/helper/controller/testCoverageCalculator");
17
+ const { getExecutor } = require("./src/helper/controller/getExecutor");
18
+ const { findDuplicateTestNames } = require("./src/helper/controller/findDuplicateTestNames");
19
+ const { getEnvInfo } = require("artes/src/helper/controller/getEnvInfo");
20
+ const { uploadReport } = require("./src/helper/controller/reportUploader");
21
+
22
+ const fs = require("fs");
23
+ const path = require("path");
24
+
25
+ const artesConfigPath = path.resolve(process.cwd(), "artes.config.js");
26
+
27
+ let artesConfig = {};
28
+
29
+ if (fs.existsSync(artesConfigPath)) {
30
+ artesConfig = require(artesConfigPath);
31
+ }
32
+
33
+ const args = process.argv.slice(2);
34
+
35
+ const setEnvValue = (key, value) => { if (value) process.env[key] = value; };
36
+
37
+ const getArgValue = (flag) => {
38
+ const index = args.indexOf(flag);
39
+ return index >= 0 ? args[index + 1] : undefined;
40
+ };
41
+
42
+
43
+ const flags = {
44
+ // Main
45
+ help: args.includes("-h") || args.includes("--help"),
46
+ version: args.includes("-v") || args.includes("--version"),
47
+ create: args.includes("-c") || args.includes("--create"),
48
+ createYes: args.includes("-y") || args.includes("--yes"),
49
+ noDeps: args.includes("--noDeps"),
50
+
51
+ // Sub-command help pages
52
+ reportHelp: (args[0] === "report" && args.includes("--help")),
53
+ browserHelp: (args[0] === "browser" && args.includes("--help")),
54
+ executionHelp: (args[0] === "execution" && args.includes("--help")),
55
+ aiHelp: (args[0] === "ai" && args.includes("--help")),
56
+
57
+ // Reporting
58
+ report: args.includes("-r") || args.includes("--report"),
59
+ reportSuccess: args.includes("--reportSuccess"),
60
+ reportWithTrace: args.includes("-rwt") || args.includes("--reportWithTrace"),
61
+ trace: args.includes("--trace"),
62
+ singleFileReport: args.includes("--singleFileReport"),
63
+ zip: args.includes("--zip"),
64
+ logo: args.includes("--logo"),
65
+ brandName: args.includes("--brandName"),
66
+ reportName: args.includes("--reportName"),
67
+ uploadReport: args.includes("--uploadReport"),
68
+ reporterURL: args.includes("--reporterURL"),
69
+ projectName: args.includes("--projectName"),
70
+ projectType: args.includes("--projectType"),
71
+ reportPath: args.includes("--reportPath"),
72
+
73
+ // Browser & Environment
74
+ browser: args.includes("--browser"),
75
+ device: args.includes("--device"),
76
+ maxScreen: args.includes("--maxScreen"),
77
+ width: args.includes("--width"),
78
+ height: args.includes("--height"),
79
+
80
+ // Execution
81
+ baseURL: args.includes("--baseURL"),
82
+ env: args.includes("--env"),
83
+ headless: args.includes("--headless"),
84
+ offline: args.includes("--offline"),
85
+ features: args.includes("--features"),
86
+ stepDef: args.includes("--stepDef"),
87
+ tags: args.includes("--tags"),
88
+ parallel: args.includes("--parallel"),
89
+ retry: args.includes("--retry"),
90
+ rerun: args.includes("--rerun"),
91
+ dryRun: args.includes("--dryRun"),
92
+ percentage: args.includes("--percentage"),
93
+ timeout: args.includes("--timeout"),
94
+ slowMo: args.includes("--slowMo"),
95
+ saveVar: args.includes("--saveVar"),
96
+
97
+ // AI
98
+ ai: args.includes("--ai"),
99
+ aiModel: args.includes("--aiModel"),
100
+ aiKey: args.includes("--aiKey"),
101
+ aiURL: args.includes("--aiURL"),
102
+ aiLanguage: args.includes("--aiLanguage"),
103
+ maxTokens: args.includes("--maxTokens"),
104
+ maxReports: args.includes("--maxReports"),
105
+ };
106
+
107
+ const shouldReport = flags.reportWithTrace || artesConfig.reportWithTrace || flags.report || artesConfig.report;
108
+
109
+ // Reporting & Branding
110
+ const logo = getArgValue("--logo");
111
+ const brandName = getArgValue("--brandName");
112
+ const reportName = getArgValue("--reportName");
113
+ const reporterURL = getArgValue("--reporterURL");
114
+ const projectName = getArgValue("--projectName");
115
+ const projectType = getArgValue("--projectType");
116
+ const reportPath = getArgValue("--reportPath");
117
+
118
+ // Browser & Environment
119
+ const browser = getArgValue("--browser");
120
+ const baseURL = getArgValue("--baseURL");
121
+ const device = getArgValue("--device");
122
+ const width = getArgValue("--width");
123
+ const height = getArgValue("--height");
124
+
125
+ // Execution
126
+ const env = getArgValue("--env");
127
+ const featureFiles = getArgValue("--features");
128
+ const features = flags.features && featureFiles;
129
+ const stepDef = getArgValue("--stepDef");
130
+ const tags = getArgValue("--tags");
131
+ const parallel = getArgValue("--parallel");
132
+ const retry = getArgValue("--retry");
133
+ const rerun = getArgValue("--rerun");
134
+ const percentage = getArgValue("--percentage");
135
+ const timeout = getArgValue("--timeout");
136
+ const slowMo = getArgValue("--slowMo");
137
+ const vars = getArgValue("--saveVar");
138
+
139
+ // AI
140
+ const aiModel = getArgValue("--aiModel");
141
+ const aiKey = getArgValue("--aiKey");
142
+ const aiURL = getArgValue("--aiURL");
143
+ const aiLanguage = getArgValue("--aiLanguage");
144
+ const maxTokens = getArgValue("--maxTokens");
145
+ const maxReports = getArgValue("--maxReports");
146
+
147
+
148
+
149
+ // Reporting & Branding
150
+ setEnvValue("REPORT", flags.report);
151
+ setEnvValue("REPORT_SUCCESS", flags.reportSuccess);
152
+ setEnvValue("SINGLE_FILE_REPORT", flags.singleFileReport);
153
+ setEnvValue("REPORT_WITH_TRACE", flags.reportWithTrace);
154
+ setEnvValue("TRACE", flags.trace);
155
+ setEnvValue("ZIP", flags.zip);
156
+ setEnvValue("LOGO", logo);
157
+ setEnvValue("BRAND_NAME", brandName);
158
+ setEnvValue("REPORT_NAME", reportName);
159
+
160
+ if (shouldReport) { process.env.REPORT_FORMAT = JSON.stringify(["allure-cucumberjs/reporter:./allure-results"]) }
161
+
162
+ setEnvValue("REPORTER_URL", reporterURL);
163
+ setEnvValue("PROJECT_NAME", projectName);
164
+ setEnvValue("PROJECT_TYPE", projectType);
165
+ setEnvValue("REPORT_PATH", reportPath);
166
+
167
+ // Browser & Environment
168
+ setEnvValue("BROWSER", browser);
169
+ setEnvValue("BASE_URL", baseURL ? JSON.stringify(baseURL) : null);
170
+ setEnvValue("DEVICE", device ? JSON.stringify(device) : null);
171
+ setEnvValue("MODE", flags.headless ? JSON.stringify(true) : null);
172
+ setEnvValue("OFFLINE", flags.offline);
173
+ setEnvValue("MAXIMIZE_SCREEN", flags.maxScreen);
174
+ setEnvValue("WIDTH", width);
175
+ setEnvValue("HEIGHT", height);
176
+
177
+ // Execution
178
+ setEnvValue("ENV", env);
179
+ setEnvValue("VARS", vars);
180
+ setEnvValue("FEATURES", features);
181
+ setEnvValue("STEP_DEFINITIONS", stepDef);
182
+ setEnvValue("RUN_TAGS", tags ? JSON.stringify(tags) : null);
183
+ setEnvValue("PARALLEL", parallel);
184
+ setEnvValue("RETRY", retry);
185
+ setEnvValue("RERUN", rerun);
186
+ setEnvValue("DRYRUN", flags.dryRun);
187
+ setEnvValue("PERCENTAGE", percentage);
188
+ setEnvValue("TIMEOUT", timeout);
189
+ setEnvValue("SLOWMO", slowMo);
190
+
191
+ // AI
192
+ setEnvValue("AI", flags.ai);
193
+ setEnvValue("AI_URL", aiURL);
194
+ setEnvValue("AI_MODEL", aiModel);
195
+ setEnvValue("AI_KEY", aiKey);
196
+ setEnvValue("AI_LANGUAGE", aiLanguage);
197
+ setEnvValue("MAX_TOKENS", maxTokens);
198
+ setEnvValue("MAX_REPORTS", maxReports);
199
+
200
+
201
+ async function main() {
202
+ if (flags.reportHelp) return showReportingHelp();
203
+ if (flags.browserHelp) return showBrowserHelp();
204
+ if (flags.executionHelp) return showExecutionHelp();
205
+ if (flags.aiHelp) return showAIHelp();
206
+
207
+ if (flags.help) return showHelp();
208
+ if (flags.version) return showVersion();
209
+ if (flags.create) return createProject(flags.createYes, flags.noDeps);
210
+
211
+
212
+ runTests();
213
+
214
+ const testPercentage = process.env.PERCENTAGE ? Number(process.env.PERCENTAGE) : artesConfig.testPercentage || 0;
215
+
216
+ const testCoverage = testCoverageCalculator({ percentage: testPercentage });
217
+
218
+ if (!testCoverage) {
219
+ cleanUp();
220
+ process.exit(1);
221
+ }
222
+
223
+ if (testCoverage.totalTests === 0) {
224
+ cleanUp();
225
+ process.exit(process.env.EXIT_CODE);
226
+ }
227
+
228
+ logPomWarnings();
229
+
230
+ findDuplicateTestNames();
231
+
232
+ const source = path.join(process.cwd(), "node_modules", "artes", "@rerun.txt" );
233
+ const destination = path.join(process.cwd(), "@rerun.txt");
234
+ if (fs.existsSync(source)) { fs.renameSync(source, destination)}
235
+
236
+ if (shouldReport) {
237
+ getExecutor();
238
+ getEnvInfo();
239
+ generateReport();
240
+ }
241
+
242
+ const traceEnabled = process.env.TRACE === "true" || artesConfig.trace || false;
243
+ if (!traceEnabled) {
244
+ fs.rmSync(path.join(process.cwd(), "traces"), { recursive: true, force: true });
245
+ }
246
+
247
+ try {
248
+ if (flags.uploadReport || artesConfig.uploadReport) {
249
+ await uploadReport({
250
+ reporterURL: reporterURL || artesConfig.reporterURL,
251
+ projectName: projectName || artesConfig.projectName || "Artes Report",
252
+ projectType: projectType || artesConfig.projectType || "Artes",
253
+ reportName: reportName || artesConfig.reportName || "Artes Report",
254
+ reportPath: reportPath || artesConfig.reportPath || path.join(process.cwd(), "report.zip")
255
+ });
256
+ }
257
+ } catch (err) {
258
+ console.error("Upload failed:", err.message);
259
+ } finally {
260
+ cleanUp();
261
+ process.exit(process.env.EXIT_CODE);
262
+ }
263
+
264
+ }
265
+
266
+ main();
package/index.js CHANGED
@@ -1,50 +1,50 @@
1
- const {
2
- expect,
3
- Given,
4
- When,
5
- Then,
6
- context,
7
- element,
8
- selector,
9
- saveVar,
10
- extractVarsFromResponse,
11
- browserPage,
12
- request,
13
- random,
14
- time,
15
- resolveVariable,
16
- } = require("./src/helper/imports/commons");
17
-
18
- const {
19
- keyboard,
20
- mouse,
21
- frame,
22
- assert,
23
- elementInteractions,
24
- api,
25
- page,
26
- } = require("./src/helper/stepFunctions/exporter");
27
-
28
- module.exports = {
29
- expect,
30
- Given,
31
- When,
32
- Then,
33
- element,
34
- selector,
35
- saveVar,
36
- extractVarsFromResponse,
37
- resolveVariable,
38
- context,
39
- browserPage,
40
- api,
41
- random,
42
- time,
43
- page,
44
- request,
45
- keyboard,
46
- mouse,
47
- frame,
48
- assert,
49
- elementInteractions,
50
- };
1
+ const {
2
+ expect,
3
+ Given,
4
+ When,
5
+ Then,
6
+ context,
7
+ element,
8
+ selector,
9
+ saveVar,
10
+ extractVarsFromResponse,
11
+ browserPage,
12
+ request,
13
+ random,
14
+ time,
15
+ resolveVariable,
16
+ } = require("./src/helper/imports/commons");
17
+
18
+ const {
19
+ keyboard,
20
+ mouse,
21
+ frame,
22
+ assert,
23
+ elementInteractions,
24
+ api,
25
+ page,
26
+ } = require("./src/helper/stepFunctions/exporter");
27
+
28
+ module.exports = {
29
+ expect,
30
+ Given,
31
+ When,
32
+ Then,
33
+ element,
34
+ selector,
35
+ saveVar,
36
+ extractVarsFromResponse,
37
+ resolveVariable,
38
+ context,
39
+ browserPage,
40
+ api,
41
+ random,
42
+ time,
43
+ page,
44
+ request,
45
+ keyboard,
46
+ mouse,
47
+ frame,
48
+ assert,
49
+ elementInteractions,
50
+ };