k6-cucumber-steps 1.0.3 → 1.0.5

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.
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ const fs = require("fs");
3
4
  const path = require("path");
4
5
  const { spawn } = require("child_process");
5
6
  require("dotenv").config();
@@ -28,13 +29,19 @@ const argv = require("yargs")
28
29
  .help().argv;
29
30
 
30
31
  const featureFilePath = path.resolve(process.cwd(), argv.feature);
31
- const cucumberCommand = "cucumber-js";
32
+ const cucumberCommand = "npx"; // Changed to "npx"
32
33
  const cucumberArgs = [
34
+ "cucumber-js", // Now cucumber-js is an argument to npx
33
35
  featureFilePath,
34
36
  "--require-module",
35
37
  "@babel/register",
36
38
  "--require",
37
- path.resolve(__dirname, "../step-definitions"),
39
+ path.resolve(
40
+ process.cwd(),
41
+ "node_modules",
42
+ "k6-cucumber-steps",
43
+ "step_definitions"
44
+ ),
38
45
  "--format",
39
46
  "summary",
40
47
  ];
@@ -51,11 +58,8 @@ if (argv.reporter) {
51
58
  }
52
59
 
53
60
  async function main() {
54
- console.log(
55
- `Running Cucumber using command: ${cucumberCommand} ${cucumberArgs.join(
56
- " "
57
- )}`
58
- );
61
+ const fullCommand = `${cucumberCommand} ${cucumberArgs.join(" ")}`;
62
+ console.log(`Running Cucumber using command: ${fullCommand}`);
59
63
 
60
64
  const cucumberProcess = spawn(cucumberCommand, cucumberArgs, {
61
65
  cwd: process.cwd(),
@@ -78,5 +82,3 @@ main().catch((err) => {
78
82
  console.error("An unexpected error occurred:", err.message);
79
83
  process.exit(1);
80
84
  });
81
-
82
- // No need to import the @cucumber/cucumber API directly anymore
package/libs/index.js ADDED
@@ -0,0 +1,21 @@
1
+ // lib/index.js (example with JavaScript)
2
+ const path = require("path");
3
+
4
+ /**
5
+ * Registers the k6-cucumber-steps step definitions with the Cucumber runner.
6
+ * @param projectRootDir The absolute path to the root directory of the user's project.
7
+ */
8
+ function registerSteps(projectRootDir) {
9
+ // Construct the path to your package's step definitions
10
+ const packageStepsPath = path.resolve(__dirname, "../step_definitions");
11
+
12
+ return [packageStepsPath];
13
+ }
14
+
15
+ module.exports = {
16
+ registerSteps,
17
+ buildK6Script: require("./helpers/buildK6Script"),
18
+ generateHeaders: require("./helpers/generateHeaders"),
19
+ resolveBody: require("./helpers/resolveBody"),
20
+ k6Runner: require("./utils/k6Runner"),
21
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k6-cucumber-steps",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -49,12 +49,9 @@
49
49
  "@babel/cli": "^7.27.0",
50
50
  "@babel/core": "^7.26.10",
51
51
  "@babel/preset-env": "^7.26.9",
52
- "@cucumber/cucumber": "^11.2.0",
53
- "@faker-js/faker": "^9.7.0",
54
52
  "@types/k6": "^1.0.2",
55
53
  "child_process": "^1.0.2",
56
54
  "cucumber-html-reporter": "^6.0.0",
57
- "dotenv": "^16.5.0",
58
55
  "esbuild": "^0.25.3",
59
56
  "form-data": "^4.0.2",
60
57
  "k6": "^0.0.0",
@@ -62,6 +59,9 @@
62
59
  },
63
60
  "dependencies": {
64
61
  "@babel/register": "^7.25.9",
62
+ "@cucumber/cucumber": "^11.2.0",
63
+ "@faker-js/faker": "^9.7.0",
64
+ "dotenv": "^16.5.0",
65
65
  "yargs": "^17.7.2"
66
66
  }
67
67
  }
@@ -40,4 +40,4 @@ body{padding:0;margin:0}.html-formatter{max-width:1600px;min-height:100vh;margin
40
40
  <div id="content">
41
41
  </div>
42
42
  <script>
43
- window.CUCUMBER_MESSAGES = [{"meta":{"protocolVersion":"27.0.2","implementation":{"version":"11.2.0","name":"cucumber-js"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.3.0"},"runtime":{"name":"node.js","version":"22.14.0"}}},{"source":{"data":"Feature: Run load tests with dynamic GET and POST body from environment variables and JSON files\n\n Scenario Outline: I run the k6 script for load testing with dynamic POST body from environment variables and JSON files\n Given I have a k6 script for POST testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n When the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/profile\n http:\/\/test.k6.io\n \"\"\"\n When the following POST body is used for \"<endpoint>\"\n \"\"\"\n {\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n }\n \"\"\"\n When the authentication type is \"api_key\"\n Then the API should handle the POST request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | 10 | 5 | rate<0.05 | p(95)<3000 | rate<0.05 |\n | 50 | 10 | rate<0.05 | p(95)<3000 | rate<0.05 |\n | 100 | 15 | rate<0.05 | p(95)<3500 | |\n | 200 | 20 | rate<0.05 | p(95)<3500 | rate<0.05 |\n\n @loadTest\n Scenario Outline: I run the k6 script for load testing with dynamic GET requests\n Given I have a k6 script for GET testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/profile\n https:\/\/reqres.in\/api\/users?page=2\n \"\"\"\n When the authentication type is \"none\"\n Then the API should handle the GET request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 10 | 5 | rate<0.05 | p(95)<3000 |\n | 50 | 10 | rate<0.05 | p(95)<3000 |\n | 100 | 15 | rate<0.05 | p(95)<3500 |\n | 200 | 20 | rate<0.05 | p(95)<3500 |\n","uri":"src\/examples\/features\/loadTestTemplate.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Run load tests with dynamic GET and POST body from environment variables and JSON files","description":"","children":[{"scenario":{"id":"c481dc3f-3b78-4beb-9924-4b79a5488536","tags":[],"location":{"line":3,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","description":"","steps":[{"id":"f69f7a2d-ac6a-47e5-b24c-6d403c87dd35","location":{"line":4,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for POST testing"},{"id":"27263b8e-d456-4c2d-9353-8af750e63339","location":{"line":5,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":6,"column":7},"rows":[{"id":"d2edb0a8-0bb2-47d5-8331-90ac299eb738","location":{"line":6,"column":7},"cells":[{"location":{"line":6,"column":9},"value":"virtual_users"},{"location":{"line":6,"column":27},"value":"duration"},{"location":{"line":6,"column":40},"value":"http_req_failed"},{"location":{"line":6,"column":60},"value":"http_req_duration"},{"location":{"line":6,"column":82},"value":"error_rate"}]},{"id":"7d1a93fa-f843-4253-97b4-da6f3ab14567","location":{"line":7,"column":7},"cells":[{"location":{"line":7,"column":9},"value":"<virtual_users>"},{"location":{"line":7,"column":27},"value":"<duration>"},{"location":{"line":7,"column":40},"value":"<http_req_failed>"},{"location":{"line":7,"column":60},"value":"<http_req_duration>"},{"location":{"line":7,"column":82},"value":"<error_rate>"}]}]}},{"id":"47290cee-c04e-4b46-ba57-b4cf530ccf64","location":{"line":8,"column":5},"keyword":"When ","keywordType":"Action","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":9,"column":7},"content":"\/api\/profile\nhttp:\/\/test.k6.io","delimiter":"\"\"\""}},{"id":"02a8a50b-5d65-4c82-abdc-6613e3ba415c","location":{"line":13,"column":5},"keyword":"When ","keywordType":"Action","text":"the following POST body is used for \"<endpoint>\"","docString":{"location":{"line":14,"column":7},"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}","delimiter":"\"\"\""}},{"id":"e11c4743-c01c-4e0b-8f1f-f3417bf71f74","location":{"line":21,"column":5},"keyword":"When ","keywordType":"Action","text":"the authentication type is \"api_key\""},{"id":"733bc4a7-aaf6-477c-a27c-fe7d081e87bb","location":{"line":22,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the POST request successfully"}],"examples":[{"id":"511a2835-e251-428e-b267-a4f4dab0abfd","tags":[],"location":{"line":24,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"94e389f5-b58c-4c93-a7e9-a943376719db","location":{"line":25,"column":7},"cells":[{"location":{"line":25,"column":9},"value":"virtual_users"},{"location":{"line":25,"column":25},"value":"duration"},{"location":{"line":25,"column":36},"value":"http_req_failed"},{"location":{"line":25,"column":54},"value":"http_req_duration"},{"location":{"line":25,"column":74},"value":"error_rate"}]},"tableBody":[{"id":"b0c46112-7ba5-4122-a32a-99c73c3ee3e5","location":{"line":26,"column":7},"cells":[{"location":{"line":26,"column":20},"value":"10"},{"location":{"line":26,"column":32},"value":"5"},{"location":{"line":26,"column":36},"value":"rate<0.05"},{"location":{"line":26,"column":54},"value":"p(95)<3000"},{"location":{"line":26,"column":74},"value":"rate<0.05"}]},{"id":"c0f576d3-f846-4aba-a17e-8469a89518fd","location":{"line":27,"column":7},"cells":[{"location":{"line":27,"column":20},"value":"50"},{"location":{"line":27,"column":31},"value":"10"},{"location":{"line":27,"column":36},"value":"rate<0.05"},{"location":{"line":27,"column":54},"value":"p(95)<3000"},{"location":{"line":27,"column":74},"value":"rate<0.05"}]},{"id":"6883b5af-6ccf-4407-b732-76c8613f20f5","location":{"line":28,"column":7},"cells":[{"location":{"line":28,"column":19},"value":"100"},{"location":{"line":28,"column":31},"value":"15"},{"location":{"line":28,"column":36},"value":"rate<0.05"},{"location":{"line":28,"column":54},"value":"p(95)<3500"},{"location":{"line":28,"column":85},"value":""}]},{"id":"f1f0172c-9610-45a9-93e8-2629097351c0","location":{"line":29,"column":7},"cells":[{"location":{"line":29,"column":19},"value":"200"},{"location":{"line":29,"column":31},"value":"20"},{"location":{"line":29,"column":36},"value":"rate<0.05"},{"location":{"line":29,"column":54},"value":"p(95)<3500"},{"location":{"line":29,"column":74},"value":"rate<0.05"}]}]}]}},{"scenario":{"id":"ed4e1e26-ffa4-4314-a3bd-8ece57898b81","tags":[{"location":{"line":31,"column":3},"name":"@loadTest","id":"910077a9-7909-41f4-aa03-a166fbc78dea"}],"location":{"line":32,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with dynamic GET requests","description":"","steps":[{"id":"a76b5fd7-f709-4af1-9013-ff166e3e1fde","location":{"line":33,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for GET testing"},{"id":"6a19deef-98db-45dc-a680-a263e07087a2","location":{"line":34,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":35,"column":7},"rows":[{"id":"d52405b3-c343-4aa0-bb59-8b3cb743e6a9","location":{"line":35,"column":7},"cells":[{"location":{"line":35,"column":9},"value":"virtual_users"},{"location":{"line":35,"column":27},"value":"duration"},{"location":{"line":35,"column":40},"value":"http_req_failed"},{"location":{"line":35,"column":60},"value":"http_req_duration"},{"location":{"line":35,"column":82},"value":"error_rate"}]},{"id":"cc392980-3799-4794-a4d9-9ba80ad6c672","location":{"line":36,"column":7},"cells":[{"location":{"line":36,"column":9},"value":"<virtual_users>"},{"location":{"line":36,"column":27},"value":"<duration>"},{"location":{"line":36,"column":40},"value":"<http_req_failed>"},{"location":{"line":36,"column":60},"value":"<http_req_duration>"},{"location":{"line":36,"column":82},"value":"<error_rate>"}]}]}},{"id":"825c373f-72ff-4a71-bebf-935d5fb9d191","location":{"line":37,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":38,"column":7},"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2","delimiter":"\"\"\""}},{"id":"81e35764-3080-4624-8028-7e632dd1b442","location":{"line":42,"column":5},"keyword":"When ","keywordType":"Action","text":"the authentication type is \"none\""},{"id":"1265fb6c-5033-41b8-a79a-6b6a41b2be88","location":{"line":43,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the GET request successfully"}],"examples":[{"id":"2c299e12-5a2e-437b-aa35-4b9abf780ef6","tags":[],"location":{"line":45,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"1577f9af-4d7b-4ccc-b9a6-6770410cf0be","location":{"line":46,"column":7},"cells":[{"location":{"line":46,"column":9},"value":"virtual_users"},{"location":{"line":46,"column":25},"value":"duration"},{"location":{"line":46,"column":36},"value":"http_req_failed"},{"location":{"line":46,"column":54},"value":"http_req_duration"}]},"tableBody":[{"id":"db15889c-7f3c-4ffb-bdf6-45b22b50abc5","location":{"line":47,"column":7},"cells":[{"location":{"line":47,"column":20},"value":"10"},{"location":{"line":47,"column":32},"value":"5"},{"location":{"line":47,"column":36},"value":"rate<0.05"},{"location":{"line":47,"column":54},"value":"p(95)<3000"}]},{"id":"8c5db85f-5404-4a27-be8f-08b8cd646937","location":{"line":48,"column":7},"cells":[{"location":{"line":48,"column":20},"value":"50"},{"location":{"line":48,"column":31},"value":"10"},{"location":{"line":48,"column":36},"value":"rate<0.05"},{"location":{"line":48,"column":54},"value":"p(95)<3000"}]},{"id":"671f4787-07a3-42d3-9940-13d159beda60","location":{"line":49,"column":7},"cells":[{"location":{"line":49,"column":19},"value":"100"},{"location":{"line":49,"column":31},"value":"15"},{"location":{"line":49,"column":36},"value":"rate<0.05"},{"location":{"line":49,"column":54},"value":"p(95)<3500"}]},{"id":"58fe861c-d1fb-4886-bb6b-d7cda3081b8f","location":{"line":50,"column":7},"cells":[{"location":{"line":50,"column":19},"value":"200"},{"location":{"line":50,"column":31},"value":"20"},{"location":{"line":50,"column":36},"value":"rate<0.05"},{"location":{"line":50,"column":54},"value":"p(95)<3500"}]}]}]}}]},"comments":[],"uri":"src\/examples\/features\/loadTestTemplate.feature"}},{"pickle":{"id":"204f9dad-0e18-4fc7-8d9c-f041701b64c0","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["c481dc3f-3b78-4beb-9924-4b79a5488536","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"efecb8f4-5a91-495a-8f77-2554f2cf5449","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["f69f7a2d-ac6a-47e5-b24c-6d403c87dd35","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"]},{"id":"e8bd1b31-db39-497d-b731-35c2609937d7","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"10"},{"value":"5"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"rate<0.05"}]}]}},"astNodeIds":["27263b8e-d456-4c2d-9353-8af750e63339","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"]},{"id":"01e77336-5a89-469f-8bb2-e789fbe00965","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["47290cee-c04e-4b46-ba57-b4cf530ccf64","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"]},{"id":"70ce15b0-3c22-48ea-b78f-05443aaf0a74","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["02a8a50b-5d65-4c82-abdc-6613e3ba415c","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"]},{"id":"a51f5cb0-e24a-4019-abaa-9e7756098044","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["e11c4743-c01c-4e0b-8f1f-f3417bf71f74","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"]},{"id":"1412d856-2325-4733-983b-2ca766fb95a7","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["733bc4a7-aaf6-477c-a27c-fe7d081e87bb","b0c46112-7ba5-4122-a32a-99c73c3ee3e5"]}],"tags":[]}},{"pickle":{"id":"5af62098-fd1c-4479-b2f2-af990c84915a","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["c481dc3f-3b78-4beb-9924-4b79a5488536","c0f576d3-f846-4aba-a17e-8469a89518fd"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"51e56a8b-c50c-4331-a724-830bc6455381","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["f69f7a2d-ac6a-47e5-b24c-6d403c87dd35","c0f576d3-f846-4aba-a17e-8469a89518fd"]},{"id":"f1056a5e-a2bd-4816-9804-6721cc08103d","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"50"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"rate<0.05"}]}]}},"astNodeIds":["27263b8e-d456-4c2d-9353-8af750e63339","c0f576d3-f846-4aba-a17e-8469a89518fd"]},{"id":"0f5926e4-09d8-41e6-9d0f-f773b1f6fdcc","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["47290cee-c04e-4b46-ba57-b4cf530ccf64","c0f576d3-f846-4aba-a17e-8469a89518fd"]},{"id":"3d717407-4071-460e-910f-a9959abc15d4","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["02a8a50b-5d65-4c82-abdc-6613e3ba415c","c0f576d3-f846-4aba-a17e-8469a89518fd"]},{"id":"7b3388cf-d35b-4e54-b6a2-06135f408b93","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["e11c4743-c01c-4e0b-8f1f-f3417bf71f74","c0f576d3-f846-4aba-a17e-8469a89518fd"]},{"id":"53e753a0-0a5b-41a0-b86a-a1ffb26cd0ef","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["733bc4a7-aaf6-477c-a27c-fe7d081e87bb","c0f576d3-f846-4aba-a17e-8469a89518fd"]}],"tags":[]}},{"pickle":{"id":"6bfee657-9e96-4294-9cc7-6b8449a401ab","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["c481dc3f-3b78-4beb-9924-4b79a5488536","6883b5af-6ccf-4407-b732-76c8613f20f5"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"1b645ceb-5da0-4adb-90e7-ef6a7469d995","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["f69f7a2d-ac6a-47e5-b24c-6d403c87dd35","6883b5af-6ccf-4407-b732-76c8613f20f5"]},{"id":"6d17cf3d-f2b2-4f98-a88f-5bcfd5b2daae","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"100"},{"value":"15"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":""}]}]}},"astNodeIds":["27263b8e-d456-4c2d-9353-8af750e63339","6883b5af-6ccf-4407-b732-76c8613f20f5"]},{"id":"eb8bdb2a-1fae-4500-b6c5-d1efb4161324","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["47290cee-c04e-4b46-ba57-b4cf530ccf64","6883b5af-6ccf-4407-b732-76c8613f20f5"]},{"id":"b27f4e96-e0ee-4940-8a61-3875eca85d80","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["02a8a50b-5d65-4c82-abdc-6613e3ba415c","6883b5af-6ccf-4407-b732-76c8613f20f5"]},{"id":"15448f47-5c7e-4dc1-9cf0-87ef43800486","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["e11c4743-c01c-4e0b-8f1f-f3417bf71f74","6883b5af-6ccf-4407-b732-76c8613f20f5"]},{"id":"9ae4d161-ef74-4f66-84a2-c0e5313bbd56","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["733bc4a7-aaf6-477c-a27c-fe7d081e87bb","6883b5af-6ccf-4407-b732-76c8613f20f5"]}],"tags":[]}},{"pickle":{"id":"0b031224-2838-4ad5-8d08-11d07fe3df57","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["c481dc3f-3b78-4beb-9924-4b79a5488536","f1f0172c-9610-45a9-93e8-2629097351c0"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"c1a0f1a9-fc2e-4a5d-a96f-603441aaeed8","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["f69f7a2d-ac6a-47e5-b24c-6d403c87dd35","f1f0172c-9610-45a9-93e8-2629097351c0"]},{"id":"68c70aac-e4bf-41b1-8398-12561b8c9492","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"200"},{"value":"20"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":"rate<0.05"}]}]}},"astNodeIds":["27263b8e-d456-4c2d-9353-8af750e63339","f1f0172c-9610-45a9-93e8-2629097351c0"]},{"id":"7497d66b-06b1-436d-9863-1fccaec9aace","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["47290cee-c04e-4b46-ba57-b4cf530ccf64","f1f0172c-9610-45a9-93e8-2629097351c0"]},{"id":"124537af-ae60-42e8-8397-a9d3eec23a15","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["02a8a50b-5d65-4c82-abdc-6613e3ba415c","f1f0172c-9610-45a9-93e8-2629097351c0"]},{"id":"1f1c9b30-29dd-4880-a29f-d30b2e439da5","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["e11c4743-c01c-4e0b-8f1f-f3417bf71f74","f1f0172c-9610-45a9-93e8-2629097351c0"]},{"id":"3f57903c-f0d1-4f58-8e2f-9b4d741f7a7d","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["733bc4a7-aaf6-477c-a27c-fe7d081e87bb","f1f0172c-9610-45a9-93e8-2629097351c0"]}],"tags":[]}},{"pickle":{"id":"18f832eb-1243-4451-a04f-1c355f49727c","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["ed4e1e26-ffa4-4314-a3bd-8ece57898b81","db15889c-7f3c-4ffb-bdf6-45b22b50abc5"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"fbc08113-de9f-4830-bd47-5f8a086f545b","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a76b5fd7-f709-4af1-9013-ff166e3e1fde","db15889c-7f3c-4ffb-bdf6-45b22b50abc5"]},{"id":"cd251d6b-47b8-4d90-a7ab-b0aa1db45af4","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"10"},{"value":"5"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"<error_rate>"}]}]}},"astNodeIds":["6a19deef-98db-45dc-a680-a263e07087a2","db15889c-7f3c-4ffb-bdf6-45b22b50abc5"]},{"id":"59f9f14d-c7f1-4e02-a5f2-f164725c30ee","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["825c373f-72ff-4a71-bebf-935d5fb9d191","db15889c-7f3c-4ffb-bdf6-45b22b50abc5"]},{"id":"c46923fa-5426-4275-92a9-fcca1d75c4fa","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["81e35764-3080-4624-8028-7e632dd1b442","db15889c-7f3c-4ffb-bdf6-45b22b50abc5"]},{"id":"c3602baa-5015-429d-9523-4800e20c9329","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["1265fb6c-5033-41b8-a79a-6b6a41b2be88","db15889c-7f3c-4ffb-bdf6-45b22b50abc5"]}],"tags":[{"name":"@loadTest","astNodeId":"910077a9-7909-41f4-aa03-a166fbc78dea"}]}},{"pickle":{"id":"b1052f7b-4642-4a8b-9ef1-5093b0d95b25","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["ed4e1e26-ffa4-4314-a3bd-8ece57898b81","8c5db85f-5404-4a27-be8f-08b8cd646937"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"0c73c22a-cf30-42f5-86b0-02f3ec0785ea","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a76b5fd7-f709-4af1-9013-ff166e3e1fde","8c5db85f-5404-4a27-be8f-08b8cd646937"]},{"id":"42f45a79-71a1-4d33-8336-795a1cf1a553","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"50"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"<error_rate>"}]}]}},"astNodeIds":["6a19deef-98db-45dc-a680-a263e07087a2","8c5db85f-5404-4a27-be8f-08b8cd646937"]},{"id":"6a068a5e-cde3-4c1e-a6aa-d914c61d17b2","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["825c373f-72ff-4a71-bebf-935d5fb9d191","8c5db85f-5404-4a27-be8f-08b8cd646937"]},{"id":"0c4e10ed-1ec9-4c05-9c3d-4f99e1c5702c","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["81e35764-3080-4624-8028-7e632dd1b442","8c5db85f-5404-4a27-be8f-08b8cd646937"]},{"id":"e069cbb8-d45d-4bc0-a783-cb67356e37fa","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["1265fb6c-5033-41b8-a79a-6b6a41b2be88","8c5db85f-5404-4a27-be8f-08b8cd646937"]}],"tags":[{"name":"@loadTest","astNodeId":"910077a9-7909-41f4-aa03-a166fbc78dea"}]}},{"pickle":{"id":"becd51ba-3712-499f-a258-825a9e484a6d","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["ed4e1e26-ffa4-4314-a3bd-8ece57898b81","671f4787-07a3-42d3-9940-13d159beda60"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"1fb0e17c-ea1b-4add-97b3-54a7a2ce2072","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a76b5fd7-f709-4af1-9013-ff166e3e1fde","671f4787-07a3-42d3-9940-13d159beda60"]},{"id":"e07b39b9-737f-4687-b05a-005ea2ce37de","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"100"},{"value":"15"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":"<error_rate>"}]}]}},"astNodeIds":["6a19deef-98db-45dc-a680-a263e07087a2","671f4787-07a3-42d3-9940-13d159beda60"]},{"id":"5d9e6f8c-49a4-412b-a0b8-aea729fabd96","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["825c373f-72ff-4a71-bebf-935d5fb9d191","671f4787-07a3-42d3-9940-13d159beda60"]},{"id":"d03acf3e-9a8f-4bfe-a02b-b5249687fb7b","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["81e35764-3080-4624-8028-7e632dd1b442","671f4787-07a3-42d3-9940-13d159beda60"]},{"id":"6ca7200a-d0b8-43a9-bc72-33c94d0a833f","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["1265fb6c-5033-41b8-a79a-6b6a41b2be88","671f4787-07a3-42d3-9940-13d159beda60"]}],"tags":[{"name":"@loadTest","astNodeId":"910077a9-7909-41f4-aa03-a166fbc78dea"}]}},{"pickle":{"id":"cd52722e-6cb5-4e63-870a-8c07204c5cb7","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["ed4e1e26-ffa4-4314-a3bd-8ece57898b81","58fe861c-d1fb-4886-bb6b-d7cda3081b8f"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"3fe6aa27-06c4-4fcd-901b-9ca8caa47cc1","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a76b5fd7-f709-4af1-9013-ff166e3e1fde","58fe861c-d1fb-4886-bb6b-d7cda3081b8f"]},{"id":"bf85c136-f871-4d9a-b556-1be70e0e68e5","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"200"},{"value":"20"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":"<error_rate>"}]}]}},"astNodeIds":["6a19deef-98db-45dc-a680-a263e07087a2","58fe861c-d1fb-4886-bb6b-d7cda3081b8f"]},{"id":"18b73c37-c275-48d2-b19c-f8aedbc3cbe7","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["825c373f-72ff-4a71-bebf-935d5fb9d191","58fe861c-d1fb-4886-bb6b-d7cda3081b8f"]},{"id":"31e475a8-3e24-4a7d-8282-b7a1154bb5c2","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["81e35764-3080-4624-8028-7e632dd1b442","58fe861c-d1fb-4886-bb6b-d7cda3081b8f"]},{"id":"652ff689-5213-4845-be71-08c49d66d8fc","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["1265fb6c-5033-41b8-a79a-6b6a41b2be88","58fe861c-d1fb-4886-bb6b-d7cda3081b8f"]}],"tags":[{"name":"@loadTest","astNodeId":"910077a9-7909-41f4-aa03-a166fbc78dea"}]}},{"source":{"data":"Feature: Extended Load Testing with PUT, DELETE, and Multipart Uploads\n\n Scenario Outline: I run the k6 script for load testing with PUT requests\n Given I have a k6 script for PUT testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration |\n | <virtual_users> | <duration> |\n And the following endpoint is used: \"<endpoint>\"\n When the following PUT body is used:\n \"\"\"\n {\n \"userId\": \"{{user_id}}\",\n \"status\": \"{{status}}\"\n }\n \"\"\"\n And the authentication type is \"bearer_token\"\n Then the API should handle the PUT request successfully\n\n Examples:\n | virtual_users | duration | endpoint |\n | 10 | 5 | \/api\/v1\/update-status |\n\n Scenario Outline: I run the k6 script for load testing with DELETE requests\n Given I have a k6 script for DELETE testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration |\n | <virtual_users> | <duration> |\n And the following endpoint is used: \"<endpoint>\"\n And the authentication type is \"api_key\"\n Then the API should handle the DELETE request successfully\n\n Examples:\n | virtual_users | duration | endpoint |\n | 20 | 3 | \/api\/v1\/delete-record |\n\n Scenario Outline: I run the k6 script for load testing with multipart\/form-data requests\n Given I have a k6 script for multipart POST testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration |\n | <virtual_users> | <duration> |\n And the following endpoint is used: \"<endpoint>\"\n When the following multipart body is used:\n \"\"\"\n file: <sample.pdf>\n description: {{file_description}}\n \"\"\"\n And the authentication type is \"bearer_token\"\n Then the API should handle multipart request successfully\n\n Examples:\n | virtual_users | duration | endpoint |\n | 15 | 5 | \/api\/v1\/upload-file |\n","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Extended Load Testing with PUT, DELETE, and Multipart Uploads","description":"","children":[{"scenario":{"id":"b5c86c73-fe76-4868-a0c1-b139bfaadf7e","tags":[],"location":{"line":3,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with PUT requests","description":"","steps":[{"id":"18ccfe1b-8c34-48dd-912b-1f09154bbe25","location":{"line":4,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for PUT testing"},{"id":"ca797732-abd6-46c6-9a56-eefa4efc6a94","location":{"line":5,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":6,"column":7},"rows":[{"id":"e5782bda-71eb-4519-a59e-42e8f8e4219e","location":{"line":6,"column":7},"cells":[{"location":{"line":6,"column":9},"value":"virtual_users"},{"location":{"line":6,"column":27},"value":"duration"}]},{"id":"85f16ae4-1088-45d0-8cf2-0ae5900d8db9","location":{"line":7,"column":7},"cells":[{"location":{"line":7,"column":9},"value":"<virtual_users>"},{"location":{"line":7,"column":27},"value":"<duration>"}]}]}},{"id":"503c5f9b-cc22-4d37-ac5a-f4c6f784fcd3","location":{"line":8,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint is used: \"<endpoint>\""},{"id":"b7e3f6af-aef9-4531-b314-fa7cfb640c61","location":{"line":9,"column":5},"keyword":"When ","keywordType":"Action","text":"the following PUT body is used:","docString":{"location":{"line":10,"column":7},"content":"{\n \"userId\": \"{{user_id}}\",\n \"status\": \"{{status}}\"\n}","delimiter":"\"\"\""}},{"id":"88bc3205-746a-46ac-90ce-facce5742e15","location":{"line":16,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"bearer_token\""},{"id":"18988aba-1482-4faf-bfe5-f3303f196159","location":{"line":17,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the PUT request successfully"}],"examples":[{"id":"5f93ca3e-ca99-41d1-90b8-3d6fc477e563","tags":[],"location":{"line":19,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"286acc1e-3975-490c-94cf-10dc13745b39","location":{"line":20,"column":7},"cells":[{"location":{"line":20,"column":9},"value":"virtual_users"},{"location":{"line":20,"column":25},"value":"duration"},{"location":{"line":20,"column":36},"value":"endpoint"}]},"tableBody":[{"id":"95388dd8-8863-498f-92f3-1aae73519b9d","location":{"line":21,"column":7},"cells":[{"location":{"line":21,"column":20},"value":"10"},{"location":{"line":21,"column":32},"value":"5"},{"location":{"line":21,"column":36},"value":"\/api\/v1\/update-status"}]}]}]}},{"scenario":{"id":"68708d8c-c24a-492e-84a4-d00ad7b19e4d","tags":[],"location":{"line":23,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with DELETE requests","description":"","steps":[{"id":"3d35e5a5-515b-4fb0-8f89-648a1645ecfb","location":{"line":24,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for DELETE testing"},{"id":"3260f5d4-9798-492d-bbcd-19f7cab153de","location":{"line":25,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":26,"column":7},"rows":[{"id":"6e361409-e0f5-48dc-a167-185df59496c6","location":{"line":26,"column":7},"cells":[{"location":{"line":26,"column":9},"value":"virtual_users"},{"location":{"line":26,"column":27},"value":"duration"}]},{"id":"a19cefd7-3e5b-42b0-9ce7-0b3f8dbf9818","location":{"line":27,"column":7},"cells":[{"location":{"line":27,"column":9},"value":"<virtual_users>"},{"location":{"line":27,"column":27},"value":"<duration>"}]}]}},{"id":"e220c90f-d98b-4b7f-b4a9-09c5fe1b2083","location":{"line":28,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint is used: \"<endpoint>\""},{"id":"0cdb6d73-240d-4318-acc1-25df3db3f269","location":{"line":29,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"api_key\""},{"id":"a449b633-ea88-4937-8d86-37146fecf8f3","location":{"line":30,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the DELETE request successfully"}],"examples":[{"id":"9029ecc7-6d36-4eba-9315-a7af5aeb8a01","tags":[],"location":{"line":32,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"3bcb1f82-46a2-404a-a29e-710a5a223e64","location":{"line":33,"column":7},"cells":[{"location":{"line":33,"column":9},"value":"virtual_users"},{"location":{"line":33,"column":25},"value":"duration"},{"location":{"line":33,"column":36},"value":"endpoint"}]},"tableBody":[{"id":"58adb060-4905-4ea7-9f51-212dd5b10d80","location":{"line":34,"column":7},"cells":[{"location":{"line":34,"column":20},"value":"20"},{"location":{"line":34,"column":32},"value":"3"},{"location":{"line":34,"column":36},"value":"\/api\/v1\/delete-record"}]}]}]}},{"scenario":{"id":"ca32e1c9-a1f6-4dc3-b0cd-16ae77320bc8","tags":[],"location":{"line":36,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with multipart\/form-data requests","description":"","steps":[{"id":"2ddfde2c-8018-4ebb-a94b-0319d4c1bf88","location":{"line":37,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for multipart POST testing"},{"id":"a234fd4d-b673-4625-af06-01ba7232bc80","location":{"line":38,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":39,"column":7},"rows":[{"id":"7315c569-f7fe-4079-951c-413d733736e1","location":{"line":39,"column":7},"cells":[{"location":{"line":39,"column":9},"value":"virtual_users"},{"location":{"line":39,"column":27},"value":"duration"}]},{"id":"395425c5-314b-4377-b1c1-0f0c7170233b","location":{"line":40,"column":7},"cells":[{"location":{"line":40,"column":9},"value":"<virtual_users>"},{"location":{"line":40,"column":27},"value":"<duration>"}]}]}},{"id":"164e5b31-7548-42aa-a870-52a328b58b8c","location":{"line":41,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint is used: \"<endpoint>\""},{"id":"2a8a0e8d-d676-41db-8387-6424a1ec9ab0","location":{"line":42,"column":5},"keyword":"When ","keywordType":"Action","text":"the following multipart body is used:","docString":{"location":{"line":43,"column":7},"content":"file: <sample.pdf>\ndescription: {{file_description}}","delimiter":"\"\"\""}},{"id":"82876da4-8abf-4650-a399-eb9524bd46a0","location":{"line":47,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"bearer_token\""},{"id":"49c58b51-8ab1-4c57-8090-fe6a5c143dce","location":{"line":48,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle multipart request successfully"}],"examples":[{"id":"f1e975bd-d553-4a59-afdd-fe003a66e169","tags":[],"location":{"line":50,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"8ce965cb-7c06-44d0-ac71-8f37cd4829af","location":{"line":51,"column":7},"cells":[{"location":{"line":51,"column":9},"value":"virtual_users"},{"location":{"line":51,"column":25},"value":"duration"},{"location":{"line":51,"column":36},"value":"endpoint"}]},"tableBody":[{"id":"9a0bb57b-8c91-4c6e-a390-812267412cfa","location":{"line":52,"column":7},"cells":[{"location":{"line":52,"column":20},"value":"15"},{"location":{"line":52,"column":32},"value":"5"},{"location":{"line":52,"column":36},"value":"\/api\/v1\/upload-file"}]}]}]}}]},"comments":[],"uri":"src\/examples\/features\/putDeleteMultipartUploads.feature"}},{"pickle":{"id":"66164976-5690-4bb8-9dc1-cfdbe681f9d4","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","astNodeIds":["b5c86c73-fe76-4868-a0c1-b139bfaadf7e","95388dd8-8863-498f-92f3-1aae73519b9d"],"name":"I run the k6 script for load testing with PUT requests","language":"en","steps":[{"id":"09eb2988-b3d0-4570-9d26-88abd73ca498","text":"I have a k6 script for PUT testing","type":"Context","astNodeIds":["18ccfe1b-8c34-48dd-912b-1f09154bbe25","95388dd8-8863-498f-92f3-1aae73519b9d"]},{"id":"fa5cf7ff-ccaa-4694-8911-b0a9a7b1d1a8","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"}]},{"cells":[{"value":"10"},{"value":"5"}]}]}},"astNodeIds":["ca797732-abd6-46c6-9a56-eefa4efc6a94","95388dd8-8863-498f-92f3-1aae73519b9d"]},{"id":"309aaf3c-7a48-45b0-b46b-39b10038cf9a","text":"the following endpoint is used: \"\/api\/v1\/update-status\"","type":"Action","astNodeIds":["503c5f9b-cc22-4d37-ac5a-f4c6f784fcd3","95388dd8-8863-498f-92f3-1aae73519b9d"]},{"id":"9a0b8e6f-1224-405e-8d4a-081aa7d4b798","text":"the following PUT body is used:","type":"Action","argument":{"docString":{"content":"{\n \"userId\": \"{{user_id}}\",\n \"status\": \"{{status}}\"\n}"}},"astNodeIds":["b7e3f6af-aef9-4531-b314-fa7cfb640c61","95388dd8-8863-498f-92f3-1aae73519b9d"]},{"id":"52a5ee5e-800a-4173-88a7-407d557d56d2","text":"the authentication type is \"bearer_token\"","type":"Action","astNodeIds":["88bc3205-746a-46ac-90ce-facce5742e15","95388dd8-8863-498f-92f3-1aae73519b9d"]},{"id":"4b798be4-a0ba-47c9-a8cc-9771d07f43b7","text":"the API should handle the PUT request successfully","type":"Outcome","astNodeIds":["18988aba-1482-4faf-bfe5-f3303f196159","95388dd8-8863-498f-92f3-1aae73519b9d"]}],"tags":[]}},{"pickle":{"id":"38e893f4-0288-4ba2-b48f-763d0b2e38d2","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","astNodeIds":["68708d8c-c24a-492e-84a4-d00ad7b19e4d","58adb060-4905-4ea7-9f51-212dd5b10d80"],"name":"I run the k6 script for load testing with DELETE requests","language":"en","steps":[{"id":"dadd8ace-ce7b-45ff-a29d-3b390730d569","text":"I have a k6 script for DELETE testing","type":"Context","astNodeIds":["3d35e5a5-515b-4fb0-8f89-648a1645ecfb","58adb060-4905-4ea7-9f51-212dd5b10d80"]},{"id":"584ef690-802d-4c5a-a861-bfda410f7587","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"}]},{"cells":[{"value":"20"},{"value":"3"}]}]}},"astNodeIds":["3260f5d4-9798-492d-bbcd-19f7cab153de","58adb060-4905-4ea7-9f51-212dd5b10d80"]},{"id":"fd05d637-6059-443e-bd75-772b7b8bff9d","text":"the following endpoint is used: \"\/api\/v1\/delete-record\"","type":"Action","astNodeIds":["e220c90f-d98b-4b7f-b4a9-09c5fe1b2083","58adb060-4905-4ea7-9f51-212dd5b10d80"]},{"id":"1569d849-dda7-4c77-b9a7-5184efdfc315","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["0cdb6d73-240d-4318-acc1-25df3db3f269","58adb060-4905-4ea7-9f51-212dd5b10d80"]},{"id":"324829dc-8951-45f5-b6e6-96bb0d8296cc","text":"the API should handle the DELETE request successfully","type":"Outcome","astNodeIds":["a449b633-ea88-4937-8d86-37146fecf8f3","58adb060-4905-4ea7-9f51-212dd5b10d80"]}],"tags":[]}},{"pickle":{"id":"71f2fa01-6a04-4aee-8a9d-87e03d4736d5","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","astNodeIds":["ca32e1c9-a1f6-4dc3-b0cd-16ae77320bc8","9a0bb57b-8c91-4c6e-a390-812267412cfa"],"name":"I run the k6 script for load testing with multipart\/form-data requests","language":"en","steps":[{"id":"52315f39-471f-47fc-a416-3d9f90a9014f","text":"I have a k6 script for multipart POST testing","type":"Context","astNodeIds":["2ddfde2c-8018-4ebb-a94b-0319d4c1bf88","9a0bb57b-8c91-4c6e-a390-812267412cfa"]},{"id":"12b68f88-fce8-4b6f-aa7d-bfa286cc9f05","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"}]},{"cells":[{"value":"15"},{"value":"5"}]}]}},"astNodeIds":["a234fd4d-b673-4625-af06-01ba7232bc80","9a0bb57b-8c91-4c6e-a390-812267412cfa"]},{"id":"328be0c9-5d7a-4f77-a1fa-80252ca18926","text":"the following endpoint is used: \"\/api\/v1\/upload-file\"","type":"Action","astNodeIds":["164e5b31-7548-42aa-a870-52a328b58b8c","9a0bb57b-8c91-4c6e-a390-812267412cfa"]},{"id":"5b838c66-4f2a-4c8c-9062-19e336a039b4","text":"the following multipart body is used:","type":"Action","argument":{"docString":{"content":"file: <sample.pdf>\ndescription: {{file_description}}"}},"astNodeIds":["2a8a0e8d-d676-41db-8387-6424a1ec9ab0","9a0bb57b-8c91-4c6e-a390-812267412cfa"]},{"id":"d458d81d-7aa5-4cf9-a747-d3fab31adefe","text":"the authentication type is \"bearer_token\"","type":"Action","astNodeIds":["82876da4-8abf-4650-a399-eb9524bd46a0","9a0bb57b-8c91-4c6e-a390-812267412cfa"]},{"id":"04c751ca-377c-466a-ac46-82f88e85620e","text":"the API should handle multipart request successfully","type":"Outcome","astNodeIds":["49c58b51-8ab1-4c57-8090-fe6a5c143dce","9a0bb57b-8c91-4c6e-a390-812267412cfa"]}],"tags":[]}},{"source":{"data":"Feature: Run stress tests with dynamic GET and POST body from environment variables and JSON files\n\n Scenario Outline: I run the k6 script for stress testing with dynamic POST body from environment variables and JSON files\n Given I have a k6 script for POST testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/v1\/resource1\n https:\/\/api.external.com\/resource2\n \"\"\"\n And the following POST body is used:\n \"\"\"\n {\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n }\n \"\"\"\n Then the API should handle the POST request successfully\n\n Examples:\n\n Scenario Outline: I run the k6 script for GET testing with dynamic endpoints\n Given I have a k6 script for GET testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/v1\/resource1\n https:\/\/api.external.com\/resource2\n \"\"\"\n Then the API should handle the GET request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed |\n | 10 | 5 | rate<0.10 |\n | 50 | 10 | rate<0.05 |\n | 100 | 15 | rate<0.10 |\n | 200 | 20 | rate<0.05 |\n\n Scenario Outline: I run the k6 script for PUT requests\n Given I have a k6 script for PUT testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/v1\/update-profile\n \"\"\"\n When the following PUT body is used for \"<endpoint>\"\n \"\"\"\n {\n \"id\": \"{{userId}}\",\n \"status\": \"updated\"\n }\n \"\"\"\n And the authentication type is \"bearer_token\"\n Then the API should handle the PUT request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 20 | 10 | rate<0.05 | p(95)<1000 |\n","uri":"src\/examples\/features\/streesTestTemplate.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Run stress tests with dynamic GET and POST body from environment variables and JSON files","description":"","children":[{"scenario":{"id":"7a503983-a539-44a4-aaf4-c9f9384361a9","tags":[],"location":{"line":3,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for stress testing with dynamic POST body from environment variables and JSON files","description":"","steps":[{"id":"a605ce67-ff55-41e1-bad5-a0c10c96b2e6","location":{"line":4,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for POST testing"},{"id":"ab164f05-c384-42d3-9dab-c4323839bd65","location":{"line":5,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":6,"column":7},"rows":[{"id":"dd0404ec-baf5-4621-a664-9d7570556f73","location":{"line":6,"column":7},"cells":[{"location":{"line":6,"column":9},"value":"virtual_users"},{"location":{"line":6,"column":27},"value":"duration"},{"location":{"line":6,"column":40},"value":"http_req_failed"},{"location":{"line":6,"column":60},"value":"http_req_duration"},{"location":{"line":6,"column":82},"value":"error_rate"}]},{"id":"a414759d-462a-4f46-98e1-bf3d2659767a","location":{"line":7,"column":7},"cells":[{"location":{"line":7,"column":9},"value":"<virtual_users>"},{"location":{"line":7,"column":27},"value":"<duration>"},{"location":{"line":7,"column":40},"value":"<http_req_failed>"},{"location":{"line":7,"column":60},"value":"<http_req_duration>"},{"location":{"line":7,"column":82},"value":"<error_rate>"}]}]}},{"id":"5e49c154-8b13-4fb4-bc65-5b5889f417aa","location":{"line":8,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":9,"column":7},"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2","delimiter":"\"\"\""}},{"id":"be96622b-b354-4677-b39a-afd510587820","location":{"line":13,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following POST body is used:","docString":{"location":{"line":14,"column":7},"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}","delimiter":"\"\"\""}},{"id":"d9f853d5-1245-4cfa-a936-dc5c0bcf2f69","location":{"line":21,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the POST request successfully"}],"examples":[{"id":"335144ef-1838-4045-b13d-39dbc7c6a929","tags":[],"location":{"line":23,"column":5},"keyword":"Examples","name":"","description":"","tableBody":[]}]}},{"scenario":{"id":"01e80ae3-40b5-4838-aa3f-6dcd09aba1c6","tags":[],"location":{"line":25,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for GET testing with dynamic endpoints","description":"","steps":[{"id":"d34367cf-91fb-438a-9e31-9eeafd84bdcb","location":{"line":26,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for GET testing"},{"id":"981e435a-ea18-4b1c-9f4c-1fb384da9bfa","location":{"line":27,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":28,"column":7},"rows":[{"id":"1aee6d1d-c44d-4631-b704-c908ece52cc6","location":{"line":28,"column":7},"cells":[{"location":{"line":28,"column":9},"value":"virtual_users"},{"location":{"line":28,"column":27},"value":"duration"},{"location":{"line":28,"column":40},"value":"http_req_failed"},{"location":{"line":28,"column":60},"value":"http_req_duration"},{"location":{"line":28,"column":82},"value":"error_rate"}]},{"id":"ab14aeca-44c7-487c-888c-4bb85754e2fb","location":{"line":29,"column":7},"cells":[{"location":{"line":29,"column":9},"value":"<virtual_users>"},{"location":{"line":29,"column":27},"value":"<duration>"},{"location":{"line":29,"column":40},"value":"<http_req_failed>"},{"location":{"line":29,"column":60},"value":"<http_req_duration>"},{"location":{"line":29,"column":82},"value":"<error_rate>"}]}]}},{"id":"8579ba96-8a54-4b3d-a1b6-2736f6885c11","location":{"line":30,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":31,"column":7},"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2","delimiter":"\"\"\""}},{"id":"19045c9d-5153-4509-bb39-936e00de2142","location":{"line":35,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the GET request successfully"}],"examples":[{"id":"ae211ff4-7425-4715-995e-b19a79e37b40","tags":[],"location":{"line":37,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"0398f113-40df-4a66-857f-1d8cd3c78b21","location":{"line":38,"column":7},"cells":[{"location":{"line":38,"column":9},"value":"virtual_users"},{"location":{"line":38,"column":25},"value":"duration"},{"location":{"line":38,"column":36},"value":"http_req_failed"}]},"tableBody":[{"id":"76bcf55e-0d13-4d10-adc1-650f509b85c5","location":{"line":39,"column":7},"cells":[{"location":{"line":39,"column":20},"value":"10"},{"location":{"line":39,"column":32},"value":"5"},{"location":{"line":39,"column":36},"value":"rate<0.10"}]},{"id":"3fd18d2a-f6af-49af-a221-fb49c6a7010d","location":{"line":40,"column":7},"cells":[{"location":{"line":40,"column":20},"value":"50"},{"location":{"line":40,"column":31},"value":"10"},{"location":{"line":40,"column":36},"value":"rate<0.05"}]},{"id":"260da53b-94ac-482f-a757-fd34b0457b6b","location":{"line":41,"column":7},"cells":[{"location":{"line":41,"column":19},"value":"100"},{"location":{"line":41,"column":31},"value":"15"},{"location":{"line":41,"column":36},"value":"rate<0.10"}]},{"id":"298533a8-b13f-462e-b0ae-dad13026457c","location":{"line":42,"column":7},"cells":[{"location":{"line":42,"column":19},"value":"200"},{"location":{"line":42,"column":31},"value":"20"},{"location":{"line":42,"column":36},"value":"rate<0.05"}]}]}]}},{"scenario":{"id":"4beda27a-aefe-4e56-852c-56c50d57142d","tags":[],"location":{"line":44,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for PUT requests","description":"","steps":[{"id":"35eb34b6-f20c-4dd7-87b5-a8c9508fa2d9","location":{"line":45,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for PUT testing"},{"id":"1f11a9d9-4452-4496-86f3-ecb5ed611a85","location":{"line":46,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":47,"column":7},"rows":[{"id":"997c5174-8248-46a1-858a-7597752c0260","location":{"line":47,"column":7},"cells":[{"location":{"line":47,"column":9},"value":"virtual_users"},{"location":{"line":47,"column":27},"value":"duration"},{"location":{"line":47,"column":40},"value":"http_req_failed"},{"location":{"line":47,"column":60},"value":"http_req_duration"}]},{"id":"ab7136f1-9e60-44c8-adf7-767f4710aa1f","location":{"line":48,"column":7},"cells":[{"location":{"line":48,"column":9},"value":"<virtual_users>"},{"location":{"line":48,"column":27},"value":"<duration>"},{"location":{"line":48,"column":40},"value":"<http_req_failed>"},{"location":{"line":48,"column":60},"value":"<http_req_duration>"}]}]}},{"id":"dc4a0336-7323-44d3-8c3d-ad07a4707700","location":{"line":49,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":50,"column":7},"content":"\/api\/v1\/update-profile","delimiter":"\"\"\""}},{"id":"4b0688b9-378b-46b1-8f98-a10c3217b7f3","location":{"line":53,"column":5},"keyword":"When ","keywordType":"Action","text":"the following PUT body is used for \"<endpoint>\"","docString":{"location":{"line":54,"column":7},"content":"{\n \"id\": \"{{userId}}\",\n \"status\": \"updated\"\n}","delimiter":"\"\"\""}},{"id":"d7e8dd46-cc78-4411-8e71-f3db308fb029","location":{"line":60,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"bearer_token\""},{"id":"6cfde4f3-d550-42b5-a042-c54d5c40b3a7","location":{"line":61,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the PUT request successfully"}],"examples":[{"id":"220e9031-0af4-4c96-915e-536576a270db","tags":[],"location":{"line":63,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"688850c1-2411-4a18-84cc-e5beab303971","location":{"line":64,"column":7},"cells":[{"location":{"line":64,"column":9},"value":"virtual_users"},{"location":{"line":64,"column":25},"value":"duration"},{"location":{"line":64,"column":36},"value":"http_req_failed"},{"location":{"line":64,"column":54},"value":"http_req_duration"}]},"tableBody":[{"id":"44a7730b-a39b-4842-9202-e62f75397e79","location":{"line":65,"column":7},"cells":[{"location":{"line":65,"column":20},"value":"20"},{"location":{"line":65,"column":31},"value":"10"},{"location":{"line":65,"column":36},"value":"rate<0.05"},{"location":{"line":65,"column":54},"value":"p(95)<1000"}]}]}]}}]},"comments":[],"uri":"src\/examples\/features\/streesTestTemplate.feature"}},{"pickle":{"id":"4d9e3d38-e5e6-4d1f-84dd-abc227817116","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["01e80ae3-40b5-4838-aa3f-6dcd09aba1c6","76bcf55e-0d13-4d10-adc1-650f509b85c5"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"1a83be2e-85ba-480d-b5bd-0f835bec9744","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["d34367cf-91fb-438a-9e31-9eeafd84bdcb","76bcf55e-0d13-4d10-adc1-650f509b85c5"]},{"id":"07459a4f-21ef-4839-9c6d-1283a64f5553","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"10"},{"value":"5"},{"value":"rate<0.10"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["981e435a-ea18-4b1c-9f4c-1fb384da9bfa","76bcf55e-0d13-4d10-adc1-650f509b85c5"]},{"id":"53c1968a-248a-4c9d-95e3-38ead3443a6e","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["8579ba96-8a54-4b3d-a1b6-2736f6885c11","76bcf55e-0d13-4d10-adc1-650f509b85c5"]},{"id":"a045f530-ebcf-492a-a52a-b4c0e1d9ad5b","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["19045c9d-5153-4509-bb39-936e00de2142","76bcf55e-0d13-4d10-adc1-650f509b85c5"]}],"tags":[]}},{"pickle":{"id":"8dbe99ab-b031-4e70-843d-6e8643712eb7","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["01e80ae3-40b5-4838-aa3f-6dcd09aba1c6","3fd18d2a-f6af-49af-a221-fb49c6a7010d"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"5ded4775-cc23-4601-9237-e376fb646e08","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["d34367cf-91fb-438a-9e31-9eeafd84bdcb","3fd18d2a-f6af-49af-a221-fb49c6a7010d"]},{"id":"693b07d2-b5f8-4e4f-ae12-ee65c42ddc01","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"50"},{"value":"10"},{"value":"rate<0.05"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["981e435a-ea18-4b1c-9f4c-1fb384da9bfa","3fd18d2a-f6af-49af-a221-fb49c6a7010d"]},{"id":"1082c179-1d4e-44ec-912f-2d97374b7b7c","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["8579ba96-8a54-4b3d-a1b6-2736f6885c11","3fd18d2a-f6af-49af-a221-fb49c6a7010d"]},{"id":"5f3ca616-cdb2-4aa7-bb1c-ec2889223334","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["19045c9d-5153-4509-bb39-936e00de2142","3fd18d2a-f6af-49af-a221-fb49c6a7010d"]}],"tags":[]}},{"pickle":{"id":"33f653dd-9f2a-408b-9386-303d852f37ad","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["01e80ae3-40b5-4838-aa3f-6dcd09aba1c6","260da53b-94ac-482f-a757-fd34b0457b6b"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"35484a4f-1848-46c5-a412-439afbd46a84","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["d34367cf-91fb-438a-9e31-9eeafd84bdcb","260da53b-94ac-482f-a757-fd34b0457b6b"]},{"id":"02c088d8-668a-4dff-9cf3-309dc39604ea","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"100"},{"value":"15"},{"value":"rate<0.10"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["981e435a-ea18-4b1c-9f4c-1fb384da9bfa","260da53b-94ac-482f-a757-fd34b0457b6b"]},{"id":"05873521-1795-477e-a4e1-2b4ab698f3f6","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["8579ba96-8a54-4b3d-a1b6-2736f6885c11","260da53b-94ac-482f-a757-fd34b0457b6b"]},{"id":"d5ec08b0-5484-4cbe-990c-99e15fd945f8","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["19045c9d-5153-4509-bb39-936e00de2142","260da53b-94ac-482f-a757-fd34b0457b6b"]}],"tags":[]}},{"pickle":{"id":"b88059bb-b18a-4f67-866f-bde73239652c","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["01e80ae3-40b5-4838-aa3f-6dcd09aba1c6","298533a8-b13f-462e-b0ae-dad13026457c"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"e6c54218-605d-46c2-b9af-993b767722e1","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["d34367cf-91fb-438a-9e31-9eeafd84bdcb","298533a8-b13f-462e-b0ae-dad13026457c"]},{"id":"7b71b18e-7184-49f2-99f5-7da7ecb52036","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"200"},{"value":"20"},{"value":"rate<0.05"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["981e435a-ea18-4b1c-9f4c-1fb384da9bfa","298533a8-b13f-462e-b0ae-dad13026457c"]},{"id":"9bfe29af-c899-4a5c-a5f6-26a510127d7a","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["8579ba96-8a54-4b3d-a1b6-2736f6885c11","298533a8-b13f-462e-b0ae-dad13026457c"]},{"id":"fbca06e4-1203-4756-8a9d-52286fd0dffc","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["19045c9d-5153-4509-bb39-936e00de2142","298533a8-b13f-462e-b0ae-dad13026457c"]}],"tags":[]}},{"pickle":{"id":"f3dd35da-1cf6-4ace-a2a9-859087d168db","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["4beda27a-aefe-4e56-852c-56c50d57142d","44a7730b-a39b-4842-9202-e62f75397e79"],"name":"I run the k6 script for PUT requests","language":"en","steps":[{"id":"781c1216-be4e-44f9-8642-b2ac77f81b69","text":"I have a k6 script for PUT testing","type":"Context","astNodeIds":["35eb34b6-f20c-4dd7-87b5-a8c9508fa2d9","44a7730b-a39b-4842-9202-e62f75397e79"]},{"id":"71d89c27-9840-467c-9d29-de3b6216f44d","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"}]},{"cells":[{"value":"20"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<1000"}]}]}},"astNodeIds":["1f11a9d9-4452-4496-86f3-ecb5ed611a85","44a7730b-a39b-4842-9202-e62f75397e79"]},{"id":"46da01ef-de56-4368-a53f-1f346c616277","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/update-profile"}},"astNodeIds":["dc4a0336-7323-44d3-8c3d-ad07a4707700","44a7730b-a39b-4842-9202-e62f75397e79"]},{"id":"4ac8b62b-3554-42ee-b52b-c775c55a2f4d","text":"the following PUT body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"id\": \"{{userId}}\",\n \"status\": \"updated\"\n}"}},"astNodeIds":["4b0688b9-378b-46b1-8f98-a10c3217b7f3","44a7730b-a39b-4842-9202-e62f75397e79"]},{"id":"f52b3a33-f946-4e88-9222-96717ca44f64","text":"the authentication type is \"bearer_token\"","type":"Action","astNodeIds":["d7e8dd46-cc78-4411-8e71-f3db308fb029","44a7730b-a39b-4842-9202-e62f75397e79"]},{"id":"00b23b56-7df3-4c45-82a8-606cf07e25b8","text":"the API should handle the PUT request successfully","type":"Outcome","astNodeIds":["6cfde4f3-d550-42b5-a042-c54d5c40b3a7","44a7730b-a39b-4842-9202-e62f75397e79"]}],"tags":[]}},{"stepDefinition":{"id":"250fbb95-e969-4e05-8c42-6ff7b605e257","pattern":{"source":"I have a k6 script for {word} testing","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":21}}}},{"stepDefinition":{"id":"f5b26f19-db5a-4f45-b297-0f7fa5fe17de","pattern":{"source":"I run the k6 script with the following configurations:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":25}}}},{"stepDefinition":{"id":"61e43a9b-2b06-445c-a6bc-dce99259b59b","pattern":{"source":"the request headers are:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":71}}}},{"stepDefinition":{"id":"10fb1bf4-0a2d-4fb5-a397-d08df5e9df6d","pattern":{"source":"the following endpoint\\(s) is\\\/are used:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":83}}}},{"stepDefinition":{"id":"c55bfe82-02fb-4761-9cbe-1cbe06c93788","pattern":{"source":"the following {word} body is used for {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":90}}}},{"stepDefinition":{"id":"b3cece1e-1e31-4a18-aaed-6a90d3270986","pattern":{"source":"the authentication type is {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":99}}}},{"stepDefinition":{"id":"98d8b813-b8fe-4090-9e82-07c0884576da","pattern":{"source":"the API should handle the {word} request successfully","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":134}}}},{"testRunStarted":{"id":"0f946c9f-5fb7-49f2-9b6e-39ffcd09c0b0","timestamp":{"seconds":1745677271,"nanos":86000000}}},{"testCase":{"testRunStartedId":"0f946c9f-5fb7-49f2-9b6e-39ffcd09c0b0","pickleId":"18f832eb-1243-4451-a04f-1c355f49727c","id":"84afc703-59c7-49b4-a636-c7238bdf0a34","testSteps":[{"id":"6538589d-dee1-4f93-a48c-1466544d8238","pickleStepId":"fbc08113-de9f-4830-bd47-5f8a086f545b","stepDefinitionIds":["250fbb95-e969-4e05-8c42-6ff7b605e257"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"8b88d895-32fc-4aa1-98af-50cae37658b7","pickleStepId":"cd251d6b-47b8-4d90-a7ab-b0aa1db45af4","stepDefinitionIds":["f5b26f19-db5a-4f45-b297-0f7fa5fe17de"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"c2e3d3d7-5957-405c-a1ab-f51c71853660","pickleStepId":"59f9f14d-c7f1-4e02-a5f2-f164725c30ee","stepDefinitionIds":["10fb1bf4-0a2d-4fb5-a397-d08df5e9df6d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"5374bf4d-e1e1-493d-95ba-ec56fde81c93","pickleStepId":"c46923fa-5426-4275-92a9-fcca1d75c4fa","stepDefinitionIds":["b3cece1e-1e31-4a18-aaed-6a90d3270986"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"e52d7749-d082-472f-ad84-3fcd3e6ce5d9","pickleStepId":"c3602baa-5015-429d-9523-4800e20c9329","stepDefinitionIds":["98d8b813-b8fe-4090-9e82-07c0884576da"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"0f946c9f-5fb7-49f2-9b6e-39ffcd09c0b0","pickleId":"b1052f7b-4642-4a8b-9ef1-5093b0d95b25","id":"cb8fe454-8615-4bfa-8db7-8e647c0c14f0","testSteps":[{"id":"7377e735-199d-4907-89c2-5a3812628ae7","pickleStepId":"0c73c22a-cf30-42f5-86b0-02f3ec0785ea","stepDefinitionIds":["250fbb95-e969-4e05-8c42-6ff7b605e257"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"003803cd-cb31-4ad5-b82b-2702548a3891","pickleStepId":"42f45a79-71a1-4d33-8336-795a1cf1a553","stepDefinitionIds":["f5b26f19-db5a-4f45-b297-0f7fa5fe17de"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"8c5f979c-acf7-4f27-a467-f8b0fe8d1781","pickleStepId":"6a068a5e-cde3-4c1e-a6aa-d914c61d17b2","stepDefinitionIds":["10fb1bf4-0a2d-4fb5-a397-d08df5e9df6d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"0658fbf0-1778-484c-9640-924a12e333f0","pickleStepId":"0c4e10ed-1ec9-4c05-9c3d-4f99e1c5702c","stepDefinitionIds":["b3cece1e-1e31-4a18-aaed-6a90d3270986"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"692d832d-973c-41e9-a5f0-602a3bf6fb25","pickleStepId":"e069cbb8-d45d-4bc0-a783-cb67356e37fa","stepDefinitionIds":["98d8b813-b8fe-4090-9e82-07c0884576da"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"0f946c9f-5fb7-49f2-9b6e-39ffcd09c0b0","pickleId":"becd51ba-3712-499f-a258-825a9e484a6d","id":"b20518b7-855d-4db0-b5f8-8c7e8c2ab06a","testSteps":[{"id":"c8781da2-2df1-4b10-8956-99aac2d6568c","pickleStepId":"1fb0e17c-ea1b-4add-97b3-54a7a2ce2072","stepDefinitionIds":["250fbb95-e969-4e05-8c42-6ff7b605e257"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"c2f0665a-69bc-4f1b-8b8b-35064a78a45e","pickleStepId":"e07b39b9-737f-4687-b05a-005ea2ce37de","stepDefinitionIds":["f5b26f19-db5a-4f45-b297-0f7fa5fe17de"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"f4e429d7-0dcb-4326-bbf1-69632f6773cd","pickleStepId":"5d9e6f8c-49a4-412b-a0b8-aea729fabd96","stepDefinitionIds":["10fb1bf4-0a2d-4fb5-a397-d08df5e9df6d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"0e5b8a5e-2453-41c5-8332-341d3deaa76e","pickleStepId":"d03acf3e-9a8f-4bfe-a02b-b5249687fb7b","stepDefinitionIds":["b3cece1e-1e31-4a18-aaed-6a90d3270986"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"8d0fd241-1299-4bcd-b232-aee42833a0ab","pickleStepId":"6ca7200a-d0b8-43a9-bc72-33c94d0a833f","stepDefinitionIds":["98d8b813-b8fe-4090-9e82-07c0884576da"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"0f946c9f-5fb7-49f2-9b6e-39ffcd09c0b0","pickleId":"cd52722e-6cb5-4e63-870a-8c07204c5cb7","id":"0394920e-d28c-4b3d-bb3a-0a3de6266aa1","testSteps":[{"id":"30128344-64ef-4c6d-914d-7a5ede18c6d6","pickleStepId":"3fe6aa27-06c4-4fcd-901b-9ca8caa47cc1","stepDefinitionIds":["250fbb95-e969-4e05-8c42-6ff7b605e257"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"6ffb27f5-9237-4ca9-bb7d-5156fccece1f","pickleStepId":"bf85c136-f871-4d9a-b556-1be70e0e68e5","stepDefinitionIds":["f5b26f19-db5a-4f45-b297-0f7fa5fe17de"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"581ca029-614b-4cda-bef1-056df13a7885","pickleStepId":"18b73c37-c275-48d2-b19c-f8aedbc3cbe7","stepDefinitionIds":["10fb1bf4-0a2d-4fb5-a397-d08df5e9df6d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"984bc71b-fc07-42a5-bf8d-705b9f8f784b","pickleStepId":"31e475a8-3e24-4a7d-8282-b7a1154bb5c2","stepDefinitionIds":["b3cece1e-1e31-4a18-aaed-6a90d3270986"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"0b5976e4-976f-40ef-9b1f-9bb487c8eed5","pickleStepId":"652ff689-5213-4845-be71-08c49d66d8fc","stepDefinitionIds":["98d8b813-b8fe-4090-9e82-07c0884576da"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCaseStarted":{"attempt":0,"testCaseId":"84afc703-59c7-49b4-a636-c7238bdf0a34","id":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","timestamp":{"seconds":1745677271,"nanos":94000000}}},{"testStepStarted":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"6538589d-dee1-4f93-a48c-1466544d8238","timestamp":{"seconds":1745677271,"nanos":94000000}}},{"testStepFinished":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"6538589d-dee1-4f93-a48c-1466544d8238","testStepResult":{"duration":{"seconds":0,"nanos":542124},"status":"PASSED"},"timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepStarted":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"8b88d895-32fc-4aa1-98af-50cae37658b7","timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepFinished":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"8b88d895-32fc-4aa1-98af-50cae37658b7","testStepResult":{"duration":{"seconds":0,"nanos":252499},"status":"PASSED"},"timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepStarted":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"c2e3d3d7-5957-405c-a1ab-f51c71853660","timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepFinished":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"c2e3d3d7-5957-405c-a1ab-f51c71853660","testStepResult":{"duration":{"seconds":0,"nanos":61167},"status":"PASSED"},"timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepStarted":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"5374bf4d-e1e1-493d-95ba-ec56fde81c93","timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepFinished":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"5374bf4d-e1e1-493d-95ba-ec56fde81c93","testStepResult":{"duration":{"seconds":0,"nanos":87333},"status":"PASSED"},"timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepStarted":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"e52d7749-d082-472f-ad84-3fcd3e6ce5d9","timestamp":{"seconds":1745677271,"nanos":95000000}}},{"testStepFinished":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","testStepId":"e52d7749-d082-472f-ad84-3fcd3e6ce5d9","testStepResult":{"duration":{"seconds":13,"nanos":21277000},"status":"FAILED","message":"Error: k6 test execution failed\n at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:154:13)\n at processTicksAndRejections (node:internal\/process\/task_queues:105:5)","exception":{"type":"Error","message":"k6 test execution failed","stackTrace":" at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:154:13)\n at processTicksAndRejections (node:internal\/process\/task_queues:105:5)"}},"timestamp":{"seconds":1745677284,"nanos":131000000}}},{"testCaseFinished":{"testCaseStartedId":"632cd4c7-38c7-4e2c-aace-88eb2b8b4ce2","timestamp":{"seconds":1745677284,"nanos":131000000},"willBeRetried":false}},{"testCaseStarted":{"attempt":0,"testCaseId":"cb8fe454-8615-4bfa-8db7-8e647c0c14f0","id":"16c2346a-2767-468f-ba55-cb5993b02182","timestamp":{"seconds":1745677284,"nanos":131000000}}},{"testStepStarted":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"7377e735-199d-4907-89c2-5a3812628ae7","timestamp":{"seconds":1745677284,"nanos":131000000}}},{"testStepFinished":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"7377e735-199d-4907-89c2-5a3812628ae7","testStepResult":{"duration":{"seconds":0,"nanos":120666},"status":"PASSED"},"timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepStarted":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"003803cd-cb31-4ad5-b82b-2702548a3891","timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepFinished":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"003803cd-cb31-4ad5-b82b-2702548a3891","testStepResult":{"duration":{"seconds":0,"nanos":75207},"status":"PASSED"},"timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepStarted":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"8c5f979c-acf7-4f27-a467-f8b0fe8d1781","timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepFinished":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"8c5f979c-acf7-4f27-a467-f8b0fe8d1781","testStepResult":{"duration":{"seconds":0,"nanos":44750},"status":"PASSED"},"timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepStarted":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"0658fbf0-1778-484c-9640-924a12e333f0","timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepFinished":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"0658fbf0-1778-484c-9640-924a12e333f0","testStepResult":{"duration":{"seconds":0,"nanos":173041},"status":"PASSED"},"timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepStarted":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"692d832d-973c-41e9-a5f0-602a3bf6fb25","timestamp":{"seconds":1745677284,"nanos":132000000}}},{"testStepFinished":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","testStepId":"692d832d-973c-41e9-a5f0-602a3bf6fb25","testStepResult":{"duration":{"seconds":16,"nanos":189515208},"status":"FAILED","message":"Error: k6 test execution failed\n at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:154:13)\n at processTicksAndRejections (node:internal\/process\/task_queues:105:5)","exception":{"type":"Error","message":"k6 test execution failed","stackTrace":" at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:154:13)\n at processTicksAndRejections (node:internal\/process\/task_queues:105:5)"}},"timestamp":{"seconds":1745677300,"nanos":322000000}}},{"testCaseFinished":{"testCaseStartedId":"16c2346a-2767-468f-ba55-cb5993b02182","timestamp":{"seconds":1745677300,"nanos":322000000},"willBeRetried":false}},{"testCaseStarted":{"attempt":0,"testCaseId":"b20518b7-855d-4db0-b5f8-8c7e8c2ab06a","id":"561212bd-88d7-4418-a0da-a5a4de1c2f13","timestamp":{"seconds":1745677300,"nanos":322000000}}},{"testStepStarted":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"c8781da2-2df1-4b10-8956-99aac2d6568c","timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepFinished":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"c8781da2-2df1-4b10-8956-99aac2d6568c","testStepResult":{"duration":{"seconds":0,"nanos":189416},"status":"PASSED"},"timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepStarted":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"c2f0665a-69bc-4f1b-8b8b-35064a78a45e","timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepFinished":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"c2f0665a-69bc-4f1b-8b8b-35064a78a45e","testStepResult":{"duration":{"seconds":0,"nanos":314374},"status":"PASSED"},"timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepStarted":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"f4e429d7-0dcb-4326-bbf1-69632f6773cd","timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepFinished":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"f4e429d7-0dcb-4326-bbf1-69632f6773cd","testStepResult":{"duration":{"seconds":0,"nanos":34167},"status":"PASSED"},"timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepStarted":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"0e5b8a5e-2453-41c5-8332-341d3deaa76e","timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepFinished":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"0e5b8a5e-2453-41c5-8332-341d3deaa76e","testStepResult":{"duration":{"seconds":0,"nanos":154875},"status":"PASSED"},"timestamp":{"seconds":1745677300,"nanos":323000000}}},{"testStepStarted":{"testCaseStartedId":"561212bd-88d7-4418-a0da-a5a4de1c2f13","testStepId":"8d0fd241-1299-4bcd-b232-aee42833a0ab","timestamp":{"seconds":1745677300,"nanos":323000000}}}
43
+ window.CUCUMBER_MESSAGES = [{"meta":{"protocolVersion":"27.0.2","implementation":{"version":"11.2.0","name":"cucumber-js"},"cpu":{"name":"arm64"},"os":{"name":"darwin","version":"24.3.0"},"runtime":{"name":"node.js","version":"22.14.0"}}},{"source":{"data":"Feature: Run load tests with dynamic GET and POST body from environment variables and JSON files\n\n Scenario Outline: I run the k6 script for load testing with dynamic POST body from environment variables and JSON files\n Given I have a k6 script for POST testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n When the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/profile\n http:\/\/test.k6.io\n \"\"\"\n When the following POST body is used for \"<endpoint>\"\n \"\"\"\n {\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n }\n \"\"\"\n When the authentication type is \"api_key\"\n Then the API should handle the POST request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | 10 | 5 | rate<0.05 | p(95)<3000 | rate<0.05 |\n | 50 | 10 | rate<0.05 | p(95)<3000 | rate<0.05 |\n | 100 | 15 | rate<0.05 | p(95)<3500 | |\n | 200 | 20 | rate<0.05 | p(95)<3500 | rate<0.05 |\n\n @loadTest\n Scenario Outline: I run the k6 script for load testing with dynamic GET requests\n Given I have a k6 script for GET testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/profile\n https:\/\/reqres.in\/api\/users?page=2\n \"\"\"\n When the authentication type is \"none\"\n Then the API should handle the GET request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 10 | 5 | rate<0.05 | p(95)<3000 |\n | 50 | 10 | rate<0.05 | p(95)<3000 |\n | 100 | 15 | rate<0.05 | p(95)<3500 |\n | 200 | 20 | rate<0.05 | p(95)<3500 |\n","uri":"src\/examples\/features\/loadTestTemplate.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Run load tests with dynamic GET and POST body from environment variables and JSON files","description":"","children":[{"scenario":{"id":"a8a84c89-1095-449b-bae4-574f00689016","tags":[],"location":{"line":3,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","description":"","steps":[{"id":"e42faf99-8d84-4c33-a80c-04bb554d01c6","location":{"line":4,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for POST testing"},{"id":"3edd85bc-097d-4cd9-8a09-cc861fd8a888","location":{"line":5,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":6,"column":7},"rows":[{"id":"ad3d3953-4456-4a4b-ad89-6d1257f62eea","location":{"line":6,"column":7},"cells":[{"location":{"line":6,"column":9},"value":"virtual_users"},{"location":{"line":6,"column":27},"value":"duration"},{"location":{"line":6,"column":40},"value":"http_req_failed"},{"location":{"line":6,"column":60},"value":"http_req_duration"},{"location":{"line":6,"column":82},"value":"error_rate"}]},{"id":"4bade408-27a7-4e1b-8b3c-6b17d6479cfb","location":{"line":7,"column":7},"cells":[{"location":{"line":7,"column":9},"value":"<virtual_users>"},{"location":{"line":7,"column":27},"value":"<duration>"},{"location":{"line":7,"column":40},"value":"<http_req_failed>"},{"location":{"line":7,"column":60},"value":"<http_req_duration>"},{"location":{"line":7,"column":82},"value":"<error_rate>"}]}]}},{"id":"9b390c08-1834-4f19-8fdf-b6a75768aef8","location":{"line":8,"column":5},"keyword":"When ","keywordType":"Action","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":9,"column":7},"content":"\/api\/profile\nhttp:\/\/test.k6.io","delimiter":"\"\"\""}},{"id":"acbafae4-d127-4cee-b767-10dd5c738ad7","location":{"line":13,"column":5},"keyword":"When ","keywordType":"Action","text":"the following POST body is used for \"<endpoint>\"","docString":{"location":{"line":14,"column":7},"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}","delimiter":"\"\"\""}},{"id":"71af2be2-ef60-4429-9263-0a027babce2c","location":{"line":21,"column":5},"keyword":"When ","keywordType":"Action","text":"the authentication type is \"api_key\""},{"id":"965f9836-1a4b-4ee8-b604-cf82989667d5","location":{"line":22,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the POST request successfully"}],"examples":[{"id":"93d3afbd-6add-49ef-aeb2-b3ed452f996b","tags":[],"location":{"line":24,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"4b55432e-c61c-42fd-b99c-fb0e4801cd62","location":{"line":25,"column":7},"cells":[{"location":{"line":25,"column":9},"value":"virtual_users"},{"location":{"line":25,"column":25},"value":"duration"},{"location":{"line":25,"column":36},"value":"http_req_failed"},{"location":{"line":25,"column":54},"value":"http_req_duration"},{"location":{"line":25,"column":74},"value":"error_rate"}]},"tableBody":[{"id":"d6670483-8ca8-4084-8c1d-6116773266e3","location":{"line":26,"column":7},"cells":[{"location":{"line":26,"column":20},"value":"10"},{"location":{"line":26,"column":32},"value":"5"},{"location":{"line":26,"column":36},"value":"rate<0.05"},{"location":{"line":26,"column":54},"value":"p(95)<3000"},{"location":{"line":26,"column":74},"value":"rate<0.05"}]},{"id":"6220d566-fdaa-4929-a41e-182657adb64c","location":{"line":27,"column":7},"cells":[{"location":{"line":27,"column":20},"value":"50"},{"location":{"line":27,"column":31},"value":"10"},{"location":{"line":27,"column":36},"value":"rate<0.05"},{"location":{"line":27,"column":54},"value":"p(95)<3000"},{"location":{"line":27,"column":74},"value":"rate<0.05"}]},{"id":"de0ac00c-41fc-426d-a69b-4bbf32247941","location":{"line":28,"column":7},"cells":[{"location":{"line":28,"column":19},"value":"100"},{"location":{"line":28,"column":31},"value":"15"},{"location":{"line":28,"column":36},"value":"rate<0.05"},{"location":{"line":28,"column":54},"value":"p(95)<3500"},{"location":{"line":28,"column":85},"value":""}]},{"id":"7d5675b3-1371-48a5-99fd-3ddbc0d13711","location":{"line":29,"column":7},"cells":[{"location":{"line":29,"column":19},"value":"200"},{"location":{"line":29,"column":31},"value":"20"},{"location":{"line":29,"column":36},"value":"rate<0.05"},{"location":{"line":29,"column":54},"value":"p(95)<3500"},{"location":{"line":29,"column":74},"value":"rate<0.05"}]}]}]}},{"scenario":{"id":"d7454dc0-98fd-4e45-9c1b-bd720c501a14","tags":[{"location":{"line":31,"column":3},"name":"@loadTest","id":"537e9099-5f07-4756-ba54-2d2d57c6aa4a"}],"location":{"line":32,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with dynamic GET requests","description":"","steps":[{"id":"8cab89d0-f438-4150-b54a-2c7294b43cda","location":{"line":33,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for GET testing"},{"id":"9abfaaec-f933-474b-9db1-64140d8be6ae","location":{"line":34,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":35,"column":7},"rows":[{"id":"c69ddff9-8c18-4678-8229-88a31a3a90e9","location":{"line":35,"column":7},"cells":[{"location":{"line":35,"column":9},"value":"virtual_users"},{"location":{"line":35,"column":27},"value":"duration"},{"location":{"line":35,"column":40},"value":"http_req_failed"},{"location":{"line":35,"column":60},"value":"http_req_duration"},{"location":{"line":35,"column":82},"value":"error_rate"}]},{"id":"00f9b450-920e-490d-b752-b63753a44aaa","location":{"line":36,"column":7},"cells":[{"location":{"line":36,"column":9},"value":"<virtual_users>"},{"location":{"line":36,"column":27},"value":"<duration>"},{"location":{"line":36,"column":40},"value":"<http_req_failed>"},{"location":{"line":36,"column":60},"value":"<http_req_duration>"},{"location":{"line":36,"column":82},"value":"<error_rate>"}]}]}},{"id":"28b1c7fb-2f34-4bf4-8de1-359706c8b823","location":{"line":37,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":38,"column":7},"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2","delimiter":"\"\"\""}},{"id":"71c18cb4-850a-422d-b92a-bacf7ebb9485","location":{"line":42,"column":5},"keyword":"When ","keywordType":"Action","text":"the authentication type is \"none\""},{"id":"b8e1df44-dcc0-479e-a639-dec1e446371b","location":{"line":43,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the GET request successfully"}],"examples":[{"id":"a981fcd5-10a5-4e61-ac01-3d34b034cea8","tags":[],"location":{"line":45,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"0f9b517f-ee2e-41d1-b765-0090c9716e7b","location":{"line":46,"column":7},"cells":[{"location":{"line":46,"column":9},"value":"virtual_users"},{"location":{"line":46,"column":25},"value":"duration"},{"location":{"line":46,"column":36},"value":"http_req_failed"},{"location":{"line":46,"column":54},"value":"http_req_duration"}]},"tableBody":[{"id":"0c6a7497-8ebb-410f-badd-db5e93cb3fdd","location":{"line":47,"column":7},"cells":[{"location":{"line":47,"column":20},"value":"10"},{"location":{"line":47,"column":32},"value":"5"},{"location":{"line":47,"column":36},"value":"rate<0.05"},{"location":{"line":47,"column":54},"value":"p(95)<3000"}]},{"id":"d054c52b-1230-4a99-85ba-23ce52ee4a56","location":{"line":48,"column":7},"cells":[{"location":{"line":48,"column":20},"value":"50"},{"location":{"line":48,"column":31},"value":"10"},{"location":{"line":48,"column":36},"value":"rate<0.05"},{"location":{"line":48,"column":54},"value":"p(95)<3000"}]},{"id":"4eb44431-2c3d-4cd2-a027-ad3c953495c2","location":{"line":49,"column":7},"cells":[{"location":{"line":49,"column":19},"value":"100"},{"location":{"line":49,"column":31},"value":"15"},{"location":{"line":49,"column":36},"value":"rate<0.05"},{"location":{"line":49,"column":54},"value":"p(95)<3500"}]},{"id":"236a763c-7542-43ba-a155-0a1aee1b965c","location":{"line":50,"column":7},"cells":[{"location":{"line":50,"column":19},"value":"200"},{"location":{"line":50,"column":31},"value":"20"},{"location":{"line":50,"column":36},"value":"rate<0.05"},{"location":{"line":50,"column":54},"value":"p(95)<3500"}]}]}]}}]},"comments":[],"uri":"src\/examples\/features\/loadTestTemplate.feature"}},{"pickle":{"id":"bfbcd38a-494e-4f84-bfc2-ea73b5514f2f","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["a8a84c89-1095-449b-bae4-574f00689016","d6670483-8ca8-4084-8c1d-6116773266e3"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"d1ba6d0f-ab8f-4ac5-b582-3218949a46c9","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["e42faf99-8d84-4c33-a80c-04bb554d01c6","d6670483-8ca8-4084-8c1d-6116773266e3"]},{"id":"250751bf-dd2f-42f9-9f81-648edf9b4060","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"10"},{"value":"5"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"rate<0.05"}]}]}},"astNodeIds":["3edd85bc-097d-4cd9-8a09-cc861fd8a888","d6670483-8ca8-4084-8c1d-6116773266e3"]},{"id":"d36ddc90-3ffb-48d2-b861-b767f31379a2","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["9b390c08-1834-4f19-8fdf-b6a75768aef8","d6670483-8ca8-4084-8c1d-6116773266e3"]},{"id":"57b26395-8395-4523-ad4e-af12f1973739","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["acbafae4-d127-4cee-b767-10dd5c738ad7","d6670483-8ca8-4084-8c1d-6116773266e3"]},{"id":"09793b3c-352e-43a2-a679-4c22775b5b89","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["71af2be2-ef60-4429-9263-0a027babce2c","d6670483-8ca8-4084-8c1d-6116773266e3"]},{"id":"1a08a2e0-f5d1-4f08-8300-1411d4aa4825","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["965f9836-1a4b-4ee8-b604-cf82989667d5","d6670483-8ca8-4084-8c1d-6116773266e3"]}],"tags":[]}},{"pickle":{"id":"43b910d3-025b-4dc5-98a8-3e2410a04e68","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["a8a84c89-1095-449b-bae4-574f00689016","6220d566-fdaa-4929-a41e-182657adb64c"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"f9102553-dd62-4a36-9523-8a8439d0001d","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["e42faf99-8d84-4c33-a80c-04bb554d01c6","6220d566-fdaa-4929-a41e-182657adb64c"]},{"id":"c308d136-1cca-45d9-aa19-86d4bb1f2e37","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"50"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"rate<0.05"}]}]}},"astNodeIds":["3edd85bc-097d-4cd9-8a09-cc861fd8a888","6220d566-fdaa-4929-a41e-182657adb64c"]},{"id":"f7728acf-0898-4939-abfa-72d956110e6b","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["9b390c08-1834-4f19-8fdf-b6a75768aef8","6220d566-fdaa-4929-a41e-182657adb64c"]},{"id":"5022cbed-690f-4887-9dd4-cb59bddcb7de","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["acbafae4-d127-4cee-b767-10dd5c738ad7","6220d566-fdaa-4929-a41e-182657adb64c"]},{"id":"9c948a1d-ede3-4092-b204-c31f5635a4d6","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["71af2be2-ef60-4429-9263-0a027babce2c","6220d566-fdaa-4929-a41e-182657adb64c"]},{"id":"4d7cc34d-9fd1-4c76-8c7a-0bca96263399","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["965f9836-1a4b-4ee8-b604-cf82989667d5","6220d566-fdaa-4929-a41e-182657adb64c"]}],"tags":[]}},{"pickle":{"id":"57767d2a-940b-4613-b734-03bd60bf0458","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["a8a84c89-1095-449b-bae4-574f00689016","de0ac00c-41fc-426d-a69b-4bbf32247941"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"218f3be6-1555-4834-b39f-c19520478748","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["e42faf99-8d84-4c33-a80c-04bb554d01c6","de0ac00c-41fc-426d-a69b-4bbf32247941"]},{"id":"42257599-f43b-4465-85a2-18f0862d072c","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"100"},{"value":"15"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":""}]}]}},"astNodeIds":["3edd85bc-097d-4cd9-8a09-cc861fd8a888","de0ac00c-41fc-426d-a69b-4bbf32247941"]},{"id":"6adac3f9-586d-4d8b-951d-419c0afa68f7","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["9b390c08-1834-4f19-8fdf-b6a75768aef8","de0ac00c-41fc-426d-a69b-4bbf32247941"]},{"id":"5e723277-3eef-4454-8c9b-3a675c8276be","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["acbafae4-d127-4cee-b767-10dd5c738ad7","de0ac00c-41fc-426d-a69b-4bbf32247941"]},{"id":"a2cf3650-13a6-4c14-a577-7270e551d984","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["71af2be2-ef60-4429-9263-0a027babce2c","de0ac00c-41fc-426d-a69b-4bbf32247941"]},{"id":"0e8025ef-6eda-48a4-8f40-ec0c858a100c","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["965f9836-1a4b-4ee8-b604-cf82989667d5","de0ac00c-41fc-426d-a69b-4bbf32247941"]}],"tags":[]}},{"pickle":{"id":"a0a2ae31-b390-4d2c-8434-8f8c7c3f8881","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["a8a84c89-1095-449b-bae4-574f00689016","7d5675b3-1371-48a5-99fd-3ddbc0d13711"],"name":"I run the k6 script for load testing with dynamic POST body from environment variables and JSON files","language":"en","steps":[{"id":"2641a968-843d-463b-8698-076ebe04b4ab","text":"I have a k6 script for POST testing","type":"Context","astNodeIds":["e42faf99-8d84-4c33-a80c-04bb554d01c6","7d5675b3-1371-48a5-99fd-3ddbc0d13711"]},{"id":"8b96203e-7f21-468e-9e63-314224695ffa","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"200"},{"value":"20"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":"rate<0.05"}]}]}},"astNodeIds":["3edd85bc-097d-4cd9-8a09-cc861fd8a888","7d5675b3-1371-48a5-99fd-3ddbc0d13711"]},{"id":"88980aed-126d-407c-afdb-882e78db953e","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttp:\/\/test.k6.io"}},"astNodeIds":["9b390c08-1834-4f19-8fdf-b6a75768aef8","7d5675b3-1371-48a5-99fd-3ddbc0d13711"]},{"id":"d44a9dc3-817f-4999-b7a3-62f9ffd45ece","text":"the following POST body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}"}},"astNodeIds":["acbafae4-d127-4cee-b767-10dd5c738ad7","7d5675b3-1371-48a5-99fd-3ddbc0d13711"]},{"id":"3a77e511-9bbc-415d-af46-a950fb302517","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["71af2be2-ef60-4429-9263-0a027babce2c","7d5675b3-1371-48a5-99fd-3ddbc0d13711"]},{"id":"b8046100-2453-4a25-858e-6a5acc48d6d2","text":"the API should handle the POST request successfully","type":"Outcome","astNodeIds":["965f9836-1a4b-4ee8-b604-cf82989667d5","7d5675b3-1371-48a5-99fd-3ddbc0d13711"]}],"tags":[]}},{"pickle":{"id":"9c1935b2-c40c-41db-8399-dfa3e128f324","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["d7454dc0-98fd-4e45-9c1b-bd720c501a14","0c6a7497-8ebb-410f-badd-db5e93cb3fdd"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"1c693bfe-6fed-422f-8646-3c9f57d2e481","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["8cab89d0-f438-4150-b54a-2c7294b43cda","0c6a7497-8ebb-410f-badd-db5e93cb3fdd"]},{"id":"1d4acadd-6294-4aad-889f-27e7100f7b58","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"10"},{"value":"5"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"<error_rate>"}]}]}},"astNodeIds":["9abfaaec-f933-474b-9db1-64140d8be6ae","0c6a7497-8ebb-410f-badd-db5e93cb3fdd"]},{"id":"f368a031-b38e-4442-b59d-a8dd10c5eeb5","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["28b1c7fb-2f34-4bf4-8de1-359706c8b823","0c6a7497-8ebb-410f-badd-db5e93cb3fdd"]},{"id":"521a0aae-7e7a-4189-bd51-5078cd5c9f55","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["71c18cb4-850a-422d-b92a-bacf7ebb9485","0c6a7497-8ebb-410f-badd-db5e93cb3fdd"]},{"id":"d771ae3b-f316-428e-a607-6104e913ab2e","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["b8e1df44-dcc0-479e-a639-dec1e446371b","0c6a7497-8ebb-410f-badd-db5e93cb3fdd"]}],"tags":[{"name":"@loadTest","astNodeId":"537e9099-5f07-4756-ba54-2d2d57c6aa4a"}]}},{"pickle":{"id":"cdfa1131-22ac-47a5-9929-f0153c54f508","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["d7454dc0-98fd-4e45-9c1b-bd720c501a14","d054c52b-1230-4a99-85ba-23ce52ee4a56"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"a696a105-37bf-42a9-b76c-ea776d689bb2","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["8cab89d0-f438-4150-b54a-2c7294b43cda","d054c52b-1230-4a99-85ba-23ce52ee4a56"]},{"id":"43fad10c-8f41-42ed-8ce6-33e0d6c17208","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"50"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<3000"},{"value":"<error_rate>"}]}]}},"astNodeIds":["9abfaaec-f933-474b-9db1-64140d8be6ae","d054c52b-1230-4a99-85ba-23ce52ee4a56"]},{"id":"1f9a600c-b35f-4369-af4f-2a8edf16570f","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["28b1c7fb-2f34-4bf4-8de1-359706c8b823","d054c52b-1230-4a99-85ba-23ce52ee4a56"]},{"id":"2483d5a9-bc6c-45ac-9549-0f7b3f139b1f","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["71c18cb4-850a-422d-b92a-bacf7ebb9485","d054c52b-1230-4a99-85ba-23ce52ee4a56"]},{"id":"5bf11736-9047-4ccf-9c21-9bdff1ec5577","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["b8e1df44-dcc0-479e-a639-dec1e446371b","d054c52b-1230-4a99-85ba-23ce52ee4a56"]}],"tags":[{"name":"@loadTest","astNodeId":"537e9099-5f07-4756-ba54-2d2d57c6aa4a"}]}},{"pickle":{"id":"8c8e8e1a-8737-4e20-881f-2c3dccfa8293","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["d7454dc0-98fd-4e45-9c1b-bd720c501a14","4eb44431-2c3d-4cd2-a027-ad3c953495c2"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"e93c9f79-3c81-4729-aa61-0487fac4e36e","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["8cab89d0-f438-4150-b54a-2c7294b43cda","4eb44431-2c3d-4cd2-a027-ad3c953495c2"]},{"id":"2bda0060-f98a-40bb-ae77-168fda0d6d1b","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"100"},{"value":"15"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":"<error_rate>"}]}]}},"astNodeIds":["9abfaaec-f933-474b-9db1-64140d8be6ae","4eb44431-2c3d-4cd2-a027-ad3c953495c2"]},{"id":"9b2a4711-8b6a-4d30-a170-b21b882e86fb","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["28b1c7fb-2f34-4bf4-8de1-359706c8b823","4eb44431-2c3d-4cd2-a027-ad3c953495c2"]},{"id":"cc423565-a847-4221-9cd6-1ffd728059b7","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["71c18cb4-850a-422d-b92a-bacf7ebb9485","4eb44431-2c3d-4cd2-a027-ad3c953495c2"]},{"id":"ef259039-e246-452f-8bf1-bfb2e3506b4a","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["b8e1df44-dcc0-479e-a639-dec1e446371b","4eb44431-2c3d-4cd2-a027-ad3c953495c2"]}],"tags":[{"name":"@loadTest","astNodeId":"537e9099-5f07-4756-ba54-2d2d57c6aa4a"}]}},{"pickle":{"id":"382f75eb-9f6c-4154-bb9a-80948df88cc5","uri":"src\/examples\/features\/loadTestTemplate.feature","astNodeIds":["d7454dc0-98fd-4e45-9c1b-bd720c501a14","236a763c-7542-43ba-a155-0a1aee1b965c"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"1f463bff-a9f6-4214-b21a-c0282e093596","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["8cab89d0-f438-4150-b54a-2c7294b43cda","236a763c-7542-43ba-a155-0a1aee1b965c"]},{"id":"3247cf0f-79da-427b-bc17-f99b88d7ab22","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"200"},{"value":"20"},{"value":"rate<0.05"},{"value":"p(95)<3500"},{"value":"<error_rate>"}]}]}},"astNodeIds":["9abfaaec-f933-474b-9db1-64140d8be6ae","236a763c-7542-43ba-a155-0a1aee1b965c"]},{"id":"91d4f4a8-274a-4430-b02e-a15a0dd0ea61","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/profile\nhttps:\/\/reqres.in\/api\/users?page=2"}},"astNodeIds":["28b1c7fb-2f34-4bf4-8de1-359706c8b823","236a763c-7542-43ba-a155-0a1aee1b965c"]},{"id":"8c7eeb8f-ce6d-4f6b-ac79-faf41b79da33","text":"the authentication type is \"none\"","type":"Action","astNodeIds":["71c18cb4-850a-422d-b92a-bacf7ebb9485","236a763c-7542-43ba-a155-0a1aee1b965c"]},{"id":"59a1453b-f35a-4d83-8af4-bdb77c49a46a","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["b8e1df44-dcc0-479e-a639-dec1e446371b","236a763c-7542-43ba-a155-0a1aee1b965c"]}],"tags":[{"name":"@loadTest","astNodeId":"537e9099-5f07-4756-ba54-2d2d57c6aa4a"}]}},{"source":{"data":"Feature: Extended Load Testing with PUT, DELETE, and Multipart Uploads\n\n Scenario Outline: I run the k6 script for load testing with PUT requests\n Given I have a k6 script for PUT testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration |\n | <virtual_users> | <duration> |\n And the following endpoint is used: \"<endpoint>\"\n When the following PUT body is used:\n \"\"\"\n {\n \"userId\": \"{{user_id}}\",\n \"status\": \"{{status}}\"\n }\n \"\"\"\n And the authentication type is \"bearer_token\"\n Then the API should handle the PUT request successfully\n\n Examples:\n | virtual_users | duration | endpoint |\n | 10 | 5 | \/api\/v1\/update-status |\n\n Scenario Outline: I run the k6 script for load testing with DELETE requests\n Given I have a k6 script for DELETE testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration |\n | <virtual_users> | <duration> |\n And the following endpoint is used: \"<endpoint>\"\n And the authentication type is \"api_key\"\n Then the API should handle the DELETE request successfully\n\n Examples:\n | virtual_users | duration | endpoint |\n | 20 | 3 | \/api\/v1\/delete-record |\n\n Scenario Outline: I run the k6 script for load testing with multipart\/form-data requests\n Given I have a k6 script for multipart POST testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration |\n | <virtual_users> | <duration> |\n And the following endpoint is used: \"<endpoint>\"\n When the following multipart body is used:\n \"\"\"\n file: <sample.pdf>\n description: {{file_description}}\n \"\"\"\n And the authentication type is \"bearer_token\"\n Then the API should handle multipart request successfully\n\n Examples:\n | virtual_users | duration | endpoint |\n | 15 | 5 | \/api\/v1\/upload-file |\n","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Extended Load Testing with PUT, DELETE, and Multipart Uploads","description":"","children":[{"scenario":{"id":"fd51c729-b17a-40ce-a83d-df138f565072","tags":[],"location":{"line":3,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with PUT requests","description":"","steps":[{"id":"b603ba35-a816-4849-aff5-29ff9549013d","location":{"line":4,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for PUT testing"},{"id":"61d42af8-dc24-4a35-8504-0b70c3043f9f","location":{"line":5,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":6,"column":7},"rows":[{"id":"f1f673c8-bbe8-45c9-9658-fd427cbb187f","location":{"line":6,"column":7},"cells":[{"location":{"line":6,"column":9},"value":"virtual_users"},{"location":{"line":6,"column":27},"value":"duration"}]},{"id":"d4914164-7a6f-4c5b-a0b6-6b2e9afd8fae","location":{"line":7,"column":7},"cells":[{"location":{"line":7,"column":9},"value":"<virtual_users>"},{"location":{"line":7,"column":27},"value":"<duration>"}]}]}},{"id":"8236ca53-c24b-42a9-962e-9025a42a6133","location":{"line":8,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint is used: \"<endpoint>\""},{"id":"7b67a4dd-a265-4027-9c82-f6bdba373c83","location":{"line":9,"column":5},"keyword":"When ","keywordType":"Action","text":"the following PUT body is used:","docString":{"location":{"line":10,"column":7},"content":"{\n \"userId\": \"{{user_id}}\",\n \"status\": \"{{status}}\"\n}","delimiter":"\"\"\""}},{"id":"c6a529bf-2c8f-4522-ae01-55aacfba6cca","location":{"line":16,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"bearer_token\""},{"id":"0018af7e-9740-4116-b678-ccd48937bc60","location":{"line":17,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the PUT request successfully"}],"examples":[{"id":"a98ec3df-dff5-4985-9e7b-67fb4aa50194","tags":[],"location":{"line":19,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"94db2f0c-f2e7-42b0-a4d6-b02e70d68f01","location":{"line":20,"column":7},"cells":[{"location":{"line":20,"column":9},"value":"virtual_users"},{"location":{"line":20,"column":25},"value":"duration"},{"location":{"line":20,"column":36},"value":"endpoint"}]},"tableBody":[{"id":"b770b375-316e-405f-9f18-93cdbc5f7d23","location":{"line":21,"column":7},"cells":[{"location":{"line":21,"column":20},"value":"10"},{"location":{"line":21,"column":32},"value":"5"},{"location":{"line":21,"column":36},"value":"\/api\/v1\/update-status"}]}]}]}},{"scenario":{"id":"2bd4e977-6c0e-472e-b6e8-47515b6855ad","tags":[],"location":{"line":23,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with DELETE requests","description":"","steps":[{"id":"b1603649-eb2e-47e8-8f44-901f92297ad1","location":{"line":24,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for DELETE testing"},{"id":"c1004046-e6c7-407b-bfd1-8b223defdd51","location":{"line":25,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":26,"column":7},"rows":[{"id":"ea816273-ed24-46e5-807f-10efbce4ed5f","location":{"line":26,"column":7},"cells":[{"location":{"line":26,"column":9},"value":"virtual_users"},{"location":{"line":26,"column":27},"value":"duration"}]},{"id":"be7881f2-0550-4623-90c5-58828b6ba401","location":{"line":27,"column":7},"cells":[{"location":{"line":27,"column":9},"value":"<virtual_users>"},{"location":{"line":27,"column":27},"value":"<duration>"}]}]}},{"id":"c805f4e9-cbad-49ca-b01f-9b596f890d26","location":{"line":28,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint is used: \"<endpoint>\""},{"id":"b46f5e5d-ba67-43c8-b6a0-523c8881e10b","location":{"line":29,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"api_key\""},{"id":"0ab9b411-8247-4a3f-9585-d8c14df19ee1","location":{"line":30,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the DELETE request successfully"}],"examples":[{"id":"707dc0d0-e350-4019-be7e-32a564bc10c7","tags":[],"location":{"line":32,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"93d40cb9-998d-4646-8dab-5a7022365807","location":{"line":33,"column":7},"cells":[{"location":{"line":33,"column":9},"value":"virtual_users"},{"location":{"line":33,"column":25},"value":"duration"},{"location":{"line":33,"column":36},"value":"endpoint"}]},"tableBody":[{"id":"1f33f7b6-f8c8-4cf7-9e24-9931fc436436","location":{"line":34,"column":7},"cells":[{"location":{"line":34,"column":20},"value":"20"},{"location":{"line":34,"column":32},"value":"3"},{"location":{"line":34,"column":36},"value":"\/api\/v1\/delete-record"}]}]}]}},{"scenario":{"id":"2250ca06-f905-4599-8497-53583cf322cd","tags":[],"location":{"line":36,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with multipart\/form-data requests","description":"","steps":[{"id":"6034b2cc-2e70-40f0-ba93-b9fa436e6415","location":{"line":37,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for multipart POST testing"},{"id":"c038248c-8d77-42b4-96a5-d73301909e86","location":{"line":38,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":39,"column":7},"rows":[{"id":"bbe87322-d1aa-4af3-bfa0-ee762e1f6b22","location":{"line":39,"column":7},"cells":[{"location":{"line":39,"column":9},"value":"virtual_users"},{"location":{"line":39,"column":27},"value":"duration"}]},{"id":"b2667133-8544-4f6a-9489-56fe2abce969","location":{"line":40,"column":7},"cells":[{"location":{"line":40,"column":9},"value":"<virtual_users>"},{"location":{"line":40,"column":27},"value":"<duration>"}]}]}},{"id":"e47003e7-6169-46d5-b2d6-287d51b683e6","location":{"line":41,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint is used: \"<endpoint>\""},{"id":"ee4c87f9-aa5d-4c00-8fc9-4ef297d12f67","location":{"line":42,"column":5},"keyword":"When ","keywordType":"Action","text":"the following multipart body is used:","docString":{"location":{"line":43,"column":7},"content":"file: <sample.pdf>\ndescription: {{file_description}}","delimiter":"\"\"\""}},{"id":"421967e8-f122-47ee-9692-3953e175369c","location":{"line":47,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"bearer_token\""},{"id":"07331868-a31a-458b-bbf6-7b8cc19c2fd4","location":{"line":48,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle multipart request successfully"}],"examples":[{"id":"22e5ad9f-b97a-44c7-a76f-e02ad6c0710d","tags":[],"location":{"line":50,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"ff345003-26fd-4858-be42-b381f1b88e52","location":{"line":51,"column":7},"cells":[{"location":{"line":51,"column":9},"value":"virtual_users"},{"location":{"line":51,"column":25},"value":"duration"},{"location":{"line":51,"column":36},"value":"endpoint"}]},"tableBody":[{"id":"0ba7435c-c7ce-47f0-9d08-117adcce81bf","location":{"line":52,"column":7},"cells":[{"location":{"line":52,"column":20},"value":"15"},{"location":{"line":52,"column":32},"value":"5"},{"location":{"line":52,"column":36},"value":"\/api\/v1\/upload-file"}]}]}]}}]},"comments":[],"uri":"src\/examples\/features\/putDeleteMultipartUploads.feature"}},{"pickle":{"id":"82bbe5df-4dde-4318-8a56-3082f5a3837c","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","astNodeIds":["fd51c729-b17a-40ce-a83d-df138f565072","b770b375-316e-405f-9f18-93cdbc5f7d23"],"name":"I run the k6 script for load testing with PUT requests","language":"en","steps":[{"id":"ece970bb-a768-4040-9b48-006b17abd476","text":"I have a k6 script for PUT testing","type":"Context","astNodeIds":["b603ba35-a816-4849-aff5-29ff9549013d","b770b375-316e-405f-9f18-93cdbc5f7d23"]},{"id":"00366db6-0b5f-43a6-b70e-54d624fc0fc8","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"}]},{"cells":[{"value":"10"},{"value":"5"}]}]}},"astNodeIds":["61d42af8-dc24-4a35-8504-0b70c3043f9f","b770b375-316e-405f-9f18-93cdbc5f7d23"]},{"id":"8e9a4938-267f-4d00-a600-b5d1aa45a8df","text":"the following endpoint is used: \"\/api\/v1\/update-status\"","type":"Action","astNodeIds":["8236ca53-c24b-42a9-962e-9025a42a6133","b770b375-316e-405f-9f18-93cdbc5f7d23"]},{"id":"1d75f0eb-8442-4916-b82f-8f5984d43015","text":"the following PUT body is used:","type":"Action","argument":{"docString":{"content":"{\n \"userId\": \"{{user_id}}\",\n \"status\": \"{{status}}\"\n}"}},"astNodeIds":["7b67a4dd-a265-4027-9c82-f6bdba373c83","b770b375-316e-405f-9f18-93cdbc5f7d23"]},{"id":"c63d1fdf-b2f4-4724-9208-e10beb398ec9","text":"the authentication type is \"bearer_token\"","type":"Action","astNodeIds":["c6a529bf-2c8f-4522-ae01-55aacfba6cca","b770b375-316e-405f-9f18-93cdbc5f7d23"]},{"id":"063c3c77-eec6-4e0e-b04c-15019ed1de2e","text":"the API should handle the PUT request successfully","type":"Outcome","astNodeIds":["0018af7e-9740-4116-b678-ccd48937bc60","b770b375-316e-405f-9f18-93cdbc5f7d23"]}],"tags":[]}},{"pickle":{"id":"7c6813c0-dd93-44df-a9a6-8dd4c5a97e6c","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","astNodeIds":["2bd4e977-6c0e-472e-b6e8-47515b6855ad","1f33f7b6-f8c8-4cf7-9e24-9931fc436436"],"name":"I run the k6 script for load testing with DELETE requests","language":"en","steps":[{"id":"374a12b8-4833-49ce-86e0-0aeb773f86ba","text":"I have a k6 script for DELETE testing","type":"Context","astNodeIds":["b1603649-eb2e-47e8-8f44-901f92297ad1","1f33f7b6-f8c8-4cf7-9e24-9931fc436436"]},{"id":"d30ee947-680c-4c61-8bbd-1d397e4192c9","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"}]},{"cells":[{"value":"20"},{"value":"3"}]}]}},"astNodeIds":["c1004046-e6c7-407b-bfd1-8b223defdd51","1f33f7b6-f8c8-4cf7-9e24-9931fc436436"]},{"id":"8f538a2d-3569-4025-8878-94d396997469","text":"the following endpoint is used: \"\/api\/v1\/delete-record\"","type":"Action","astNodeIds":["c805f4e9-cbad-49ca-b01f-9b596f890d26","1f33f7b6-f8c8-4cf7-9e24-9931fc436436"]},{"id":"cc05adf6-34c8-448a-9ca0-ef67d51820dd","text":"the authentication type is \"api_key\"","type":"Action","astNodeIds":["b46f5e5d-ba67-43c8-b6a0-523c8881e10b","1f33f7b6-f8c8-4cf7-9e24-9931fc436436"]},{"id":"af981e14-65b7-4953-9cf5-584683a63ec3","text":"the API should handle the DELETE request successfully","type":"Outcome","astNodeIds":["0ab9b411-8247-4a3f-9585-d8c14df19ee1","1f33f7b6-f8c8-4cf7-9e24-9931fc436436"]}],"tags":[]}},{"pickle":{"id":"e9caa3c9-e2d1-4f2c-ab11-423aa4ed4c34","uri":"src\/examples\/features\/putDeleteMultipartUploads.feature","astNodeIds":["2250ca06-f905-4599-8497-53583cf322cd","0ba7435c-c7ce-47f0-9d08-117adcce81bf"],"name":"I run the k6 script for load testing with multipart\/form-data requests","language":"en","steps":[{"id":"537fc8fc-2029-4ba5-9030-5ebc93904120","text":"I have a k6 script for multipart POST testing","type":"Context","astNodeIds":["6034b2cc-2e70-40f0-ba93-b9fa436e6415","0ba7435c-c7ce-47f0-9d08-117adcce81bf"]},{"id":"0d67a603-66fb-40cd-9962-ed299458602b","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"}]},{"cells":[{"value":"15"},{"value":"5"}]}]}},"astNodeIds":["c038248c-8d77-42b4-96a5-d73301909e86","0ba7435c-c7ce-47f0-9d08-117adcce81bf"]},{"id":"02bfbeb8-da91-439e-a312-794370d24907","text":"the following endpoint is used: \"\/api\/v1\/upload-file\"","type":"Action","astNodeIds":["e47003e7-6169-46d5-b2d6-287d51b683e6","0ba7435c-c7ce-47f0-9d08-117adcce81bf"]},{"id":"6f4c6e70-dce0-48b7-9f57-2584eb2af57b","text":"the following multipart body is used:","type":"Action","argument":{"docString":{"content":"file: <sample.pdf>\ndescription: {{file_description}}"}},"astNodeIds":["ee4c87f9-aa5d-4c00-8fc9-4ef297d12f67","0ba7435c-c7ce-47f0-9d08-117adcce81bf"]},{"id":"0e3b2c91-aa74-4c77-b24a-736697e7d72d","text":"the authentication type is \"bearer_token\"","type":"Action","astNodeIds":["421967e8-f122-47ee-9692-3953e175369c","0ba7435c-c7ce-47f0-9d08-117adcce81bf"]},{"id":"2fb9b7e4-8703-4e73-aaf7-6f3c3d905696","text":"the API should handle multipart request successfully","type":"Outcome","astNodeIds":["07331868-a31a-458b-bbf6-7b8cc19c2fd4","0ba7435c-c7ce-47f0-9d08-117adcce81bf"]}],"tags":[]}},{"source":{"data":"Feature: Run stress tests with dynamic GET and POST body from environment variables and JSON files\n\n Scenario Outline: I run the k6 script for stress testing with dynamic POST body from environment variables and JSON files\n Given I have a k6 script for POST testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/v1\/resource1\n https:\/\/api.external.com\/resource2\n \"\"\"\n And the following POST body is used:\n \"\"\"\n {\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n }\n \"\"\"\n Then the API should handle the POST request successfully\n\n Examples:\n\n Scenario Outline: I run the k6 script for GET testing with dynamic endpoints\n Given I have a k6 script for GET testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration | error_rate |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> | <error_rate> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/v1\/resource1\n https:\/\/api.external.com\/resource2\n \"\"\"\n Then the API should handle the GET request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed |\n | 10 | 5 | rate<0.10 |\n | 50 | 10 | rate<0.05 |\n | 100 | 15 | rate<0.10 |\n | 200 | 20 | rate<0.05 |\n\n Scenario Outline: I run the k6 script for PUT requests\n Given I have a k6 script for PUT testing\n When I run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | <virtual_users> | <duration> | <http_req_failed> | <http_req_duration> |\n And the following endpoint(s) is\/are used:\n \"\"\"\n \/api\/v1\/update-profile\n \"\"\"\n When the following PUT body is used for \"<endpoint>\"\n \"\"\"\n {\n \"id\": \"{{userId}}\",\n \"status\": \"updated\"\n }\n \"\"\"\n And the authentication type is \"bearer_token\"\n Then the API should handle the PUT request successfully\n\n Examples:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 20 | 10 | rate<0.05 | p(95)<1000 |\n","uri":"src\/examples\/features\/streesTestTemplate.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[],"location":{"line":1,"column":1},"language":"en","keyword":"Feature","name":"Run stress tests with dynamic GET and POST body from environment variables and JSON files","description":"","children":[{"scenario":{"id":"9074e46f-9443-4db8-9b28-275a757d79f2","tags":[],"location":{"line":3,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for stress testing with dynamic POST body from environment variables and JSON files","description":"","steps":[{"id":"ae0265c7-7dab-4657-9066-9471b8a5097e","location":{"line":4,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for POST testing"},{"id":"3e427537-90b0-46e2-bb9d-60966509fecd","location":{"line":5,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":6,"column":7},"rows":[{"id":"38f607c9-bfc3-4440-b67a-a8e6df9a5d91","location":{"line":6,"column":7},"cells":[{"location":{"line":6,"column":9},"value":"virtual_users"},{"location":{"line":6,"column":27},"value":"duration"},{"location":{"line":6,"column":40},"value":"http_req_failed"},{"location":{"line":6,"column":60},"value":"http_req_duration"},{"location":{"line":6,"column":82},"value":"error_rate"}]},{"id":"b7e8b792-755e-4268-9fe9-86e0172d8a46","location":{"line":7,"column":7},"cells":[{"location":{"line":7,"column":9},"value":"<virtual_users>"},{"location":{"line":7,"column":27},"value":"<duration>"},{"location":{"line":7,"column":40},"value":"<http_req_failed>"},{"location":{"line":7,"column":60},"value":"<http_req_duration>"},{"location":{"line":7,"column":82},"value":"<error_rate>"}]}]}},{"id":"1d557fc5-7674-4c00-81c6-ccba96b91170","location":{"line":8,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":9,"column":7},"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2","delimiter":"\"\"\""}},{"id":"5f50d774-d298-4a1e-810b-7f6d0f855dc5","location":{"line":13,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following POST body is used:","docString":{"location":{"line":14,"column":7},"content":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"address\": \"<address.json>\"\n}","delimiter":"\"\"\""}},{"id":"8444f7e7-f365-4976-aad8-8e50ba7fa8e1","location":{"line":21,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the POST request successfully"}],"examples":[{"id":"2d34b953-1649-49b3-9882-ba89b483d5e2","tags":[],"location":{"line":23,"column":5},"keyword":"Examples","name":"","description":"","tableBody":[]}]}},{"scenario":{"id":"fabdc1c9-dad3-4a79-a94a-68348384148a","tags":[],"location":{"line":25,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for GET testing with dynamic endpoints","description":"","steps":[{"id":"a9ca704a-d8fd-469e-8af6-6e05b947a8a8","location":{"line":26,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for GET testing"},{"id":"2e9392db-612e-4cb8-8672-5f6f290fd08a","location":{"line":27,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":28,"column":7},"rows":[{"id":"5d0d3503-d885-4a67-a21e-4a4379a685bb","location":{"line":28,"column":7},"cells":[{"location":{"line":28,"column":9},"value":"virtual_users"},{"location":{"line":28,"column":27},"value":"duration"},{"location":{"line":28,"column":40},"value":"http_req_failed"},{"location":{"line":28,"column":60},"value":"http_req_duration"},{"location":{"line":28,"column":82},"value":"error_rate"}]},{"id":"476c872d-00f5-413f-a2e8-07beae8a5811","location":{"line":29,"column":7},"cells":[{"location":{"line":29,"column":9},"value":"<virtual_users>"},{"location":{"line":29,"column":27},"value":"<duration>"},{"location":{"line":29,"column":40},"value":"<http_req_failed>"},{"location":{"line":29,"column":60},"value":"<http_req_duration>"},{"location":{"line":29,"column":82},"value":"<error_rate>"}]}]}},{"id":"d0e64049-05e8-4bb4-929b-626bf2f7d9b7","location":{"line":30,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":31,"column":7},"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2","delimiter":"\"\"\""}},{"id":"5e3d8a10-f06b-4dad-a2c6-5e451b13a003","location":{"line":35,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the GET request successfully"}],"examples":[{"id":"7a4be176-245a-496c-a14b-3d2058d01332","tags":[],"location":{"line":37,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"74144943-79eb-426e-8525-76fd2b2e5ee0","location":{"line":38,"column":7},"cells":[{"location":{"line":38,"column":9},"value":"virtual_users"},{"location":{"line":38,"column":25},"value":"duration"},{"location":{"line":38,"column":36},"value":"http_req_failed"}]},"tableBody":[{"id":"3f883495-fa8b-4be6-81da-8ba8ac47588a","location":{"line":39,"column":7},"cells":[{"location":{"line":39,"column":20},"value":"10"},{"location":{"line":39,"column":32},"value":"5"},{"location":{"line":39,"column":36},"value":"rate<0.10"}]},{"id":"e4715d9d-aa3d-4aa6-b8db-ad653f14ed18","location":{"line":40,"column":7},"cells":[{"location":{"line":40,"column":20},"value":"50"},{"location":{"line":40,"column":31},"value":"10"},{"location":{"line":40,"column":36},"value":"rate<0.05"}]},{"id":"edc6a314-dbcb-4075-9c2b-d546e7e3deba","location":{"line":41,"column":7},"cells":[{"location":{"line":41,"column":19},"value":"100"},{"location":{"line":41,"column":31},"value":"15"},{"location":{"line":41,"column":36},"value":"rate<0.10"}]},{"id":"59d6bc25-bef7-4a39-8442-56116bcbe73b","location":{"line":42,"column":7},"cells":[{"location":{"line":42,"column":19},"value":"200"},{"location":{"line":42,"column":31},"value":"20"},{"location":{"line":42,"column":36},"value":"rate<0.05"}]}]}]}},{"scenario":{"id":"5345b195-ce2d-4763-9635-194d95c8b98c","tags":[],"location":{"line":44,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for PUT requests","description":"","steps":[{"id":"b006f8a5-7098-43dd-abe4-a240f66ec336","location":{"line":45,"column":5},"keyword":"Given ","keywordType":"Context","text":"I have a k6 script for PUT testing"},{"id":"2215a6f1-800a-4a38-9314-90f8780a2b95","location":{"line":46,"column":5},"keyword":"When ","keywordType":"Action","text":"I run the k6 script with the following configurations:","dataTable":{"location":{"line":47,"column":7},"rows":[{"id":"4f701a3c-6cc8-4bf5-8cad-c160bf9eb5f1","location":{"line":47,"column":7},"cells":[{"location":{"line":47,"column":9},"value":"virtual_users"},{"location":{"line":47,"column":27},"value":"duration"},{"location":{"line":47,"column":40},"value":"http_req_failed"},{"location":{"line":47,"column":60},"value":"http_req_duration"}]},{"id":"ccce04cf-a6bd-41ca-86fd-30b75e458ae0","location":{"line":48,"column":7},"cells":[{"location":{"line":48,"column":9},"value":"<virtual_users>"},{"location":{"line":48,"column":27},"value":"<duration>"},{"location":{"line":48,"column":40},"value":"<http_req_failed>"},{"location":{"line":48,"column":60},"value":"<http_req_duration>"}]}]}},{"id":"1ed15126-7ee8-4576-bbdf-8cc459bd020a","location":{"line":49,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the following endpoint(s) is\/are used:","docString":{"location":{"line":50,"column":7},"content":"\/api\/v1\/update-profile","delimiter":"\"\"\""}},{"id":"6772cf8b-9542-4e53-844a-31e9050cada8","location":{"line":53,"column":5},"keyword":"When ","keywordType":"Action","text":"the following PUT body is used for \"<endpoint>\"","docString":{"location":{"line":54,"column":7},"content":"{\n \"id\": \"{{userId}}\",\n \"status\": \"updated\"\n}","delimiter":"\"\"\""}},{"id":"d2d78a61-9bad-4765-ad0d-7a92674506cb","location":{"line":60,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"the authentication type is \"bearer_token\""},{"id":"866b14f0-33ca-4c18-b0ae-f37a6fee0fb5","location":{"line":61,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"the API should handle the PUT request successfully"}],"examples":[{"id":"9a693de6-7095-4e0f-ab42-55e2e7daf689","tags":[],"location":{"line":63,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"94fb9140-92c3-4853-aa22-00338469a6e6","location":{"line":64,"column":7},"cells":[{"location":{"line":64,"column":9},"value":"virtual_users"},{"location":{"line":64,"column":25},"value":"duration"},{"location":{"line":64,"column":36},"value":"http_req_failed"},{"location":{"line":64,"column":54},"value":"http_req_duration"}]},"tableBody":[{"id":"a3fbc962-e4dd-4660-8e80-c763cccb07fd","location":{"line":65,"column":7},"cells":[{"location":{"line":65,"column":20},"value":"20"},{"location":{"line":65,"column":31},"value":"10"},{"location":{"line":65,"column":36},"value":"rate<0.05"},{"location":{"line":65,"column":54},"value":"p(95)<1000"}]}]}]}}]},"comments":[],"uri":"src\/examples\/features\/streesTestTemplate.feature"}},{"pickle":{"id":"fe457c3f-31a4-4fdd-b395-36be58db6f82","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["fabdc1c9-dad3-4a79-a94a-68348384148a","3f883495-fa8b-4be6-81da-8ba8ac47588a"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"e6a30e20-741c-4af7-83e7-4473f7b8b39c","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a9ca704a-d8fd-469e-8af6-6e05b947a8a8","3f883495-fa8b-4be6-81da-8ba8ac47588a"]},{"id":"345b55cd-22de-48cd-ba56-be4fb575e9b7","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"10"},{"value":"5"},{"value":"rate<0.10"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["2e9392db-612e-4cb8-8672-5f6f290fd08a","3f883495-fa8b-4be6-81da-8ba8ac47588a"]},{"id":"7a1bafa2-b0fc-4de6-927b-7215aef6e9a2","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["d0e64049-05e8-4bb4-929b-626bf2f7d9b7","3f883495-fa8b-4be6-81da-8ba8ac47588a"]},{"id":"60bcb3c6-6080-42e1-8816-fd8b6aa1313c","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["5e3d8a10-f06b-4dad-a2c6-5e451b13a003","3f883495-fa8b-4be6-81da-8ba8ac47588a"]}],"tags":[]}},{"pickle":{"id":"e070c3e1-2980-437e-8029-6708b0fa57a6","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["fabdc1c9-dad3-4a79-a94a-68348384148a","e4715d9d-aa3d-4aa6-b8db-ad653f14ed18"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"2e156016-590b-4e9d-abe9-860a0706fb69","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a9ca704a-d8fd-469e-8af6-6e05b947a8a8","e4715d9d-aa3d-4aa6-b8db-ad653f14ed18"]},{"id":"ec0be35b-50bb-4a6b-9675-aa8b8bbb5ec9","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"50"},{"value":"10"},{"value":"rate<0.05"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["2e9392db-612e-4cb8-8672-5f6f290fd08a","e4715d9d-aa3d-4aa6-b8db-ad653f14ed18"]},{"id":"131879a9-1e18-4e0f-b9bb-f7f2afff5d74","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["d0e64049-05e8-4bb4-929b-626bf2f7d9b7","e4715d9d-aa3d-4aa6-b8db-ad653f14ed18"]},{"id":"3e293bb1-f230-438e-955c-0c8493a2fcfa","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["5e3d8a10-f06b-4dad-a2c6-5e451b13a003","e4715d9d-aa3d-4aa6-b8db-ad653f14ed18"]}],"tags":[]}},{"pickle":{"id":"9a23f1ef-9f52-451a-aa59-86ee93a2bd62","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["fabdc1c9-dad3-4a79-a94a-68348384148a","edc6a314-dbcb-4075-9c2b-d546e7e3deba"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"869272ae-db76-428c-8364-dc5d7845af61","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a9ca704a-d8fd-469e-8af6-6e05b947a8a8","edc6a314-dbcb-4075-9c2b-d546e7e3deba"]},{"id":"e3a8e5f2-074c-4da5-ae23-34e95e4876f2","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"100"},{"value":"15"},{"value":"rate<0.10"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["2e9392db-612e-4cb8-8672-5f6f290fd08a","edc6a314-dbcb-4075-9c2b-d546e7e3deba"]},{"id":"4950293c-62ca-4abe-bed1-8f15922315e3","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["d0e64049-05e8-4bb4-929b-626bf2f7d9b7","edc6a314-dbcb-4075-9c2b-d546e7e3deba"]},{"id":"294f0023-51f7-4484-beea-bc07e1bd0c27","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["5e3d8a10-f06b-4dad-a2c6-5e451b13a003","edc6a314-dbcb-4075-9c2b-d546e7e3deba"]}],"tags":[]}},{"pickle":{"id":"63f2700d-552d-410a-a77c-4fdd6fab637a","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["fabdc1c9-dad3-4a79-a94a-68348384148a","59d6bc25-bef7-4a39-8442-56116bcbe73b"],"name":"I run the k6 script for GET testing with dynamic endpoints","language":"en","steps":[{"id":"6eaf917d-3f44-4fee-baaf-134d79ddcfc1","text":"I have a k6 script for GET testing","type":"Context","astNodeIds":["a9ca704a-d8fd-469e-8af6-6e05b947a8a8","59d6bc25-bef7-4a39-8442-56116bcbe73b"]},{"id":"a945996e-2641-4703-b7dc-c5e6cd24b195","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"},{"value":"error_rate"}]},{"cells":[{"value":"200"},{"value":"20"},{"value":"rate<0.05"},{"value":"<http_req_duration>"},{"value":"<error_rate>"}]}]}},"astNodeIds":["2e9392db-612e-4cb8-8672-5f6f290fd08a","59d6bc25-bef7-4a39-8442-56116bcbe73b"]},{"id":"43aa0696-4245-49ea-a158-5cd8e049a4e4","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/resource1\nhttps:\/\/api.external.com\/resource2"}},"astNodeIds":["d0e64049-05e8-4bb4-929b-626bf2f7d9b7","59d6bc25-bef7-4a39-8442-56116bcbe73b"]},{"id":"fd85f73a-4e20-4fe5-8de1-87a924241439","text":"the API should handle the GET request successfully","type":"Outcome","astNodeIds":["5e3d8a10-f06b-4dad-a2c6-5e451b13a003","59d6bc25-bef7-4a39-8442-56116bcbe73b"]}],"tags":[]}},{"pickle":{"id":"535487f8-0bbe-467c-b1f4-d669eedca9ba","uri":"src\/examples\/features\/streesTestTemplate.feature","astNodeIds":["5345b195-ce2d-4763-9635-194d95c8b98c","a3fbc962-e4dd-4660-8e80-c763cccb07fd"],"name":"I run the k6 script for PUT requests","language":"en","steps":[{"id":"22d22451-1000-47a1-9c38-6744366e08f4","text":"I have a k6 script for PUT testing","type":"Context","astNodeIds":["b006f8a5-7098-43dd-abe4-a240f66ec336","a3fbc962-e4dd-4660-8e80-c763cccb07fd"]},{"id":"1d4061b4-e5ea-474a-864b-7bf6722cabca","text":"I run the k6 script with the following configurations:","type":"Action","argument":{"dataTable":{"rows":[{"cells":[{"value":"virtual_users"},{"value":"duration"},{"value":"http_req_failed"},{"value":"http_req_duration"}]},{"cells":[{"value":"20"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<1000"}]}]}},"astNodeIds":["2215a6f1-800a-4a38-9314-90f8780a2b95","a3fbc962-e4dd-4660-8e80-c763cccb07fd"]},{"id":"05a506a3-a020-4ab5-b13e-955b523db1b0","text":"the following endpoint(s) is\/are used:","type":"Action","argument":{"docString":{"content":"\/api\/v1\/update-profile"}},"astNodeIds":["1ed15126-7ee8-4576-bbdf-8cc459bd020a","a3fbc962-e4dd-4660-8e80-c763cccb07fd"]},{"id":"d1e439aa-1146-4f88-8409-b2992964886d","text":"the following PUT body is used for \"<endpoint>\"","type":"Action","argument":{"docString":{"content":"{\n \"id\": \"{{userId}}\",\n \"status\": \"updated\"\n}"}},"astNodeIds":["6772cf8b-9542-4e53-844a-31e9050cada8","a3fbc962-e4dd-4660-8e80-c763cccb07fd"]},{"id":"07f76a3a-8b17-4944-be74-e13a79a428bf","text":"the authentication type is \"bearer_token\"","type":"Action","astNodeIds":["d2d78a61-9bad-4765-ad0d-7a92674506cb","a3fbc962-e4dd-4660-8e80-c763cccb07fd"]},{"id":"03d52446-1d16-4e14-b640-2c2b01124da6","text":"the API should handle the PUT request successfully","type":"Outcome","astNodeIds":["866b14f0-33ca-4c18-b0ae-f37a6fee0fb5","a3fbc962-e4dd-4660-8e80-c763cccb07fd"]}],"tags":[]}},{"stepDefinition":{"id":"4a40622b-8a6a-4955-8a50-a53b7007f7b0","pattern":{"source":"I have a k6 script for {word} testing","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":21}}}},{"stepDefinition":{"id":"16143f5c-d4bb-487e-b0bd-e45e2f5d4e7e","pattern":{"source":"I run the k6 script with the following configurations:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":25}}}},{"stepDefinition":{"id":"2362cef4-0df7-4549-8bd9-010dbad6f97f","pattern":{"source":"the request headers are:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":71}}}},{"stepDefinition":{"id":"4993f96a-bab7-4f6b-aae6-6a8f6ef2f47d","pattern":{"source":"the following endpoint\\(s) is\\\/are used:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":83}}}},{"stepDefinition":{"id":"fd6e4238-4950-4b59-a0d3-5f401c750a8a","pattern":{"source":"the following {word} body is used for {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":90}}}},{"stepDefinition":{"id":"f787146e-6347-4b3f-9915-5eae19e133e7","pattern":{"source":"the authentication type is {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":99}}}},{"stepDefinition":{"id":"657455e3-4cfa-41eb-ba5c-d936cea17a33","pattern":{"source":"the API should handle the {word} request successfully","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":134}}}},{"testRunStarted":{"id":"4bd8c306-0de2-4e87-9039-95ea0d304939","timestamp":{"seconds":1745683068,"nanos":748000000}}},{"testCase":{"testRunStartedId":"4bd8c306-0de2-4e87-9039-95ea0d304939","pickleId":"9c1935b2-c40c-41db-8399-dfa3e128f324","id":"e3d8f6c9-23e6-4f8b-8d78-6d4a189c32d4","testSteps":[{"id":"5abea375-5514-4f3d-a6e8-64a2be220a1a","pickleStepId":"1c693bfe-6fed-422f-8646-3c9f57d2e481","stepDefinitionIds":["4a40622b-8a6a-4955-8a50-a53b7007f7b0"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"326d732c-d35c-47bb-8ae3-3bc48bb1b427","pickleStepId":"1d4acadd-6294-4aad-889f-27e7100f7b58","stepDefinitionIds":["16143f5c-d4bb-487e-b0bd-e45e2f5d4e7e"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"7c596cc3-b645-4a7f-9360-633e02840364","pickleStepId":"f368a031-b38e-4442-b59d-a8dd10c5eeb5","stepDefinitionIds":["4993f96a-bab7-4f6b-aae6-6a8f6ef2f47d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"4ca2625a-96f8-4de3-91d2-46c3b03dd79b","pickleStepId":"521a0aae-7e7a-4189-bd51-5078cd5c9f55","stepDefinitionIds":["f787146e-6347-4b3f-9915-5eae19e133e7"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"bd7a57c2-11e6-427b-9ee0-d715dea6d3ae","pickleStepId":"d771ae3b-f316-428e-a607-6104e913ab2e","stepDefinitionIds":["657455e3-4cfa-41eb-ba5c-d936cea17a33"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"4bd8c306-0de2-4e87-9039-95ea0d304939","pickleId":"cdfa1131-22ac-47a5-9929-f0153c54f508","id":"66d33447-5a9a-4fc4-9fbd-6bb2f6334c57","testSteps":[{"id":"da9893db-8ce0-4991-acae-9c9ae46efc67","pickleStepId":"a696a105-37bf-42a9-b76c-ea776d689bb2","stepDefinitionIds":["4a40622b-8a6a-4955-8a50-a53b7007f7b0"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"068aa735-5f44-4edd-9c06-df9b91c62212","pickleStepId":"43fad10c-8f41-42ed-8ce6-33e0d6c17208","stepDefinitionIds":["16143f5c-d4bb-487e-b0bd-e45e2f5d4e7e"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"3372f061-13da-4629-bddf-df26c0d474a0","pickleStepId":"1f9a600c-b35f-4369-af4f-2a8edf16570f","stepDefinitionIds":["4993f96a-bab7-4f6b-aae6-6a8f6ef2f47d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"ee479e43-2876-4cc4-8605-df0fb84a5c79","pickleStepId":"2483d5a9-bc6c-45ac-9549-0f7b3f139b1f","stepDefinitionIds":["f787146e-6347-4b3f-9915-5eae19e133e7"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"de6c452e-c587-4f4f-b4f2-27baaada47f7","pickleStepId":"5bf11736-9047-4ccf-9c21-9bdff1ec5577","stepDefinitionIds":["657455e3-4cfa-41eb-ba5c-d936cea17a33"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"4bd8c306-0de2-4e87-9039-95ea0d304939","pickleId":"8c8e8e1a-8737-4e20-881f-2c3dccfa8293","id":"5345838c-5cc1-4a67-84f4-b6f30c2db3a0","testSteps":[{"id":"c22cf8c0-8d0f-4638-bf2a-1608012daaa7","pickleStepId":"e93c9f79-3c81-4729-aa61-0487fac4e36e","stepDefinitionIds":["4a40622b-8a6a-4955-8a50-a53b7007f7b0"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"65368c90-f54d-4d87-b776-905cc2b02d3b","pickleStepId":"2bda0060-f98a-40bb-ae77-168fda0d6d1b","stepDefinitionIds":["16143f5c-d4bb-487e-b0bd-e45e2f5d4e7e"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"d63d1e56-2a85-4e5d-9ebb-29a784e32414","pickleStepId":"9b2a4711-8b6a-4d30-a170-b21b882e86fb","stepDefinitionIds":["4993f96a-bab7-4f6b-aae6-6a8f6ef2f47d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"60b520e8-2f36-4464-a57d-f579a8e20778","pickleStepId":"cc423565-a847-4221-9cd6-1ffd728059b7","stepDefinitionIds":["f787146e-6347-4b3f-9915-5eae19e133e7"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"a65c86f7-e6fb-4db0-a418-9b82fe4be6a8","pickleStepId":"ef259039-e246-452f-8bf1-bfb2e3506b4a","stepDefinitionIds":["657455e3-4cfa-41eb-ba5c-d936cea17a33"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"4bd8c306-0de2-4e87-9039-95ea0d304939","pickleId":"382f75eb-9f6c-4154-bb9a-80948df88cc5","id":"f59434e5-73b5-4335-bf3b-74cfc24579c5","testSteps":[{"id":"08e0b059-8cd4-4603-9347-929f4f3fc76b","pickleStepId":"1f463bff-a9f6-4214-b21a-c0282e093596","stepDefinitionIds":["4a40622b-8a6a-4955-8a50-a53b7007f7b0"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":23,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"c9eddd61-f3e8-41ff-a5be-c6cc3d5a48ac","pickleStepId":"3247cf0f-79da-427b-bc17-f99b88d7ab22","stepDefinitionIds":["16143f5c-d4bb-487e-b0bd-e45e2f5d4e7e"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"f0cae795-640d-4a43-8bc7-e7e751342b72","pickleStepId":"91d4f4a8-274a-4430-b02e-a15a0dd0ea61","stepDefinitionIds":["4993f96a-bab7-4f6b-aae6-6a8f6ef2f47d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"47e151ce-4feb-40b7-8ad6-a18552224a18","pickleStepId":"8c7eeb8f-ce6d-4f6b-ac79-faf41b79da33","stepDefinitionIds":["f787146e-6347-4b3f-9915-5eae19e133e7"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":27,"value":"\"none\"","children":[{"start":28,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"7e3bd1d3-36c8-48a6-a320-1ea561f84c69","pickleStepId":"59a1453b-f35a-4d83-8af4-bdb77c49a46a","stepDefinitionIds":["657455e3-4cfa-41eb-ba5c-d936cea17a33"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":26,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCaseStarted":{"attempt":0,"testCaseId":"e3d8f6c9-23e6-4f8b-8d78-6d4a189c32d4","id":"25357e99-6a1a-4dfe-9837-1239e8a82cde","timestamp":{"seconds":1745683068,"nanos":756000000}}},{"testStepStarted":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"5abea375-5514-4f3d-a6e8-64a2be220a1a","timestamp":{"seconds":1745683068,"nanos":756000000}}},{"testStepFinished":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"5abea375-5514-4f3d-a6e8-64a2be220a1a","testStepResult":{"duration":{"seconds":0,"nanos":544958},"status":"PASSED"},"timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepStarted":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"326d732c-d35c-47bb-8ae3-3bc48bb1b427","timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepFinished":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"326d732c-d35c-47bb-8ae3-3bc48bb1b427","testStepResult":{"duration":{"seconds":0,"nanos":249082},"status":"PASSED"},"timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepStarted":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"7c596cc3-b645-4a7f-9360-633e02840364","timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepFinished":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"7c596cc3-b645-4a7f-9360-633e02840364","testStepResult":{"duration":{"seconds":0,"nanos":47125},"status":"PASSED"},"timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepStarted":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"4ca2625a-96f8-4de3-91d2-46c3b03dd79b","timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepFinished":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"4ca2625a-96f8-4de3-91d2-46c3b03dd79b","testStepResult":{"duration":{"seconds":0,"nanos":79042},"status":"PASSED"},"timestamp":{"seconds":1745683068,"nanos":757000000}}},{"testStepStarted":{"testCaseStartedId":"25357e99-6a1a-4dfe-9837-1239e8a82cde","testStepId":"bd7a57c2-11e6-427b-9ee0-d715dea6d3ae","timestamp":{"seconds":1745683068,"nanos":757000000}}}
@@ -0,0 +1,44 @@
1
+
2
+ import http from 'k6/http';
3
+ import { check } from 'k6';
4
+
5
+ export const options = {
6
+ "vus": 10,
7
+ "duration": "5s",
8
+ "thresholds": {
9
+ "http_req_failed": [
10
+ "rate<0.05"
11
+ ],
12
+ "http_req_duration": [
13
+ "p(95)<3000"
14
+ ]
15
+ }
16
+ };
17
+
18
+ export default function () {
19
+
20
+ const resolvedUrl0 = "https://grafana.com/api/profile";
21
+ const res0 = http.request("GET", resolvedUrl0, null, {
22
+ headers: {
23
+ "Content-Type": "application/json"
24
+ }
25
+ });
26
+ console.log(`Response Body for ${resolvedUrl0}: ${res0.body}`);
27
+ check(res0, {
28
+ "status is 2xx": (r) => r.status >= 200 && r.status < 300
29
+ });
30
+
31
+
32
+ const resolvedUrl1 = "https://reqres.in/api/users?page=2";
33
+ const res1 = http.request("GET", resolvedUrl1, null, {
34
+ headers: {
35
+ "Content-Type": "application/json"
36
+ }
37
+ });
38
+ console.log(`Response Body for ${resolvedUrl1}: ${res1.body}`);
39
+ check(res1, {
40
+ "status is 2xx": (r) => r.status >= 200 && r.status < 300
41
+ });
42
+
43
+ }
44
+
@@ -0,0 +1,44 @@
1
+
2
+ import http from 'k6/http';
3
+ import { check } from 'k6';
4
+
5
+ export const options = {
6
+ "vus": 10,
7
+ "duration": "5s",
8
+ "thresholds": {
9
+ "http_req_failed": [
10
+ "rate<0.05"
11
+ ],
12
+ "http_req_duration": [
13
+ "p(95)<3000"
14
+ ]
15
+ }
16
+ };
17
+
18
+ export default function () {
19
+
20
+ const resolvedUrl0 = "https://grafana.com/api/profile";
21
+ const res0 = http.request("GET", resolvedUrl0, null, {
22
+ headers: {
23
+ "Content-Type": "application/json"
24
+ }
25
+ });
26
+ console.log(`Response Body for ${resolvedUrl0}: ${res0.body}`);
27
+ check(res0, {
28
+ "status is 2xx": (r) => r.status >= 200 && r.status < 300
29
+ });
30
+
31
+
32
+ const resolvedUrl1 = "https://reqres.in/api/users?page=2";
33
+ const res1 = http.request("GET", resolvedUrl1, null, {
34
+ headers: {
35
+ "Content-Type": "application/json"
36
+ }
37
+ });
38
+ console.log(`Response Body for ${resolvedUrl1}: ${res1.body}`);
39
+ check(res1, {
40
+ "status is 2xx": (r) => r.status >= 200 && r.status < 300
41
+ });
42
+
43
+ }
44
+
@@ -0,0 +1,44 @@
1
+
2
+ import http from 'k6/http';
3
+ import { check } from 'k6';
4
+
5
+ export const options = {
6
+ "vus": 50,
7
+ "duration": "10s",
8
+ "thresholds": {
9
+ "http_req_failed": [
10
+ "rate<0.05"
11
+ ],
12
+ "http_req_duration": [
13
+ "p(95)<3000"
14
+ ]
15
+ }
16
+ };
17
+
18
+ export default function () {
19
+
20
+ const resolvedUrl0 = "https://grafana.com/api/profile";
21
+ const res0 = http.request("GET", resolvedUrl0, null, {
22
+ headers: {
23
+ "Content-Type": "application/json"
24
+ }
25
+ });
26
+ console.log(`Response Body for ${resolvedUrl0}: ${res0.body}`);
27
+ check(res0, {
28
+ "status is 2xx": (r) => r.status >= 200 && r.status < 300
29
+ });
30
+
31
+
32
+ const resolvedUrl1 = "https://reqres.in/api/users?page=2";
33
+ const res1 = http.request("GET", resolvedUrl1, null, {
34
+ headers: {
35
+ "Content-Type": "application/json"
36
+ }
37
+ });
38
+ console.log(`Response Body for ${resolvedUrl1}: ${res1.body}`);
39
+ check(res1, {
40
+ "status is 2xx": (r) => r.status >= 200 && r.status < 300
41
+ });
42
+
43
+ }
44
+