k6-cucumber-steps 1.0.22 → 1.0.24
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/.github/workflows/k6-load-test.yml +17 -14
- package/README.md +7 -4
- package/package.json +5 -1
- package/.vscode/extensions.json +0 -6
- package/.vscode/settings.json +0 -12
- package/temp/k6_script.js +0 -27
- package/temp/load_script_2a96242d-8924-468d-a0f1-3f9555b4eef1.js +0 -44
- package/temp/load_script_e2119cce-eeb0-4b11-82e1-12f6827d6a82.js +0 -44
- package/tmp/k6_script_01d24b4b-b76e-45b1-a457-9668fb82d33a.js +0 -32
- package/tmp/k6_script_1438a7b8-37a7-4556-8da9-12e588e666da.js +0 -32
- package/tmp/k6_script_15971355-7bba-45c2-85a8-81899162beab.js +0 -32
- package/tmp/k6_script_32f4609f-8abb-4d48-9454-321bd66409eb.js +0 -32
- package/tmp/k6_script_42cd4c8b-dee1-4b23-997b-ca1b0b8aae34.js +0 -32
- package/tmp/k6_script_47e2a318-0613-4ef5-a53b-834b50f52790.js +0 -44
- package/tmp/k6_script_49e30b01-9631-4b7f-a2e9-f538bfdade19.js +0 -31
- package/tmp/k6_script_4b8eec2f-49ea-4f44-bc8b-075a37784d1a.js +0 -44
- package/tmp/k6_script_4c01eb2e-b7d2-4597-a146-a6990dd92853.js +0 -32
- package/tmp/k6_script_4d779cfb-0c34-472c-b5fe-85ceb25f2422.js +0 -31
- package/tmp/k6_script_4f00954e-7f02-4c0c-8a89-df8183266fac.js +0 -32
- package/tmp/k6_script_4f166411-c40b-44a9-9561-94ab8d4c97bd.js +0 -32
- package/tmp/k6_script_4fba8ca6-c90f-467e-bc49-15f30a8eae81.js +0 -32
- package/tmp/k6_script_5054b6db-ae03-453e-ad29-8b79869c17b7.js +0 -32
- package/tmp/k6_script_5d64d2e5-7cde-4313-969c-ca14c9178bff.js +0 -32
- package/tmp/k6_script_61db2aea-6187-4b51-b450-67f773c8050c.js +0 -32
- package/tmp/k6_script_6b6147df-69a8-4ed3-9479-0edd8a3e64cd.js +0 -32
- package/tmp/k6_script_6dda7a7d-dd36-4775-87f5-d0365715ae2b.js +0 -32
- package/tmp/k6_script_6e8b3778-ef67-417e-a7c5-885a43529b72.js +0 -44
- package/tmp/k6_script_6fca496e-f9d3-47e6-b214-8b998b69e9c8.js +0 -32
- package/tmp/k6_script_7ca87434-af5c-4ecc-9a7e-0ce7ae5c05c3.js +0 -32
- package/tmp/k6_script_7ff302b6-5bfd-440d-a7e4-bf60cf3ec23b.js +0 -31
- package/tmp/k6_script_817f7c24-46a8-4c8e-8c8b-7d63ae8c90f9.js +0 -32
- package/tmp/k6_script_88b6b615-94b7-4af4-a05b-40439f73c38a.js +0 -32
- package/tmp/k6_script_8a9b2d06-fdf9-408b-98e6-4228e039f66b.js +0 -32
- package/tmp/k6_script_8b3bbfa7-4fa6-4116-81ff-db61d60bafd3.js +0 -44
- package/tmp/k6_script_93acfc41-ce38-4363-8394-faf4568c62a7.js +0 -33
- package/tmp/k6_script_9424816a-7712-400d-80b1-235cf298b102.js +0 -32
- package/tmp/k6_script_a8ddb599-632f-4a05-9d6f-b99c93e7533f.js +0 -32
- package/tmp/k6_script_a9b18f14-bf36-4423-a706-1e132ff3cfda.js +0 -32
- package/tmp/k6_script_a9eb065f-d0b9-42b8-b4fa-90d9c67787a4.js +0 -32
- package/tmp/k6_script_aac9cc10-b5cd-4fd6-9ba7-ad37b55a5e0c.js +0 -32
- package/tmp/k6_script_ac7f2225-f35b-4330-aa95-ea7468d652ed.js +0 -32
- package/tmp/k6_script_acb5057c-60cc-47b3-b8aa-718912587694.js +0 -32
- package/tmp/k6_script_aecaaf81-a2e9-4342-a90b-3077eba3fdbe.js +0 -32
- package/tmp/k6_script_b054781a-fbe3-41ab-8a55-52c7923bb4e3.js +0 -32
- package/tmp/k6_script_b210e574-c636-4b1a-9245-f9d9ce9ba731.js +0 -32
- package/tmp/k6_script_b4abecc0-91a9-4dc4-8e40-480a31b7954e.js +0 -32
- package/tmp/k6_script_b5a61631-afe3-47c4-af92-40213c3afe1a.js +0 -32
- package/tmp/k6_script_b6c1de34-edde-4e1d-be3f-504147837617.js +0 -32
- package/tmp/k6_script_be52dc14-7325-4ba0-ba2c-125c1dffab0c.js +0 -42
- package/tmp/k6_script_c2dbe965-703c-4c8d-83f0-db2eb73b1ab3.js +0 -32
- package/tmp/k6_script_c2ecca4f-7a01-4560-9fe0-4a5184497482.js +0 -33
- package/tmp/k6_script_cd13c408-4d59-490a-b788-f2e69ab5aeac.js +0 -32
- package/tmp/k6_script_cde84f7c-9d97-4c51-a315-005af6463f40.js +0 -33
- package/tmp/k6_script_cfbf49b0-d50a-4e00-b0ee-c1f37ae101bc.js +0 -32
- package/tmp/k6_script_d0599a1d-7fe5-4a58-b1f7-571a9c586732.js +0 -32
- package/tmp/k6_script_d1cd0a14-dc18-4034-a859-cd8b30da7c68.js +0 -32
- package/tmp/k6_script_d2365925-9612-48b5-87e9-4ecd81212133.js +0 -32
- package/tmp/k6_script_d38531f2-a437-4117-a4d3-076a11f7dfa6.js +0 -32
- package/tmp/k6_script_d415abc5-41b3-4445-a8bf-9c13c3208c59.js +0 -32
- package/tmp/k6_script_d9a6e7f4-5b88-4fcf-90d8-0183a1b96608.js +0 -32
- package/tmp/k6_script_e70b4a0a-1d52-431c-92e1-a53fd6739dfc.js +0 -32
- package/tmp/k6_script_e7bc2c96-7603-468b-b4be-d609d3c2f6ce.js +0 -32
- package/tmp/k6_script_e9687b8a-7885-48e5-91ad-9dcd21acc401.js +0 -32
- package/tmp/k6_script_ee2c199b-643d-4a78-b8df-7319e02783c1.js +0 -32
- package/tmp/k6_script_fe495d2f-7943-4151-a7fe-004ad443083d.js +0 -32
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
name: Node.js Package
|
|
1
|
+
name: Node.js Package Release
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches: ["main"]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: ["main"]
|
|
8
6
|
|
|
9
7
|
jobs:
|
|
10
|
-
|
|
8
|
+
release:
|
|
11
9
|
runs-on: ubuntu-latest
|
|
12
10
|
|
|
13
11
|
strategy:
|
|
@@ -21,15 +19,20 @@ jobs:
|
|
|
21
19
|
with:
|
|
22
20
|
node-version: ${{ matrix.node-version }}
|
|
23
21
|
cache: "npm"
|
|
24
|
-
|
|
25
|
-
run: |
|
|
26
|
-
sudo apt-get update
|
|
27
|
-
sudo apt-get install -y --no-install-recommends k6
|
|
28
|
-
- name: Verify k6 Installation
|
|
29
|
-
run: k6 version
|
|
22
|
+
registry-url: "https://registry.npmjs.org" # Add this line
|
|
30
23
|
- name: Install Dependencies
|
|
31
24
|
run: npm install
|
|
32
|
-
- name:
|
|
33
|
-
run:
|
|
34
|
-
|
|
35
|
-
|
|
25
|
+
- name: Configure Git for Commit
|
|
26
|
+
run: |
|
|
27
|
+
git config --global user.email "paschal.enyimiri@gmail.com"
|
|
28
|
+
git config --global user.name "Paschal Enyimiri"
|
|
29
|
+
- name: Add changes
|
|
30
|
+
run: git add .
|
|
31
|
+
- name: Commit changes
|
|
32
|
+
run: git commit -m "chore:Automated changes before versioning" || echo "No changes to commit"
|
|
33
|
+
- name: Set new version as patch and create commit
|
|
34
|
+
run: npm version patch
|
|
35
|
+
- name: Publish to npm
|
|
36
|
+
run: npm publish
|
|
37
|
+
env:
|
|
38
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
[](https://github.com/qaPaschalE/k6-cucumber-steps/blob/main/LICENSE)
|
|
10
10
|
[](https://cucumber.io/)
|
|
11
11
|
[](https://nodejs.org/)
|
|
12
|
+
[](https://github.com/sponsors/qaPaschalE)
|
|
12
13
|
|
|
13
14
|
Run [k6](https://k6.io/) performance/load tests using [Cucumber](https://cucumber.io/) BDD syntax with ease.
|
|
14
15
|
|
|
@@ -65,8 +66,8 @@ Here's a step-by-step guide to using `k6-cucumber-steps` in your project:
|
|
|
65
66
|
|
|
66
67
|
1. **Node.js and npm (or yarn):** Ensure you have Node.js and npm (or yarn) installed.
|
|
67
68
|
2. **k6:** Install k6 on your system following the instructions at [k6.io/docs/getting-started/installation/](https://www.google.com/search?q=https://k6.io/docs/getting-started/installation/).
|
|
68
|
-
3. **@cucumber/cucumber
|
|
69
|
-
4. **cucumber-html-reporter
|
|
69
|
+
3. **@cucumber/cucumber:(optional)** This package is required for using Cucumber.
|
|
70
|
+
4. **cucumber-html-reporter:(optional)** This package is needed if you intend to generate detailed HTML reports
|
|
70
71
|
|
|
71
72
|
**Setup:**
|
|
72
73
|
|
|
@@ -105,9 +106,7 @@ Here's a step-by-step guide to using `k6-cucumber-steps` in your project:
|
|
|
105
106
|
require("dotenv").config();
|
|
106
107
|
|
|
107
108
|
module.exports = {
|
|
108
|
-
requireModule: ["@babel/register"], // If your features or local steps need transpilation
|
|
109
109
|
require: [
|
|
110
|
-
"./node_modules/k6-cucumber-steps/step_definitions/**/*.js", // Path to k6-cucumber-steps' step definitions
|
|
111
110
|
// You can add paths to your local step definitions here if needed
|
|
112
111
|
],
|
|
113
112
|
format: [
|
|
@@ -246,6 +245,10 @@ All generated k6 scripts and artifacts are cleaned automatically after test exec
|
|
|
246
245
|
|
|
247
246
|
---
|
|
248
247
|
|
|
248
|
+
## 💖 Support
|
|
249
|
+
|
|
250
|
+
If you find this package useful, consider [sponsoring me on GitHub](https://github.com/sponsors/qaPaschalE). Your support helps me maintain and improve this project!
|
|
251
|
+
|
|
249
252
|
## 📄 License
|
|
250
253
|
|
|
251
254
|
MIT License - [@qaPaschalE](https://github.com/qaPaschalE)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "k6-cucumber-steps",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
"bugs": {
|
|
11
11
|
"url": "https://github.com/qaPaschalE/k6-cucumber-steps/issues"
|
|
12
12
|
},
|
|
13
|
+
"funding": {
|
|
14
|
+
"type": "github",
|
|
15
|
+
"url": "https://github.com/sponsors/qaPaschalE"
|
|
16
|
+
},
|
|
13
17
|
"homepage": "https://github.com/qaPaschalE/k6-cucumber-steps#readme",
|
|
14
18
|
"scripts": {
|
|
15
19
|
"stress": "npx cucumber-js --format json:stress-results.json --tags @stress",
|
package/.vscode/extensions.json
DELETED
package/.vscode/settings.json
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"cucumber.features": [
|
|
3
|
-
"src/features/*.feature",
|
|
4
|
-
"src/features/**/*.feature",
|
|
5
|
-
"src/features/**/*.k6.feature",
|
|
6
|
-
"src/features/template/*.feature"
|
|
7
|
-
],
|
|
8
|
-
"cucumber.glue": [
|
|
9
|
-
"step_definitions/*.js",
|
|
10
|
-
"src/features/stepDefinitions/*.js"
|
|
11
|
-
]
|
|
12
|
-
}
|
package/temp/k6_script.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import http from "k6/http";
|
|
2
|
-
import { check, group } from "k6";
|
|
3
|
-
import { sleep } from "k6";
|
|
4
|
-
|
|
5
|
-
export const options = {
|
|
6
|
-
vus: undefined,
|
|
7
|
-
duration: "3",
|
|
8
|
-
thresholds: {
|
|
9
|
-
"http_req_failed": "rate<0.05",
|
|
10
|
-
"http_req_duration": "p(95)<1000"
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default function () {
|
|
15
|
-
|
|
16
|
-
group("Request 1: /api/v1/delete-record", function () {
|
|
17
|
-
const res = http.delete("/api/v1/delete-record", null, {
|
|
18
|
-
headers: {
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
check(res, {
|
|
23
|
-
"status is 200": (r) => r.status === 200,
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
sleep(1);
|
|
27
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
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://postman-echo.com/get?foo1=bar1&foo2=bar2";
|
|
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://postman-echo.com/get?foo1=bar1&foo2=bar2";
|
|
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
|
-
|
|
@@ -1,44 +0,0 @@
|
|
|
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://postman-echo.com/get?foo1=bar1&foo2=bar2";
|
|
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://postman-echo.com/get?foo1=bar1&foo2=bar2";
|
|
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
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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)<1000"
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default function () {
|
|
19
|
-
|
|
20
|
-
const resolvedUrl0 = "https://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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)<5000"
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default function () {
|
|
19
|
-
|
|
20
|
-
const resolvedUrl0 = "https://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import http from 'k6/http';
|
|
3
|
-
import { check } from 'k6';
|
|
4
|
-
|
|
5
|
-
export const options = {
|
|
6
|
-
"vus": 100,
|
|
7
|
-
"duration": "15s",
|
|
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://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
|
|
@@ -1,31 +0,0 @@
|
|
|
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)<1000"
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default function () {
|
|
19
|
-
|
|
20
|
-
const res0 = http.request("GET", "/api/v1/performance/appraisal/cycle/list", null, {
|
|
21
|
-
headers: {
|
|
22
|
-
"Content-Type": "application/json",
|
|
23
|
-
"Authorization": "Bearer "
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
check(res0, {
|
|
27
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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)<1000"
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default function () {
|
|
19
|
-
|
|
20
|
-
const resolvedUrl0 = "https://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,31 +0,0 @@
|
|
|
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)<1000"
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default function () {
|
|
19
|
-
|
|
20
|
-
const res0 = http.request("GET", "https://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list", null, {
|
|
21
|
-
headers: {
|
|
22
|
-
"Content-Type": "application/json",
|
|
23
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
check(res0, {
|
|
27
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
@@ -1,32 +0,0 @@
|
|
|
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://runthrough-two.seamlesshrms.com/api/v1/performance/appraisal/cycle/list";
|
|
21
|
-
const res0 = http.request("GET", resolvedUrl0, null, {
|
|
22
|
-
headers: {
|
|
23
|
-
"Content-Type": "application/json",
|
|
24
|
-
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3J1bnRocm91Z2gtdHdvLnNlYW1sZXNzaHJtcy5jb20vYXBpL3YxL2F1dGgvbG9naW4iLCJpYXQiOjE3NDU2MjAwNDEsImV4cCI6MTc0NTYyMzY0MSwibmJmIjoxNzQ1NjIwMDQxLCJqdGkiOiJkQmZHZW9Takh3MlZ0NEF6Iiwic3ViIjoiMjI2IiwicHJ2IjoiYzIwM2QyYmJmODZhN2IyNzcyZWUyNGNhODIyNzBmOTA5NTgyZjg3YyJ9.WGdq8QMpSZvCJB6cj0hn3xrUIfhIbOE4Ft4bo8u1JKw"
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
check(res0, {
|
|
28
|
-
"status is 2xx": (r) => r.status >= 200 && r.status < 300
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|