artes 1.0.54 → 1.0.55

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.
@@ -74,10 +74,8 @@ module.exports = {
74
74
  // World parameters
75
75
  worldParameters: artesConfig.worldParameters || {}, // Custom world parameters
76
76
  },
77
-
78
- api: {
79
- baseURL: artesConfig?.baseURL ? artesConfig?.baseURL : "",
80
- },
77
+ env: process.env.ENV ? JSON.parse(process.env.ENV) : artesConfig.env || "",
78
+ baseURL: artesConfig?.baseURL ? artesConfig?.baseURL : "",
81
79
 
82
80
  browser: {
83
81
  browserType: artesConfig?.browser || "chrome",
package/executer.js CHANGED
@@ -20,6 +20,7 @@ const flags = {
20
20
  trace: args.includes("-t") || args.includes("--trace"),
21
21
  features: args.includes("--features"),
22
22
  tags: args.includes("--tags"),
23
+ env: args.includes("--env"),
23
24
  };
24
25
 
25
26
  function main() {
@@ -45,11 +46,11 @@ function main() {
45
46
  // }
46
47
 
47
48
  if (flags.report) {
48
- runTests(flags.report, flags.tags, flags.features);
49
+ runTests(flags.report, flags.tags, flags.features, flags.env);
49
50
  generateReport();
50
51
  cleanUp();
51
52
  } else {
52
- runTests(flags.report, flags.tags, flags.features);
53
+ runTests(flags.report, flags.tags, flags.features, flags.env);
53
54
  cleanUp();
54
55
  }
55
56
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "artes",
3
- "version": "1.0.54",
3
+ "version": "1.0.55",
4
4
  "description": "The package provide step definitions and user writes feature files, and the package handles automation, with optional POM files and custom step definitions.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -4,6 +4,23 @@ const cucumberConfig = require("../../../cucumber.config.js");
4
4
  const invokeBrowser = async () => {
5
5
  let browser;
6
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
+
7
24
  const options = {
8
25
  headless: cucumberConfig.browser.headless,
9
26
  args: [cucumberConfig.browser.maximizeScreen ? "--start-maximized" : ""],
@@ -13,6 +30,7 @@ const invokeBrowser = async () => {
13
30
  cucumberConfig.browser.browserType.toLowerCase() || "chrome";
14
31
 
15
32
  const browserContextOptions = {
33
+ baseURL: baseURL,
16
34
  viewport: cucumberConfig.browser.maximizeScreen
17
35
  ? null
18
36
  : cucumberConfig.browser.viewport,
@@ -1,8 +1,25 @@
1
1
  const { request } = require("playwright");
2
2
  const cucumberConfig = require("../../../cucumber.config.js");
3
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
+
4
21
  const requestContextOptions = {
5
- baseURL: cucumberConfig.api.baseURL,
22
+ baseURL: baseURL,
6
23
  };
7
24
 
8
25
  async function invokeRequest() {
@@ -2,9 +2,11 @@ const { spawnSync } = require("child_process");
2
2
  const { moduleConfig } = require("../imports/commons");
3
3
  const path = require("path");
4
4
 
5
- function runTests(flagReport, flagTags, flagFeatures) {
5
+ function runTests(flagReport, flagTags, flagFeatures, flagEnv) {
6
6
  const args = process.argv.slice(2);
7
7
 
8
+ const env = args[args.indexOf("--env") + 1];
9
+
8
10
  const featureFiles = args[args.indexOf("--features") + 1];
9
11
  const features =
10
12
  flagFeatures &&
@@ -14,6 +16,9 @@ function runTests(flagReport, flagTags, flagFeatures) {
14
16
 
15
17
  const tags = args[args.indexOf("--tags") + 1];
16
18
 
19
+ flagEnv && console.log("Running env:", env);
20
+ flagEnv ? (process.env.ENV = JSON.stringify(env)) : "";
21
+
17
22
  flagReport
18
23
  ? (process.env.REPORT_FORMAT = JSON.stringify([
19
24
  "rerun:@rerun.txt",