k6-cucumber-steps 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cucumber.js CHANGED
@@ -7,7 +7,7 @@ module.exports = {
7
7
  "html:./reports/cucumber-report.html",
8
8
  ],
9
9
  paths: ["./features/bsp.feature"],
10
- tags: "@rate-limit",
10
+ tags: "@get",
11
11
  worldParameters: {
12
12
  payloadPath: "payloads",
13
13
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k6-cucumber-steps",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "main": "index.js",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -40,7 +40,7 @@ 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.4.0"},"runtime":{"name":"node.js","version":"22.14.0"}}},{"source":{"data":"@rate-limit\nFeature: Rate Limit Enforcement for \/login and \/bsp\n\n Background: Login and set alias for token\n Given I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"\n Then I store the value at \"data.token\" as alias \"auth_token\"\n\n @within-limit\n Scenario: API allows up to 5 requests in 10 seconds (under limit)\n When I set a k6 script for POST testing\n When I set to run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 1 | 10 | rate<0.05 | p(95)<2000 |\n When I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"\n When I set the authentication type to \"auth_token\"\n Then I see the API should handle the POST request successfully\n\n @exceed-limit\n Scenario: API blocks more than 5 requests in 10 seconds (exceeds limit)\n When I set a k6 script for POST testing\n When I set to run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 6 | 10 | rate>=0.50 | p(95)<3000 |\n When I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"\n When I set the authentication type to \"auth_token\"\n Then I see the API should handle the POST request successfully\n","uri":"features\/bsp.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[{"location":{"line":1,"column":1},"name":"@rate-limit","id":"17d2551a-c272-4f73-8939-f84e2b85f3f4"}],"location":{"line":2,"column":1},"language":"en","keyword":"Feature","name":"Rate Limit Enforcement for \/login and \/bsp","description":"","children":[{"background":{"id":"f5a004d9-c064-4269-bfbd-e7d419d84d04","location":{"line":4,"column":3},"keyword":"Background","name":"Login and set alias for token","description":"","steps":[{"id":"7d47bb21-1dfd-44b1-8082-74541898bb9b","location":{"line":5,"column":5},"keyword":"Given ","keywordType":"Context","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\""},{"id":"ea098b5f-bf91-40f2-9e9a-221280fd212c","location":{"line":6,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I store the value at \"data.token\" as alias \"auth_token\""}]}},{"scenario":{"id":"8f0b0b2c-730a-4ec0-8136-cb96f10d5636","tags":[{"location":{"line":8,"column":3},"name":"@within-limit","id":"c16bf4c7-1d01-4bbb-ab7a-0837f98d6ec3"}],"location":{"line":9,"column":3},"keyword":"Scenario","name":"API allows up to 5 requests in 10 seconds (under limit)","description":"","steps":[{"id":"cf297024-e3a6-4d25-b430-bb03d1d0c91e","location":{"line":10,"column":5},"keyword":"When ","keywordType":"Action","text":"I set a k6 script for POST testing"},{"id":"2415519c-48f3-4a51-a425-15668a9b99e2","location":{"line":11,"column":5},"keyword":"When ","keywordType":"Action","text":"I set to run the k6 script with the following configurations:","dataTable":{"location":{"line":12,"column":7},"rows":[{"id":"16ac7b8a-6cdf-4677-a368-6f982e1248c6","location":{"line":12,"column":7},"cells":[{"location":{"line":12,"column":9},"value":"virtual_users"},{"location":{"line":12,"column":25},"value":"duration"},{"location":{"line":12,"column":36},"value":"http_req_failed"},{"location":{"line":12,"column":54},"value":"http_req_duration"}]},{"id":"cdf8b873-5514-45af-82ce-6e9f02284c51","location":{"line":13,"column":7},"cells":[{"location":{"line":13,"column":21},"value":"1"},{"location":{"line":13,"column":31},"value":"10"},{"location":{"line":13,"column":36},"value":"rate<0.05"},{"location":{"line":13,"column":54},"value":"p(95)<2000"}]}]}},{"id":"9b6834ba-2e19-48bd-bf68-6914abb5547b","location":{"line":14,"column":5},"keyword":"When ","keywordType":"Action","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\""},{"id":"13509a8c-4c3f-4344-9ab2-43d54d5fb771","location":{"line":15,"column":5},"keyword":"When ","keywordType":"Action","text":"I set the authentication type to \"auth_token\""},{"id":"dfc4b4f6-1210-4b44-ba3d-f27d704fb069","location":{"line":16,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I see the API should handle the POST request successfully"}],"examples":[]}},{"scenario":{"id":"f76ab590-b942-4cc1-8310-30917593b8ff","tags":[{"location":{"line":18,"column":3},"name":"@exceed-limit","id":"21d4ec05-4329-47a2-8cef-aafea8d25370"}],"location":{"line":19,"column":3},"keyword":"Scenario","name":"API blocks more than 5 requests in 10 seconds (exceeds limit)","description":"","steps":[{"id":"dc3e35ee-a2fd-423d-809c-0fb7e4823a62","location":{"line":20,"column":5},"keyword":"When ","keywordType":"Action","text":"I set a k6 script for POST testing"},{"id":"d6942ae6-f995-44f0-b584-829a7891dc1a","location":{"line":21,"column":5},"keyword":"When ","keywordType":"Action","text":"I set to run the k6 script with the following configurations:","dataTable":{"location":{"line":22,"column":7},"rows":[{"id":"9f6a18c4-59d3-43f6-8610-346a28b2a4af","location":{"line":22,"column":7},"cells":[{"location":{"line":22,"column":9},"value":"virtual_users"},{"location":{"line":22,"column":25},"value":"duration"},{"location":{"line":22,"column":36},"value":"http_req_failed"},{"location":{"line":22,"column":54},"value":"http_req_duration"}]},{"id":"e5361805-4a53-4e23-9d98-3cc4ec3ddbf0","location":{"line":23,"column":7},"cells":[{"location":{"line":23,"column":21},"value":"6"},{"location":{"line":23,"column":31},"value":"10"},{"location":{"line":23,"column":36},"value":"rate>=0.50"},{"location":{"line":23,"column":54},"value":"p(95)<3000"}]}]}},{"id":"56e331d3-2fc5-48a4-ac21-ecafba76ac0c","location":{"line":24,"column":5},"keyword":"When ","keywordType":"Action","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\""},{"id":"eca65e61-7291-42fa-833c-28e375a62386","location":{"line":25,"column":5},"keyword":"When ","keywordType":"Action","text":"I set the authentication type to \"auth_token\""},{"id":"73c4f26c-f5a8-43ab-aaae-248445c89afd","location":{"line":26,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I see the API should handle the POST request successfully"}],"examples":[]}}]},"comments":[],"uri":"features\/bsp.feature"}},{"pickle":{"id":"f6636014-46cb-412c-a658-e10ec26e58d5","uri":"features\/bsp.feature","astNodeIds":["8f0b0b2c-730a-4ec0-8136-cb96f10d5636"],"tags":[{"name":"@rate-limit","astNodeId":"17d2551a-c272-4f73-8939-f84e2b85f3f4"},{"name":"@within-limit","astNodeId":"c16bf4c7-1d01-4bbb-ab7a-0837f98d6ec3"}],"name":"API allows up to 5 requests in 10 seconds (under limit)","language":"en","steps":[{"id":"4da6f429-9357-418c-9889-9e2f14c80f49","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"","type":"Context","astNodeIds":["7d47bb21-1dfd-44b1-8082-74541898bb9b"]},{"id":"89bd27cf-6301-49e6-b8d4-ac87a2cb823e","text":"I store the value at \"data.token\" as alias \"auth_token\"","type":"Outcome","astNodeIds":["ea098b5f-bf91-40f2-9e9a-221280fd212c"]},{"id":"1384a749-7ac6-4e0b-8a49-bb2ef473339a","text":"I set a k6 script for POST testing","type":"Action","astNodeIds":["cf297024-e3a6-4d25-b430-bb03d1d0c91e"]},{"id":"9368eb3d-4d65-4b36-ab70-5c92865e6b79","text":"I set to 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":"1"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<2000"}]}]}},"astNodeIds":["2415519c-48f3-4a51-a425-15668a9b99e2"]},{"id":"4d435563-4139-4f01-b778-bc05dc835878","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"","type":"Action","astNodeIds":["9b6834ba-2e19-48bd-bf68-6914abb5547b"]},{"id":"d7840298-d6c7-4a27-b07e-25f2ef4c0042","text":"I set the authentication type to \"auth_token\"","type":"Action","astNodeIds":["13509a8c-4c3f-4344-9ab2-43d54d5fb771"]},{"id":"6c873ae5-3337-42df-bae9-7a0a1c6d71a7","text":"I see the API should handle the POST request successfully","type":"Outcome","astNodeIds":["dfc4b4f6-1210-4b44-ba3d-f27d704fb069"]}]}},{"pickle":{"id":"9657609b-65de-43e4-b7c1-f0e85672014e","uri":"features\/bsp.feature","astNodeIds":["f76ab590-b942-4cc1-8310-30917593b8ff"],"tags":[{"name":"@rate-limit","astNodeId":"17d2551a-c272-4f73-8939-f84e2b85f3f4"},{"name":"@exceed-limit","astNodeId":"21d4ec05-4329-47a2-8cef-aafea8d25370"}],"name":"API blocks more than 5 requests in 10 seconds (exceeds limit)","language":"en","steps":[{"id":"da213118-e594-4f7e-94a2-2d9a562de3e8","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"","type":"Context","astNodeIds":["7d47bb21-1dfd-44b1-8082-74541898bb9b"]},{"id":"1a4c2541-ec2b-4b69-9457-e1954e00ada9","text":"I store the value at \"data.token\" as alias \"auth_token\"","type":"Outcome","astNodeIds":["ea098b5f-bf91-40f2-9e9a-221280fd212c"]},{"id":"82c116a7-d843-4522-aa3a-35b2d24340ed","text":"I set a k6 script for POST testing","type":"Action","astNodeIds":["dc3e35ee-a2fd-423d-809c-0fb7e4823a62"]},{"id":"d7ef0386-ed10-4053-9f70-12dd75c22d85","text":"I set to 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":"6"},{"value":"10"},{"value":"rate>=0.50"},{"value":"p(95)<3000"}]}]}},"astNodeIds":["d6942ae6-f995-44f0-b584-829a7891dc1a"]},{"id":"313aed1d-27fa-4073-bb36-30473fc4cfed","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"","type":"Action","astNodeIds":["56e331d3-2fc5-48a4-ac21-ecafba76ac0c"]},{"id":"d2b69167-8ded-4fff-8116-4b1d6624b53a","text":"I set the authentication type to \"auth_token\"","type":"Action","astNodeIds":["eca65e61-7291-42fa-833c-28e375a62386"]},{"id":"da3c373a-8175-410a-be19-e77e63b685ca","text":"I see the API should handle the POST request successfully","type":"Outcome","astNodeIds":["73c4f26c-f5a8-43ab-aaae-248445c89afd"]}]}},{"stepDefinition":{"id":"126c3bab-b409-4889-b805-d6d74162db79","pattern":{"source":"I set a k6 script for {word} testing","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":28}}}},{"stepDefinition":{"id":"6005af83-a112-44a0-84dc-38e2d378f723","pattern":{"source":"I set to run the k6 script with the following configurations:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":40}}}},{"stepDefinition":{"id":"0752ee16-57e8-443e-9cac-5459c6812e73","pattern":{"source":"I set the request headers:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":124}}}},{"stepDefinition":{"id":"471b9136-6942-418a-9389-284cede05a38","pattern":{"source":"I set the following endpoints used:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":145}}}},{"stepDefinition":{"id":"4fdcc1c5-6b0a-411e-bd7a-2222beb7eae8","pattern":{"source":"I set the following {word} body is used for {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":165}}}},{"stepDefinition":{"id":"ea6c73d4-1f14-4ba8-ae18-996f8ee30f65","pattern":{"source":"I use JSON payload from {string} for {word} to {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":174}}}},{"stepDefinition":{"id":"a537b573-53c7-4d93-b039-5b67ae9a38f2","pattern":{"source":"I set the authentication type to {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":226}}}},{"stepDefinition":{"id":"b3ac8b7e-19df-44e4-a06f-07e355a1c520","pattern":{"source":"I store the value at {string} as alias {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":237}}}},{"stepDefinition":{"id":"a400ea7c-0d3c-4ea7-aa11-eac5bdcb5a64","pattern":{"source":"I login via POST to {string} with payload from {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":262}}}},{"stepDefinition":{"id":"a23169d3-cce1-4b81-90d4-436648607444","pattern":{"source":"I see the API should handle the {word} request successfully","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":306}}}},{"testRunStarted":{"id":"a201d523-9771-4693-93cf-01bd75e2264a","timestamp":{"seconds":1748955246,"nanos":416000000}}},{"testCase":{"testRunStartedId":"a201d523-9771-4693-93cf-01bd75e2264a","pickleId":"f6636014-46cb-412c-a658-e10ec26e58d5","id":"5668de4c-51ef-4d1f-9ab3-2c9de2105d6f","testSteps":[{"id":"c8e130d9-9db4-4723-aa22-1dba57fc4b4f","pickleStepId":"4da6f429-9357-418c-9889-9e2f14c80f49","stepDefinitionIds":["a400ea7c-0d3c-4ea7-aa11-eac5bdcb5a64"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":20,"value":"\"\/api\/v3\/client\/api\/login\"","children":[{"start":21,"value":"\/api\/v3\/client\/api\/login","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":65,"value":"\"login.json\"","children":[{"start":66,"value":"login.json","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"32b0acc8-400b-4df2-ad8c-1cb322405164","pickleStepId":"89bd27cf-6301-49e6-b8d4-ac87a2cb823e","stepDefinitionIds":["b3ac8b7e-19df-44e4-a06f-07e355a1c520"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":21,"value":"\"data.token\"","children":[{"start":22,"value":"data.token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":43,"value":"\"auth_token\"","children":[{"start":44,"value":"auth_token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"cda6f232-1c4b-4c3b-bc8a-b26aa2f49589","pickleStepId":"1384a749-7ac6-4e0b-8a49-bb2ef473339a","stepDefinitionIds":["126c3bab-b409-4889-b805-d6d74162db79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":22,"value":"POST","children":[]},"parameterTypeName":"word"}]}]},{"id":"a04b9e9a-e315-4287-927f-b54de5a300b3","pickleStepId":"9368eb3d-4d65-4b36-ab70-5c92865e6b79","stepDefinitionIds":["6005af83-a112-44a0-84dc-38e2d378f723"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"4c1ff4f9-dfe5-4f61-8c52-08e20751727f","pickleStepId":"4d435563-4139-4f01-b778-bc05dc835878","stepDefinitionIds":["ea6c73d4-1f14-4ba8-ae18-996f8ee30f65"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":24,"value":"\"okra.json\"","children":[{"start":25,"value":"okra.json","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":40,"value":"POST","children":[]},"parameterTypeName":"word"},{"group":{"start":48,"value":"\"\/api\/v3\/client\/bsp\"","children":[{"start":49,"value":"\/api\/v3\/client\/bsp","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"9899972a-a3b2-4602-8b62-e14f17bd34da","pickleStepId":"d7840298-d6c7-4a27-b07e-25f2ef4c0042","stepDefinitionIds":["a537b573-53c7-4d93-b039-5b67ae9a38f2"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":33,"value":"\"auth_token\"","children":[{"start":34,"value":"auth_token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"05901994-7e2f-4a77-bea1-c3d6d51132a1","pickleStepId":"6c873ae5-3337-42df-bae9-7a0a1c6d71a7","stepDefinitionIds":["a23169d3-cce1-4b81-90d4-436648607444"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":32,"value":"POST","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"a201d523-9771-4693-93cf-01bd75e2264a","pickleId":"9657609b-65de-43e4-b7c1-f0e85672014e","id":"b241695b-6e09-40a9-9b2f-3f3f38189818","testSteps":[{"id":"2115cf4a-6cdd-404a-af80-10a5b2fa8ff3","pickleStepId":"da213118-e594-4f7e-94a2-2d9a562de3e8","stepDefinitionIds":["a400ea7c-0d3c-4ea7-aa11-eac5bdcb5a64"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":20,"value":"\"\/api\/v3\/client\/api\/login\"","children":[{"start":21,"value":"\/api\/v3\/client\/api\/login","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":65,"value":"\"login.json\"","children":[{"start":66,"value":"login.json","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"70753513-4df5-49c6-b06f-ed2cfafd3087","pickleStepId":"1a4c2541-ec2b-4b69-9457-e1954e00ada9","stepDefinitionIds":["b3ac8b7e-19df-44e4-a06f-07e355a1c520"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":21,"value":"\"data.token\"","children":[{"start":22,"value":"data.token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":43,"value":"\"auth_token\"","children":[{"start":44,"value":"auth_token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"c431a9fe-c535-4efb-bafa-718e98b86a19","pickleStepId":"82c116a7-d843-4522-aa3a-35b2d24340ed","stepDefinitionIds":["126c3bab-b409-4889-b805-d6d74162db79"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":22,"value":"POST","children":[]},"parameterTypeName":"word"}]}]},{"id":"3c2cb40e-75f5-4b61-b37d-f9357c7e8a00","pickleStepId":"d7ef0386-ed10-4053-9f70-12dd75c22d85","stepDefinitionIds":["6005af83-a112-44a0-84dc-38e2d378f723"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"3e4af396-8ed1-4efe-860a-cdb50ffc18ba","pickleStepId":"313aed1d-27fa-4073-bb36-30473fc4cfed","stepDefinitionIds":["ea6c73d4-1f14-4ba8-ae18-996f8ee30f65"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":24,"value":"\"okra.json\"","children":[{"start":25,"value":"okra.json","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":40,"value":"POST","children":[]},"parameterTypeName":"word"},{"group":{"start":48,"value":"\"\/api\/v3\/client\/bsp\"","children":[{"start":49,"value":"\/api\/v3\/client\/bsp","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"3290be0a-6849-4ab5-90a1-e1dc0f367b38","pickleStepId":"d2b69167-8ded-4fff-8116-4b1d6624b53a","stepDefinitionIds":["a537b573-53c7-4d93-b039-5b67ae9a38f2"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":33,"value":"\"auth_token\"","children":[{"start":34,"value":"auth_token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"560eff96-8cb6-404d-91af-b7744e39da52","pickleStepId":"da3c373a-8175-410a-be19-e77e63b685ca","stepDefinitionIds":["a23169d3-cce1-4b81-90d4-436648607444"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":32,"value":"POST","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCaseStarted":{"attempt":0,"testCaseId":"5668de4c-51ef-4d1f-9ab3-2c9de2105d6f","id":"dfba1110-42a3-4d58-8011-5acaca1a099f","timestamp":{"seconds":1748955246,"nanos":429000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"c8e130d9-9db4-4723-aa22-1dba57fc4b4f","timestamp":{"seconds":1748955246,"nanos":429000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"c8e130d9-9db4-4723-aa22-1dba57fc4b4f","testStepResult":{"duration":{"seconds":0,"nanos":894569875},"status":"PASSED"},"timestamp":{"seconds":1748955247,"nanos":324000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"32b0acc8-400b-4df2-ad8c-1cb322405164","timestamp":{"seconds":1748955247,"nanos":324000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"32b0acc8-400b-4df2-ad8c-1cb322405164","testStepResult":{"duration":{"seconds":0,"nanos":217708},"status":"PASSED"},"timestamp":{"seconds":1748955247,"nanos":324000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"cda6f232-1c4b-4c3b-bc8a-b26aa2f49589","timestamp":{"seconds":1748955247,"nanos":325000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"cda6f232-1c4b-4c3b-bc8a-b26aa2f49589","testStepResult":{"duration":{"seconds":0,"nanos":78040},"status":"PASSED"},"timestamp":{"seconds":1748955247,"nanos":325000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"a04b9e9a-e315-4287-927f-b54de5a300b3","timestamp":{"seconds":1748955247,"nanos":325000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"a04b9e9a-e315-4287-927f-b54de5a300b3","testStepResult":{"duration":{"seconds":0,"nanos":458667},"status":"PASSED"},"timestamp":{"seconds":1748955247,"nanos":325000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"4c1ff4f9-dfe5-4f61-8c52-08e20751727f","timestamp":{"seconds":1748955247,"nanos":325000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"4c1ff4f9-dfe5-4f61-8c52-08e20751727f","testStepResult":{"duration":{"seconds":0,"nanos":1823208},"status":"PASSED"},"timestamp":{"seconds":1748955247,"nanos":327000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"9899972a-a3b2-4602-8b62-e14f17bd34da","timestamp":{"seconds":1748955247,"nanos":327000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"9899972a-a3b2-4602-8b62-e14f17bd34da","testStepResult":{"duration":{"seconds":0,"nanos":125207},"status":"PASSED"},"timestamp":{"seconds":1748955247,"nanos":328000000}}},{"testStepStarted":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"05901994-7e2f-4a77-bea1-c3d6d51132a1","timestamp":{"seconds":1748955247,"nanos":328000000}}},{"testStepFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","testStepId":"05901994-7e2f-4a77-bea1-c3d6d51132a1","testStepResult":{"duration":{"seconds":14,"nanos":665569374},"status":"FAILED","message":"Error: k6 test execution failed\n at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:334:13)","exception":{"type":"Error","message":"k6 test execution failed","stackTrace":" at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:334:13)"}},"timestamp":{"seconds":1748955261,"nanos":994000000}}},{"testCaseFinished":{"testCaseStartedId":"dfba1110-42a3-4d58-8011-5acaca1a099f","timestamp":{"seconds":1748955261,"nanos":994000000},"willBeRetried":false}},{"testCaseStarted":{"attempt":0,"testCaseId":"b241695b-6e09-40a9-9b2f-3f3f38189818","id":"edebda2b-13a6-48ef-9935-220b17ce746e","timestamp":{"seconds":1748955261,"nanos":994000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"2115cf4a-6cdd-404a-af80-10a5b2fa8ff3","timestamp":{"seconds":1748955261,"nanos":994000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"2115cf4a-6cdd-404a-af80-10a5b2fa8ff3","testStepResult":{"duration":{"seconds":0,"nanos":626931291},"status":"PASSED"},"timestamp":{"seconds":1748955262,"nanos":621000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"70753513-4df5-49c6-b06f-ed2cfafd3087","timestamp":{"seconds":1748955262,"nanos":622000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"70753513-4df5-49c6-b06f-ed2cfafd3087","testStepResult":{"duration":{"seconds":0,"nanos":569790},"status":"PASSED"},"timestamp":{"seconds":1748955262,"nanos":622000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"c431a9fe-c535-4efb-bafa-718e98b86a19","timestamp":{"seconds":1748955262,"nanos":623000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"c431a9fe-c535-4efb-bafa-718e98b86a19","testStepResult":{"duration":{"seconds":0,"nanos":76042},"status":"PASSED"},"timestamp":{"seconds":1748955262,"nanos":623000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"3c2cb40e-75f5-4b61-b37d-f9357c7e8a00","timestamp":{"seconds":1748955262,"nanos":623000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"3c2cb40e-75f5-4b61-b37d-f9357c7e8a00","testStepResult":{"duration":{"seconds":0,"nanos":255083},"status":"PASSED"},"timestamp":{"seconds":1748955262,"nanos":623000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"3e4af396-8ed1-4efe-860a-cdb50ffc18ba","timestamp":{"seconds":1748955262,"nanos":623000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"3e4af396-8ed1-4efe-860a-cdb50ffc18ba","testStepResult":{"duration":{"seconds":0,"nanos":1752667},"status":"PASSED"},"timestamp":{"seconds":1748955262,"nanos":625000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"3290be0a-6849-4ab5-90a1-e1dc0f367b38","timestamp":{"seconds":1748955262,"nanos":625000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"3290be0a-6849-4ab5-90a1-e1dc0f367b38","testStepResult":{"duration":{"seconds":0,"nanos":87707},"status":"PASSED"},"timestamp":{"seconds":1748955262,"nanos":625000000}}},{"testStepStarted":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"560eff96-8cb6-404d-91af-b7744e39da52","timestamp":{"seconds":1748955262,"nanos":625000000}}},{"testStepFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","testStepId":"560eff96-8cb6-404d-91af-b7744e39da52","testStepResult":{"duration":{"seconds":14,"nanos":650450625},"status":"PASSED"},"timestamp":{"seconds":1748955277,"nanos":276000000}}},{"testCaseFinished":{"testCaseStartedId":"edebda2b-13a6-48ef-9935-220b17ce746e","timestamp":{"seconds":1748955277,"nanos":276000000},"willBeRetried":false}},{"testRunFinished":{"testRunStartedId":"a201d523-9771-4693-93cf-01bd75e2264a","timestamp":{"seconds":1748955277,"nanos":277000000},"success":false}}];
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.5.0"},"runtime":{"name":"node.js","version":"22.14.0"}}},{"source":{"data":"@rate-limit\nFeature: Rate Limit Enforcement for \/login and \/bsp\n\n Background: Login and set alias for token\n Given I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"\n Then I store the value at \"data.token\" as alias \"auth_token\"\n\n @within-limit\n Scenario: API allows up to 5 requests in 10 seconds (under limit)\n When I set a k6 script for POST testing\n When I set to run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 1 | 10 | rate<0.05 | p(95)<2000 |\n When I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"\n When I set the authentication type to \"auth_token\"\n Then I see the API should handle the POST request successfully\n\n @exceed-limit\n Scenario: API blocks more than 5 requests in 10 seconds (exceeds limit)\n When I set a k6 script for POST testing\n When I set to run the k6 script with the following configurations:\n | virtual_users | duration | http_req_failed | http_req_duration |\n | 6 | 10 | rate>=0.50 | p(95)<3000 |\n When I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"\n When I set the authentication type to \"auth_token\"\n Then I see the API should handle the POST request successfully\n\n @get\n Scenario Outline: I run the k6 script for load testing with dynamic GET requests\n Given I set a k6 script for GET testing\n When I set to 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 I set the following endpoints used:\n \"\"\"\n \/get?foo1=bar1&foo2=bar2\n https:\/\/postman-echo.com\/get?foo1=bar1&foo2=bar2\n \"\"\"\n When I set the authentication type to \"none\"\n Then I see 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)<5000 |\n | 5 | 2 | rate<0.05 | p(95)<5000 |\n# | 100 | 15 | rate<0.05 | p(95)<3500 |\n# | 200 | 20 | rate<0.05 | p(95)<3500 |\n","uri":"features\/bsp.feature","mediaType":"text\/x.cucumber.gherkin+plain"}},{"gherkinDocument":{"feature":{"tags":[{"location":{"line":1,"column":1},"name":"@rate-limit","id":"f12333e7-8b9a-4e7f-88a1-3abc90df16d5"}],"location":{"line":2,"column":1},"language":"en","keyword":"Feature","name":"Rate Limit Enforcement for \/login and \/bsp","description":"","children":[{"background":{"id":"589c60aa-407b-40eb-a480-97799862d35a","location":{"line":4,"column":3},"keyword":"Background","name":"Login and set alias for token","description":"","steps":[{"id":"cac25111-9279-4133-b04f-d24a8805ca7e","location":{"line":5,"column":5},"keyword":"Given ","keywordType":"Context","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\""},{"id":"0d36a384-2050-40ce-b388-134dd1d0d9ea","location":{"line":6,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I store the value at \"data.token\" as alias \"auth_token\""}]}},{"scenario":{"id":"499d2dc2-cb2d-4c19-abad-4bed17dc51b8","tags":[{"location":{"line":8,"column":3},"name":"@within-limit","id":"cdab5e67-80c5-4571-904d-35f33127410f"}],"location":{"line":9,"column":3},"keyword":"Scenario","name":"API allows up to 5 requests in 10 seconds (under limit)","description":"","steps":[{"id":"9438f7d5-a8a0-434d-b882-2bf39ad9db91","location":{"line":10,"column":5},"keyword":"When ","keywordType":"Action","text":"I set a k6 script for POST testing"},{"id":"0539f132-ad02-4a6f-a926-36d322f804e5","location":{"line":11,"column":5},"keyword":"When ","keywordType":"Action","text":"I set to run the k6 script with the following configurations:","dataTable":{"location":{"line":12,"column":7},"rows":[{"id":"3053b1a6-d99a-4431-9685-d526dddde373","location":{"line":12,"column":7},"cells":[{"location":{"line":12,"column":9},"value":"virtual_users"},{"location":{"line":12,"column":25},"value":"duration"},{"location":{"line":12,"column":36},"value":"http_req_failed"},{"location":{"line":12,"column":54},"value":"http_req_duration"}]},{"id":"b15ad8c5-8343-4bf3-8200-7f64db2084ed","location":{"line":13,"column":7},"cells":[{"location":{"line":13,"column":21},"value":"1"},{"location":{"line":13,"column":31},"value":"10"},{"location":{"line":13,"column":36},"value":"rate<0.05"},{"location":{"line":13,"column":54},"value":"p(95)<2000"}]}]}},{"id":"d9559069-ed05-49ff-8626-2cece7ba471c","location":{"line":14,"column":5},"keyword":"When ","keywordType":"Action","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\""},{"id":"996ecc8d-ce44-4280-ba6e-c65af06f1b7c","location":{"line":15,"column":5},"keyword":"When ","keywordType":"Action","text":"I set the authentication type to \"auth_token\""},{"id":"da1b79f2-5738-4818-8aa2-d68f7b36e033","location":{"line":16,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I see the API should handle the POST request successfully"}],"examples":[]}},{"scenario":{"id":"02a9c484-db65-4912-ac0c-8016dc51220b","tags":[{"location":{"line":18,"column":3},"name":"@exceed-limit","id":"142b35bf-2a25-4761-a1a3-a507f8c69409"}],"location":{"line":19,"column":3},"keyword":"Scenario","name":"API blocks more than 5 requests in 10 seconds (exceeds limit)","description":"","steps":[{"id":"c0bc247a-9fea-43d8-96d7-24cdba086b98","location":{"line":20,"column":5},"keyword":"When ","keywordType":"Action","text":"I set a k6 script for POST testing"},{"id":"49a7d5e7-6475-4239-9ca5-5a4ea8fe74cb","location":{"line":21,"column":5},"keyword":"When ","keywordType":"Action","text":"I set to run the k6 script with the following configurations:","dataTable":{"location":{"line":22,"column":7},"rows":[{"id":"707bd9a4-7162-4f9c-9a7c-67b056f53bce","location":{"line":22,"column":7},"cells":[{"location":{"line":22,"column":9},"value":"virtual_users"},{"location":{"line":22,"column":25},"value":"duration"},{"location":{"line":22,"column":36},"value":"http_req_failed"},{"location":{"line":22,"column":54},"value":"http_req_duration"}]},{"id":"e6c30d08-9f0d-481e-b77a-689b410ec029","location":{"line":23,"column":7},"cells":[{"location":{"line":23,"column":21},"value":"6"},{"location":{"line":23,"column":31},"value":"10"},{"location":{"line":23,"column":36},"value":"rate>=0.50"},{"location":{"line":23,"column":54},"value":"p(95)<3000"}]}]}},{"id":"a19544f9-8be3-4ee6-9fff-cd4725db4732","location":{"line":24,"column":5},"keyword":"When ","keywordType":"Action","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\""},{"id":"ac21e79e-1a60-4b49-912b-4a4764542a17","location":{"line":25,"column":5},"keyword":"When ","keywordType":"Action","text":"I set the authentication type to \"auth_token\""},{"id":"df933c86-83b2-4132-9553-12839081b17a","location":{"line":26,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I see the API should handle the POST request successfully"}],"examples":[]}},{"scenario":{"id":"d1942ee7-1b45-4f61-beb9-67b625ae16ae","tags":[{"location":{"line":28,"column":3},"name":"@get","id":"346d3c5c-e253-4ce6-944c-6a6c23d436b4"}],"location":{"line":29,"column":3},"keyword":"Scenario Outline","name":"I run the k6 script for load testing with dynamic GET requests","description":"","steps":[{"id":"6e659e20-8761-4dda-8367-85524f949776","location":{"line":30,"column":5},"keyword":"Given ","keywordType":"Context","text":"I set a k6 script for GET testing"},{"id":"d89a1633-6e7a-4bf2-9462-14b9b658ba1f","location":{"line":31,"column":5},"keyword":"When ","keywordType":"Action","text":"I set to run the k6 script with the following configurations:","dataTable":{"location":{"line":32,"column":7},"rows":[{"id":"24ccd7bb-0ee6-4047-975f-c13706696623","location":{"line":32,"column":7},"cells":[{"location":{"line":32,"column":9},"value":"virtual_users"},{"location":{"line":32,"column":27},"value":"duration"},{"location":{"line":32,"column":40},"value":"http_req_failed"},{"location":{"line":32,"column":60},"value":"http_req_duration"}]},{"id":"bf347f0a-342b-4b07-b0e0-c91c3db2ddf9","location":{"line":33,"column":7},"cells":[{"location":{"line":33,"column":9},"value":"<virtual_users>"},{"location":{"line":33,"column":27},"value":"<duration>"},{"location":{"line":33,"column":40},"value":"<http_req_failed>"},{"location":{"line":33,"column":60},"value":"<http_req_duration>"}]}]}},{"id":"79abe692-45a7-4d06-88d7-bcabab4dfc39","location":{"line":34,"column":5},"keyword":"And ","keywordType":"Conjunction","text":"I set the following endpoints used:","docString":{"location":{"line":35,"column":7},"content":"\/get?foo1=bar1&foo2=bar2\nhttps:\/\/postman-echo.com\/get?foo1=bar1&foo2=bar2","delimiter":"\"\"\""}},{"id":"ada228a8-d92c-462a-8a2d-9feb9e131d86","location":{"line":39,"column":5},"keyword":"When ","keywordType":"Action","text":"I set the authentication type to \"none\""},{"id":"495dcb98-d5f4-40d3-bd70-7a4530df5d08","location":{"line":40,"column":5},"keyword":"Then ","keywordType":"Outcome","text":"I see the API should handle the GET request successfully"}],"examples":[{"id":"7b27e96f-399d-4ec3-9fd8-8b8a3869a0cd","tags":[],"location":{"line":42,"column":5},"keyword":"Examples","name":"","description":"","tableHeader":{"id":"bf997470-d472-435a-b8f1-3c013feac883","location":{"line":43,"column":7},"cells":[{"location":{"line":43,"column":9},"value":"virtual_users"},{"location":{"line":43,"column":25},"value":"duration"},{"location":{"line":43,"column":36},"value":"http_req_failed"},{"location":{"line":43,"column":54},"value":"http_req_duration"}]},"tableBody":[{"id":"69874b08-0e6d-4b45-88c4-f513ddb5eeb9","location":{"line":44,"column":7},"cells":[{"location":{"line":44,"column":20},"value":"10"},{"location":{"line":44,"column":32},"value":"5"},{"location":{"line":44,"column":36},"value":"rate<0.05"},{"location":{"line":44,"column":54},"value":"p(95)<5000"}]},{"id":"e8506d2c-a932-4078-bad6-a2d15c31ab69","location":{"line":45,"column":7},"cells":[{"location":{"line":45,"column":21},"value":"5"},{"location":{"line":45,"column":32},"value":"2"},{"location":{"line":45,"column":36},"value":"rate<0.05"},{"location":{"line":45,"column":54},"value":"p(95)<5000"}]}]}]}}]},"comments":[{"location":{"line":46,"column":1},"text":"# | 100 | 15 | rate<0.05 | p(95)<3500 |"},{"location":{"line":47,"column":1},"text":"# | 200 | 20 | rate<0.05 | p(95)<3500 |"}],"uri":"features\/bsp.feature"}},{"pickle":{"id":"108206a6-4cc4-4aa9-ae20-f4000ecfbea3","uri":"features\/bsp.feature","astNodeIds":["499d2dc2-cb2d-4c19-abad-4bed17dc51b8"],"tags":[{"name":"@rate-limit","astNodeId":"f12333e7-8b9a-4e7f-88a1-3abc90df16d5"},{"name":"@within-limit","astNodeId":"cdab5e67-80c5-4571-904d-35f33127410f"}],"name":"API allows up to 5 requests in 10 seconds (under limit)","language":"en","steps":[{"id":"2def547b-b386-4341-8192-2d9c2e20ec49","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"","type":"Context","astNodeIds":["cac25111-9279-4133-b04f-d24a8805ca7e"]},{"id":"3f98b97b-e9e5-41a1-9fb9-79a017c0711d","text":"I store the value at \"data.token\" as alias \"auth_token\"","type":"Outcome","astNodeIds":["0d36a384-2050-40ce-b388-134dd1d0d9ea"]},{"id":"57cee142-1788-4c1a-826f-2a3e83af42f4","text":"I set a k6 script for POST testing","type":"Action","astNodeIds":["9438f7d5-a8a0-434d-b882-2bf39ad9db91"]},{"id":"1e706b0b-d623-4d05-918c-129bb5740a9c","text":"I set to 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":"1"},{"value":"10"},{"value":"rate<0.05"},{"value":"p(95)<2000"}]}]}},"astNodeIds":["0539f132-ad02-4a6f-a926-36d322f804e5"]},{"id":"c4deb9a2-6509-4032-8bf4-d04c8cb24265","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"","type":"Action","astNodeIds":["d9559069-ed05-49ff-8626-2cece7ba471c"]},{"id":"d2aae648-bbec-497f-ba62-4f2223c06ba7","text":"I set the authentication type to \"auth_token\"","type":"Action","astNodeIds":["996ecc8d-ce44-4280-ba6e-c65af06f1b7c"]},{"id":"c9398853-8886-4550-bf30-4ad7d22922ff","text":"I see the API should handle the POST request successfully","type":"Outcome","astNodeIds":["da1b79f2-5738-4818-8aa2-d68f7b36e033"]}]}},{"pickle":{"id":"3f810192-427f-4681-a352-aaf646450441","uri":"features\/bsp.feature","astNodeIds":["02a9c484-db65-4912-ac0c-8016dc51220b"],"tags":[{"name":"@rate-limit","astNodeId":"f12333e7-8b9a-4e7f-88a1-3abc90df16d5"},{"name":"@exceed-limit","astNodeId":"142b35bf-2a25-4761-a1a3-a507f8c69409"}],"name":"API blocks more than 5 requests in 10 seconds (exceeds limit)","language":"en","steps":[{"id":"aed0b69a-d493-4721-9c77-c1001e62b76c","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"","type":"Context","astNodeIds":["cac25111-9279-4133-b04f-d24a8805ca7e"]},{"id":"06394c14-743a-4419-8954-1f6ae4f1452e","text":"I store the value at \"data.token\" as alias \"auth_token\"","type":"Outcome","astNodeIds":["0d36a384-2050-40ce-b388-134dd1d0d9ea"]},{"id":"992bf5c2-54bb-49ca-bddf-d97fb154d39c","text":"I set a k6 script for POST testing","type":"Action","astNodeIds":["c0bc247a-9fea-43d8-96d7-24cdba086b98"]},{"id":"b7bb7bad-0d03-47fc-a898-bbf4edab186d","text":"I set to 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":"6"},{"value":"10"},{"value":"rate>=0.50"},{"value":"p(95)<3000"}]}]}},"astNodeIds":["49a7d5e7-6475-4239-9ca5-5a4ea8fe74cb"]},{"id":"8a2eb407-f58d-40ce-b073-ad70036aca37","text":"I use JSON payload from \"okra.json\" for POST to \"\/api\/v3\/client\/bsp\"","type":"Action","astNodeIds":["a19544f9-8be3-4ee6-9fff-cd4725db4732"]},{"id":"a1f1c2f0-554a-4692-957d-c58456c934c8","text":"I set the authentication type to \"auth_token\"","type":"Action","astNodeIds":["ac21e79e-1a60-4b49-912b-4a4764542a17"]},{"id":"84769dce-e722-43a4-916d-350069470539","text":"I see the API should handle the POST request successfully","type":"Outcome","astNodeIds":["df933c86-83b2-4132-9553-12839081b17a"]}]}},{"pickle":{"id":"37e73220-3fec-4aba-9273-688ba353270c","uri":"features\/bsp.feature","astNodeIds":["d1942ee7-1b45-4f61-beb9-67b625ae16ae","69874b08-0e6d-4b45-88c4-f513ddb5eeb9"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"e7ba9c54-7046-4979-b570-908d9dfc5c9d","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"","type":"Context","astNodeIds":["cac25111-9279-4133-b04f-d24a8805ca7e"]},{"id":"1c95608b-e521-4d0c-8a25-32df87c96641","text":"I store the value at \"data.token\" as alias \"auth_token\"","type":"Outcome","astNodeIds":["0d36a384-2050-40ce-b388-134dd1d0d9ea"]},{"id":"ec2b2772-0026-4ad7-be26-511159a93ac3","text":"I set a k6 script for GET testing","type":"Context","astNodeIds":["6e659e20-8761-4dda-8367-85524f949776","69874b08-0e6d-4b45-88c4-f513ddb5eeb9"]},{"id":"4525c543-8d8b-410c-bfef-32a2de45c0d6","text":"I set to 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":"10"},{"value":"5"},{"value":"rate<0.05"},{"value":"p(95)<5000"}]}]}},"astNodeIds":["d89a1633-6e7a-4bf2-9462-14b9b658ba1f","69874b08-0e6d-4b45-88c4-f513ddb5eeb9"]},{"id":"5680c8bf-e7c2-4c56-9203-70ee922fb18f","text":"I set the following endpoints used:","type":"Action","argument":{"docString":{"content":"\/get?foo1=bar1&foo2=bar2\nhttps:\/\/postman-echo.com\/get?foo1=bar1&foo2=bar2"}},"astNodeIds":["79abe692-45a7-4d06-88d7-bcabab4dfc39","69874b08-0e6d-4b45-88c4-f513ddb5eeb9"]},{"id":"c44e8893-6b01-420d-be78-9e7b25f5fc34","text":"I set the authentication type to \"none\"","type":"Action","astNodeIds":["ada228a8-d92c-462a-8a2d-9feb9e131d86","69874b08-0e6d-4b45-88c4-f513ddb5eeb9"]},{"id":"b52a60cb-9598-467c-affa-7b51d4b2c4a4","text":"I see the API should handle the GET request successfully","type":"Outcome","astNodeIds":["495dcb98-d5f4-40d3-bd70-7a4530df5d08","69874b08-0e6d-4b45-88c4-f513ddb5eeb9"]}],"tags":[{"name":"@rate-limit","astNodeId":"f12333e7-8b9a-4e7f-88a1-3abc90df16d5"},{"name":"@get","astNodeId":"346d3c5c-e253-4ce6-944c-6a6c23d436b4"}]}},{"pickle":{"id":"85baac60-8641-49b3-bc7c-5754de39c4d2","uri":"features\/bsp.feature","astNodeIds":["d1942ee7-1b45-4f61-beb9-67b625ae16ae","e8506d2c-a932-4078-bad6-a2d15c31ab69"],"name":"I run the k6 script for load testing with dynamic GET requests","language":"en","steps":[{"id":"7999b895-af11-4faa-b568-ccdb7823df46","text":"I login via POST to \"\/api\/v3\/client\/api\/login\" with payload from \"login.json\"","type":"Context","astNodeIds":["cac25111-9279-4133-b04f-d24a8805ca7e"]},{"id":"d9d089ff-9757-4a2f-b176-4219d57931f6","text":"I store the value at \"data.token\" as alias \"auth_token\"","type":"Outcome","astNodeIds":["0d36a384-2050-40ce-b388-134dd1d0d9ea"]},{"id":"53d721e9-8a2a-4a87-a0bc-f83b3d9ab218","text":"I set a k6 script for GET testing","type":"Context","astNodeIds":["6e659e20-8761-4dda-8367-85524f949776","e8506d2c-a932-4078-bad6-a2d15c31ab69"]},{"id":"740f96d7-feb9-4321-b0a7-daacb73e26dd","text":"I set to 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":"5"},{"value":"2"},{"value":"rate<0.05"},{"value":"p(95)<5000"}]}]}},"astNodeIds":["d89a1633-6e7a-4bf2-9462-14b9b658ba1f","e8506d2c-a932-4078-bad6-a2d15c31ab69"]},{"id":"28c80918-faee-454e-b717-52eea8982199","text":"I set the following endpoints used:","type":"Action","argument":{"docString":{"content":"\/get?foo1=bar1&foo2=bar2\nhttps:\/\/postman-echo.com\/get?foo1=bar1&foo2=bar2"}},"astNodeIds":["79abe692-45a7-4d06-88d7-bcabab4dfc39","e8506d2c-a932-4078-bad6-a2d15c31ab69"]},{"id":"e954d659-273e-420e-a1a3-bb11fdaa8b63","text":"I set the authentication type to \"none\"","type":"Action","astNodeIds":["ada228a8-d92c-462a-8a2d-9feb9e131d86","e8506d2c-a932-4078-bad6-a2d15c31ab69"]},{"id":"2974e7dd-0380-493d-ab13-175aef7c0151","text":"I see the API should handle the GET request successfully","type":"Outcome","astNodeIds":["495dcb98-d5f4-40d3-bd70-7a4530df5d08","e8506d2c-a932-4078-bad6-a2d15c31ab69"]}],"tags":[{"name":"@rate-limit","astNodeId":"f12333e7-8b9a-4e7f-88a1-3abc90df16d5"},{"name":"@get","astNodeId":"346d3c5c-e253-4ce6-944c-6a6c23d436b4"}]}},{"stepDefinition":{"id":"bd032950-06eb-48e3-80c0-4a6eebb04fb9","pattern":{"source":"I set a k6 script for {word} testing","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":28}}}},{"stepDefinition":{"id":"13b1d760-8a89-443e-871b-d31d839821e2","pattern":{"source":"I set to run the k6 script with the following configurations:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":40}}}},{"stepDefinition":{"id":"ea091c95-8832-40d6-b4b1-0b5199ab0c67","pattern":{"source":"I set the request headers:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":124}}}},{"stepDefinition":{"id":"5a895bf1-93a0-44aa-9f02-7c7479ca913d","pattern":{"source":"I set the following endpoints used:","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":145}}}},{"stepDefinition":{"id":"da3fd24e-6e1b-407c-9389-fe58898ef008","pattern":{"source":"I set the following {word} body is used for {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":165}}}},{"stepDefinition":{"id":"22f6b4ae-156a-4226-8423-e68a2a698254","pattern":{"source":"I use JSON payload from {string} for {word} to {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":174}}}},{"stepDefinition":{"id":"2fee4d08-f379-4654-b647-8400e521ee0b","pattern":{"source":"I set the authentication type to {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":226}}}},{"stepDefinition":{"id":"697d6394-11a0-4b85-8d93-f0b2fe948247","pattern":{"source":"I store the value at {string} as alias {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":237}}}},{"stepDefinition":{"id":"9fb16dc8-43a5-4bf7-98cb-704c807d7ef7","pattern":{"source":"I login via POST to {string} with payload from {string}","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":262}}}},{"stepDefinition":{"id":"55ecb4f1-37ff-45be-bfb4-47a2c00bf1ec","pattern":{"source":"I see the API should handle the {word} request successfully","type":"CUCUMBER_EXPRESSION"},"sourceReference":{"uri":"step_definitions\/load_test_steps.js","location":{"line":306}}}},{"testRunStarted":{"id":"fe759f94-8b97-4456-ab63-1d834c12b3b0","timestamp":{"seconds":1750840270,"nanos":690000000}}},{"testCase":{"testRunStartedId":"fe759f94-8b97-4456-ab63-1d834c12b3b0","pickleId":"37e73220-3fec-4aba-9273-688ba353270c","id":"a9059a9d-2074-44b5-ae7b-bd001794f701","testSteps":[{"id":"4b5e0abe-37f3-4949-ab6c-ee36346ed79d","pickleStepId":"e7ba9c54-7046-4979-b570-908d9dfc5c9d","stepDefinitionIds":["9fb16dc8-43a5-4bf7-98cb-704c807d7ef7"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":20,"value":"\"\/api\/v3\/client\/api\/login\"","children":[{"start":21,"value":"\/api\/v3\/client\/api\/login","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":65,"value":"\"login.json\"","children":[{"start":66,"value":"login.json","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"77ed9f04-ffa3-4510-959f-67c9a054fb0f","pickleStepId":"1c95608b-e521-4d0c-8a25-32df87c96641","stepDefinitionIds":["697d6394-11a0-4b85-8d93-f0b2fe948247"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":21,"value":"\"data.token\"","children":[{"start":22,"value":"data.token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":43,"value":"\"auth_token\"","children":[{"start":44,"value":"auth_token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"ee0c0b27-8a73-467e-bbe9-53a282011307","pickleStepId":"ec2b2772-0026-4ad7-be26-511159a93ac3","stepDefinitionIds":["bd032950-06eb-48e3-80c0-4a6eebb04fb9"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":22,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"1f8fae62-ea29-42bb-a40c-a427c2b4762c","pickleStepId":"4525c543-8d8b-410c-bfef-32a2de45c0d6","stepDefinitionIds":["13b1d760-8a89-443e-871b-d31d839821e2"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"6e22fba0-d401-425b-be0c-7c3edd40b6fa","pickleStepId":"5680c8bf-e7c2-4c56-9203-70ee922fb18f","stepDefinitionIds":["5a895bf1-93a0-44aa-9f02-7c7479ca913d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"415b8256-0b5b-4883-87c1-f9e13c38053f","pickleStepId":"c44e8893-6b01-420d-be78-9e7b25f5fc34","stepDefinitionIds":["2fee4d08-f379-4654-b647-8400e521ee0b"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":33,"value":"\"none\"","children":[{"start":34,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"974cfc59-c610-4822-a21d-f9497fedc8ff","pickleStepId":"b52a60cb-9598-467c-affa-7b51d4b2c4a4","stepDefinitionIds":["55ecb4f1-37ff-45be-bfb4-47a2c00bf1ec"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":32,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCase":{"testRunStartedId":"fe759f94-8b97-4456-ab63-1d834c12b3b0","pickleId":"85baac60-8641-49b3-bc7c-5754de39c4d2","id":"d8796e84-7c4e-408a-a3bf-c14bc82d403b","testSteps":[{"id":"fb8a6861-0807-4ea3-8b0b-6831a19f0f0b","pickleStepId":"7999b895-af11-4faa-b568-ccdb7823df46","stepDefinitionIds":["9fb16dc8-43a5-4bf7-98cb-704c807d7ef7"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":20,"value":"\"\/api\/v3\/client\/api\/login\"","children":[{"start":21,"value":"\/api\/v3\/client\/api\/login","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":65,"value":"\"login.json\"","children":[{"start":66,"value":"login.json","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"e0dcb6f0-5774-4f05-98b4-394147fd0ac3","pickleStepId":"d9d089ff-9757-4a2f-b176-4219d57931f6","stepDefinitionIds":["697d6394-11a0-4b85-8d93-f0b2fe948247"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":21,"value":"\"data.token\"","children":[{"start":22,"value":"data.token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"},{"group":{"start":43,"value":"\"auth_token\"","children":[{"start":44,"value":"auth_token","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"64e8e8c4-cc0b-40b2-b0b9-2d8e2c24c260","pickleStepId":"53d721e9-8a2a-4a87-a0bc-f83b3d9ab218","stepDefinitionIds":["bd032950-06eb-48e3-80c0-4a6eebb04fb9"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":22,"value":"GET","children":[]},"parameterTypeName":"word"}]}]},{"id":"4991b36e-c565-4c03-b3ac-3392c41fc21d","pickleStepId":"740f96d7-feb9-4321-b0a7-daacb73e26dd","stepDefinitionIds":["13b1d760-8a89-443e-871b-d31d839821e2"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"d88aa119-7e53-4dee-a1f9-558082b02ebc","pickleStepId":"28c80918-faee-454e-b717-52eea8982199","stepDefinitionIds":["5a895bf1-93a0-44aa-9f02-7c7479ca913d"],"stepMatchArgumentsLists":[{"stepMatchArguments":[]}]},{"id":"3693030a-616d-4d94-beb0-7b90dde941dc","pickleStepId":"e954d659-273e-420e-a1a3-bb11fdaa8b63","stepDefinitionIds":["2fee4d08-f379-4654-b647-8400e521ee0b"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":33,"value":"\"none\"","children":[{"start":34,"value":"none","children":[{"children":[]}]},{"children":[{"children":[]}]}]},"parameterTypeName":"string"}]}]},{"id":"6bae6ed1-1952-4c9a-91c1-f95526ba184f","pickleStepId":"2974e7dd-0380-493d-ab13-175aef7c0151","stepDefinitionIds":["55ecb4f1-37ff-45be-bfb4-47a2c00bf1ec"],"stepMatchArgumentsLists":[{"stepMatchArguments":[{"group":{"start":32,"value":"GET","children":[]},"parameterTypeName":"word"}]}]}]}},{"testCaseStarted":{"attempt":0,"testCaseId":"a9059a9d-2074-44b5-ae7b-bd001794f701","id":"469e750a-9787-4df4-a7d0-b87258a18ec9","timestamp":{"seconds":1750840270,"nanos":702000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"4b5e0abe-37f3-4949-ab6c-ee36346ed79d","timestamp":{"seconds":1750840270,"nanos":702000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"4b5e0abe-37f3-4949-ab6c-ee36346ed79d","testStepResult":{"duration":{"seconds":0,"nanos":780541},"status":"FAILED","message":"Error: Payload file not found: \/Users\/paschal\/personal\/k6-cucumber-steps\/payloads\/login.json\n at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:270:13)","exception":{"type":"Error","message":"Payload file not found: \/Users\/paschal\/personal\/k6-cucumber-steps\/payloads\/login.json","stackTrace":" at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:270:13)"}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"77ed9f04-ffa3-4510-959f-67c9a054fb0f","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"77ed9f04-ffa3-4510-959f-67c9a054fb0f","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"ee0c0b27-8a73-467e-bbe9-53a282011307","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"ee0c0b27-8a73-467e-bbe9-53a282011307","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"1f8fae62-ea29-42bb-a40c-a427c2b4762c","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"1f8fae62-ea29-42bb-a40c-a427c2b4762c","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"6e22fba0-d401-425b-be0c-7c3edd40b6fa","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"6e22fba0-d401-425b-be0c-7c3edd40b6fa","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"415b8256-0b5b-4883-87c1-f9e13c38053f","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"415b8256-0b5b-4883-87c1-f9e13c38053f","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"974cfc59-c610-4822-a21d-f9497fedc8ff","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","testStepId":"974cfc59-c610-4822-a21d-f9497fedc8ff","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testCaseFinished":{"testCaseStartedId":"469e750a-9787-4df4-a7d0-b87258a18ec9","timestamp":{"seconds":1750840270,"nanos":703000000},"willBeRetried":false}},{"testCaseStarted":{"attempt":0,"testCaseId":"d8796e84-7c4e-408a-a3bf-c14bc82d403b","id":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"fb8a6861-0807-4ea3-8b0b-6831a19f0f0b","timestamp":{"seconds":1750840270,"nanos":703000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"fb8a6861-0807-4ea3-8b0b-6831a19f0f0b","testStepResult":{"duration":{"seconds":0,"nanos":92582},"status":"FAILED","message":"Error: Payload file not found: \/Users\/paschal\/personal\/k6-cucumber-steps\/payloads\/login.json\n at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:270:13)","exception":{"type":"Error","message":"Payload file not found: \/Users\/paschal\/personal\/k6-cucumber-steps\/payloads\/login.json","stackTrace":" at CustomWorld.<anonymous> (\/Users\/paschal\/personal\/k6-cucumber-steps\/step_definitions\/load_test_steps.js:270:13)"}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"e0dcb6f0-5774-4f05-98b4-394147fd0ac3","timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"e0dcb6f0-5774-4f05-98b4-394147fd0ac3","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"64e8e8c4-cc0b-40b2-b0b9-2d8e2c24c260","timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"64e8e8c4-cc0b-40b2-b0b9-2d8e2c24c260","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"4991b36e-c565-4c03-b3ac-3392c41fc21d","timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"4991b36e-c565-4c03-b3ac-3392c41fc21d","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"d88aa119-7e53-4dee-a1f9-558082b02ebc","timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"d88aa119-7e53-4dee-a1f9-558082b02ebc","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"3693030a-616d-4d94-beb0-7b90dde941dc","timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"3693030a-616d-4d94-beb0-7b90dde941dc","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepStarted":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"6bae6ed1-1952-4c9a-91c1-f95526ba184f","timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testStepFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","testStepId":"6bae6ed1-1952-4c9a-91c1-f95526ba184f","testStepResult":{"status":"SKIPPED","duration":{"seconds":0,"nanos":0}},"timestamp":{"seconds":1750840270,"nanos":704000000}}},{"testCaseFinished":{"testCaseStartedId":"0d1f2486-4f40-45f0-8302-8a62ffacdbe4","timestamp":{"seconds":1750840270,"nanos":704000000},"willBeRetried":false}},{"testRunFinished":{"testRunStartedId":"fe759f94-8b97-4456-ab63-1d834c12b3b0","timestamp":{"seconds":1750840270,"nanos":704000000},"success":false}}];
44
44
  </script>
45
45
  <script>
46
46
  /*! For license information please see main.js.LICENSE.txt */
@@ -4,10 +4,10 @@
4
4
  "elements": [
5
5
  {
6
6
  "description": "",
7
- "id": "rate-limit-enforcement-for-/login-and-/bsp;api-allows-up-to-5-requests-in-10-seconds-(under-limit)",
8
- "keyword": "Scenario",
9
- "line": 9,
10
- "name": "API allows up to 5 requests in 10 seconds (under limit)",
7
+ "id": "rate-limit-enforcement-for-/login-and-/bsp;i-run-the-k6-script-for-load-testing-with-dynamic-get-requests",
8
+ "keyword": "Scenario Outline",
9
+ "line": 44,
10
+ "name": "I run the k6 script for load testing with dynamic GET requests",
11
11
  "steps": [
12
12
  {
13
13
  "arguments": [],
@@ -18,8 +18,9 @@
18
18
  "location": "step_definitions/load_test_steps.js:262"
19
19
  },
20
20
  "result": {
21
- "status": "passed",
22
- "duration": 894569875
21
+ "status": "failed",
22
+ "duration": 780541,
23
+ "error_message": "Error: Payload file not found: /Users/paschal/personal/k6-cucumber-steps/payloads/login.json\n at CustomWorld.<anonymous> (/Users/paschal/personal/k6-cucumber-steps/step_definitions/load_test_steps.js:270:13)"
23
24
  }
24
25
  },
25
26
  {
@@ -31,21 +32,21 @@
31
32
  "location": "step_definitions/load_test_steps.js:237"
32
33
  },
33
34
  "result": {
34
- "status": "passed",
35
- "duration": 217708
35
+ "status": "skipped",
36
+ "duration": 0
36
37
  }
37
38
  },
38
39
  {
39
40
  "arguments": [],
40
- "keyword": "When ",
41
- "line": 10,
42
- "name": "I set a k6 script for POST testing",
41
+ "keyword": "Given ",
42
+ "line": 30,
43
+ "name": "I set a k6 script for GET testing",
43
44
  "match": {
44
45
  "location": "step_definitions/load_test_steps.js:28"
45
46
  },
46
47
  "result": {
47
- "status": "passed",
48
- "duration": 78040
48
+ "status": "skipped",
49
+ "duration": 0
49
50
  }
50
51
  },
51
52
  {
@@ -62,64 +63,68 @@
62
63
  },
63
64
  {
64
65
  "cells": [
65
- "1",
66
66
  "10",
67
+ "5",
67
68
  "rate<0.05",
68
- "p(95)<2000"
69
+ "p(95)<5000"
69
70
  ]
70
71
  }
71
72
  ]
72
73
  }
73
74
  ],
74
75
  "keyword": "When ",
75
- "line": 11,
76
+ "line": 31,
76
77
  "name": "I set to run the k6 script with the following configurations:",
77
78
  "match": {
78
79
  "location": "step_definitions/load_test_steps.js:40"
79
80
  },
80
81
  "result": {
81
- "status": "passed",
82
- "duration": 458667
82
+ "status": "skipped",
83
+ "duration": 0
83
84
  }
84
85
  },
85
86
  {
86
- "arguments": [],
87
- "keyword": "When ",
88
- "line": 14,
89
- "name": "I use JSON payload from \"okra.json\" for POST to \"/api/v3/client/bsp\"",
87
+ "arguments": [
88
+ {
89
+ "content": "/get?foo1=bar1&foo2=bar2\nhttps://postman-echo.com/get?foo1=bar1&foo2=bar2",
90
+ "line": 35
91
+ }
92
+ ],
93
+ "keyword": "And ",
94
+ "line": 34,
95
+ "name": "I set the following endpoints used:",
90
96
  "match": {
91
- "location": "step_definitions/load_test_steps.js:174"
97
+ "location": "step_definitions/load_test_steps.js:145"
92
98
  },
93
99
  "result": {
94
- "status": "passed",
95
- "duration": 1823208
100
+ "status": "skipped",
101
+ "duration": 0
96
102
  }
97
103
  },
98
104
  {
99
105
  "arguments": [],
100
106
  "keyword": "When ",
101
- "line": 15,
102
- "name": "I set the authentication type to \"auth_token\"",
107
+ "line": 39,
108
+ "name": "I set the authentication type to \"none\"",
103
109
  "match": {
104
110
  "location": "step_definitions/load_test_steps.js:226"
105
111
  },
106
112
  "result": {
107
- "status": "passed",
108
- "duration": 125207
113
+ "status": "skipped",
114
+ "duration": 0
109
115
  }
110
116
  },
111
117
  {
112
118
  "arguments": [],
113
119
  "keyword": "Then ",
114
- "line": 16,
115
- "name": "I see the API should handle the POST request successfully",
120
+ "line": 40,
121
+ "name": "I see the API should handle the GET request successfully",
116
122
  "match": {
117
123
  "location": "step_definitions/load_test_steps.js:306"
118
124
  },
119
125
  "result": {
120
- "status": "failed",
121
- "duration": 14665569374,
122
- "error_message": "Error: k6 test execution failed\n at CustomWorld.<anonymous> (/Users/paschal/personal/k6-cucumber-steps/step_definitions/load_test_steps.js:334:13)"
126
+ "status": "skipped",
127
+ "duration": 0
123
128
  }
124
129
  }
125
130
  ],
@@ -129,18 +134,18 @@
129
134
  "line": 1
130
135
  },
131
136
  {
132
- "name": "@within-limit",
133
- "line": 8
137
+ "name": "@get",
138
+ "line": 28
134
139
  }
135
140
  ],
136
141
  "type": "scenario"
137
142
  },
138
143
  {
139
144
  "description": "",
140
- "id": "rate-limit-enforcement-for-/login-and-/bsp;api-blocks-more-than-5-requests-in-10-seconds-(exceeds-limit)",
141
- "keyword": "Scenario",
142
- "line": 19,
143
- "name": "API blocks more than 5 requests in 10 seconds (exceeds limit)",
145
+ "id": "rate-limit-enforcement-for-/login-and-/bsp;i-run-the-k6-script-for-load-testing-with-dynamic-get-requests",
146
+ "keyword": "Scenario Outline",
147
+ "line": 45,
148
+ "name": "I run the k6 script for load testing with dynamic GET requests",
144
149
  "steps": [
145
150
  {
146
151
  "arguments": [],
@@ -151,8 +156,9 @@
151
156
  "location": "step_definitions/load_test_steps.js:262"
152
157
  },
153
158
  "result": {
154
- "status": "passed",
155
- "duration": 626931291
159
+ "status": "failed",
160
+ "duration": 92582,
161
+ "error_message": "Error: Payload file not found: /Users/paschal/personal/k6-cucumber-steps/payloads/login.json\n at CustomWorld.<anonymous> (/Users/paschal/personal/k6-cucumber-steps/step_definitions/load_test_steps.js:270:13)"
156
162
  }
157
163
  },
158
164
  {
@@ -164,21 +170,21 @@
164
170
  "location": "step_definitions/load_test_steps.js:237"
165
171
  },
166
172
  "result": {
167
- "status": "passed",
168
- "duration": 569790
173
+ "status": "skipped",
174
+ "duration": 0
169
175
  }
170
176
  },
171
177
  {
172
178
  "arguments": [],
173
- "keyword": "When ",
174
- "line": 20,
175
- "name": "I set a k6 script for POST testing",
179
+ "keyword": "Given ",
180
+ "line": 30,
181
+ "name": "I set a k6 script for GET testing",
176
182
  "match": {
177
183
  "location": "step_definitions/load_test_steps.js:28"
178
184
  },
179
185
  "result": {
180
- "status": "passed",
181
- "duration": 76042
186
+ "status": "skipped",
187
+ "duration": 0
182
188
  }
183
189
  },
184
190
  {
@@ -195,63 +201,68 @@
195
201
  },
196
202
  {
197
203
  "cells": [
198
- "6",
199
- "10",
200
- "rate>=0.50",
201
- "p(95)<3000"
204
+ "5",
205
+ "2",
206
+ "rate<0.05",
207
+ "p(95)<5000"
202
208
  ]
203
209
  }
204
210
  ]
205
211
  }
206
212
  ],
207
213
  "keyword": "When ",
208
- "line": 21,
214
+ "line": 31,
209
215
  "name": "I set to run the k6 script with the following configurations:",
210
216
  "match": {
211
217
  "location": "step_definitions/load_test_steps.js:40"
212
218
  },
213
219
  "result": {
214
- "status": "passed",
215
- "duration": 255083
220
+ "status": "skipped",
221
+ "duration": 0
216
222
  }
217
223
  },
218
224
  {
219
- "arguments": [],
220
- "keyword": "When ",
221
- "line": 24,
222
- "name": "I use JSON payload from \"okra.json\" for POST to \"/api/v3/client/bsp\"",
225
+ "arguments": [
226
+ {
227
+ "content": "/get?foo1=bar1&foo2=bar2\nhttps://postman-echo.com/get?foo1=bar1&foo2=bar2",
228
+ "line": 35
229
+ }
230
+ ],
231
+ "keyword": "And ",
232
+ "line": 34,
233
+ "name": "I set the following endpoints used:",
223
234
  "match": {
224
- "location": "step_definitions/load_test_steps.js:174"
235
+ "location": "step_definitions/load_test_steps.js:145"
225
236
  },
226
237
  "result": {
227
- "status": "passed",
228
- "duration": 1752667
238
+ "status": "skipped",
239
+ "duration": 0
229
240
  }
230
241
  },
231
242
  {
232
243
  "arguments": [],
233
244
  "keyword": "When ",
234
- "line": 25,
235
- "name": "I set the authentication type to \"auth_token\"",
245
+ "line": 39,
246
+ "name": "I set the authentication type to \"none\"",
236
247
  "match": {
237
248
  "location": "step_definitions/load_test_steps.js:226"
238
249
  },
239
250
  "result": {
240
- "status": "passed",
241
- "duration": 87707
251
+ "status": "skipped",
252
+ "duration": 0
242
253
  }
243
254
  },
244
255
  {
245
256
  "arguments": [],
246
257
  "keyword": "Then ",
247
- "line": 26,
248
- "name": "I see the API should handle the POST request successfully",
258
+ "line": 40,
259
+ "name": "I see the API should handle the GET request successfully",
249
260
  "match": {
250
261
  "location": "step_definitions/load_test_steps.js:306"
251
262
  },
252
263
  "result": {
253
- "status": "passed",
254
- "duration": 14650450625
264
+ "status": "skipped",
265
+ "duration": 0
255
266
  }
256
267
  }
257
268
  ],
@@ -261,8 +272,8 @@
261
272
  "line": 1
262
273
  },
263
274
  {
264
- "name": "@exceed-limit",
265
- "line": 18
275
+ "name": "@get",
276
+ "line": 28
266
277
  }
267
278
  ],
268
279
  "type": "scenario"