k6-cucumber-steps 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.env +17 -0
  2. package/.env.example +17 -0
  3. package/.github/workflows/k6-load-test.yml +35 -0
  4. package/.vscode/extensions.json +5 -0
  5. package/.vscode/settings.json +10 -0
  6. package/LICENSE +21 -0
  7. package/README.md +179 -0
  8. package/assets/k6-cucumber-report.png +0 -0
  9. package/assets/paschal logo (2).png +0 -0
  10. package/cucumber.js +26 -0
  11. package/generateReport.js +24 -0
  12. package/libs/helpers/buildK6Script.js +94 -0
  13. package/libs/helpers/generateHeaders.js +29 -0
  14. package/libs/helpers/resolveBody.js +55 -0
  15. package/libs/utils/k6Runner.js +71 -0
  16. package/package.json +60 -0
  17. package/reports/load-results.json +231 -0
  18. package/reports/report.html +1234 -0
  19. package/step_definitions/load_test_steps.js +130 -0
  20. package/step_definitions/world.js +13 -0
  21. package/temp/k6_script.js +27 -0
  22. package/tmp/k6_script_01d24b4b-b76e-45b1-a457-9668fb82d33a.js +32 -0
  23. package/tmp/k6_script_1438a7b8-37a7-4556-8da9-12e588e666da.js +32 -0
  24. package/tmp/k6_script_15971355-7bba-45c2-85a8-81899162beab.js +32 -0
  25. package/tmp/k6_script_32f4609f-8abb-4d48-9454-321bd66409eb.js +32 -0
  26. package/tmp/k6_script_42cd4c8b-dee1-4b23-997b-ca1b0b8aae34.js +32 -0
  27. package/tmp/k6_script_49e30b01-9631-4b7f-a2e9-f538bfdade19.js +31 -0
  28. package/tmp/k6_script_4c01eb2e-b7d2-4597-a146-a6990dd92853.js +32 -0
  29. package/tmp/k6_script_4d779cfb-0c34-472c-b5fe-85ceb25f2422.js +31 -0
  30. package/tmp/k6_script_4f00954e-7f02-4c0c-8a89-df8183266fac.js +32 -0
  31. package/tmp/k6_script_4f166411-c40b-44a9-9561-94ab8d4c97bd.js +32 -0
  32. package/tmp/k6_script_4fba8ca6-c90f-467e-bc49-15f30a8eae81.js +32 -0
  33. package/tmp/k6_script_5054b6db-ae03-453e-ad29-8b79869c17b7.js +32 -0
  34. package/tmp/k6_script_5d64d2e5-7cde-4313-969c-ca14c9178bff.js +32 -0
  35. package/tmp/k6_script_61db2aea-6187-4b51-b450-67f773c8050c.js +32 -0
  36. package/tmp/k6_script_6b6147df-69a8-4ed3-9479-0edd8a3e64cd.js +32 -0
  37. package/tmp/k6_script_6dda7a7d-dd36-4775-87f5-d0365715ae2b.js +32 -0
  38. package/tmp/k6_script_6fca496e-f9d3-47e6-b214-8b998b69e9c8.js +32 -0
  39. package/tmp/k6_script_7ca87434-af5c-4ecc-9a7e-0ce7ae5c05c3.js +32 -0
  40. package/tmp/k6_script_7ff302b6-5bfd-440d-a7e4-bf60cf3ec23b.js +31 -0
  41. package/tmp/k6_script_817f7c24-46a8-4c8e-8c8b-7d63ae8c90f9.js +32 -0
  42. package/tmp/k6_script_88b6b615-94b7-4af4-a05b-40439f73c38a.js +32 -0
  43. package/tmp/k6_script_8a9b2d06-fdf9-408b-98e6-4228e039f66b.js +32 -0
  44. package/tmp/k6_script_93acfc41-ce38-4363-8394-faf4568c62a7.js +33 -0
  45. package/tmp/k6_script_9424816a-7712-400d-80b1-235cf298b102.js +32 -0
  46. package/tmp/k6_script_a8ddb599-632f-4a05-9d6f-b99c93e7533f.js +32 -0
  47. package/tmp/k6_script_a9b18f14-bf36-4423-a706-1e132ff3cfda.js +32 -0
  48. package/tmp/k6_script_a9eb065f-d0b9-42b8-b4fa-90d9c67787a4.js +32 -0
  49. package/tmp/k6_script_aac9cc10-b5cd-4fd6-9ba7-ad37b55a5e0c.js +32 -0
  50. package/tmp/k6_script_ac7f2225-f35b-4330-aa95-ea7468d652ed.js +32 -0
  51. package/tmp/k6_script_acb5057c-60cc-47b3-b8aa-718912587694.js +32 -0
  52. package/tmp/k6_script_aecaaf81-a2e9-4342-a90b-3077eba3fdbe.js +32 -0
  53. package/tmp/k6_script_b054781a-fbe3-41ab-8a55-52c7923bb4e3.js +32 -0
  54. package/tmp/k6_script_b210e574-c636-4b1a-9245-f9d9ce9ba731.js +32 -0
  55. package/tmp/k6_script_b4abecc0-91a9-4dc4-8e40-480a31b7954e.js +32 -0
  56. package/tmp/k6_script_b5a61631-afe3-47c4-af92-40213c3afe1a.js +32 -0
  57. package/tmp/k6_script_b6c1de34-edde-4e1d-be3f-504147837617.js +32 -0
  58. package/tmp/k6_script_be52dc14-7325-4ba0-ba2c-125c1dffab0c.js +42 -0
  59. package/tmp/k6_script_c2dbe965-703c-4c8d-83f0-db2eb73b1ab3.js +32 -0
  60. package/tmp/k6_script_c2ecca4f-7a01-4560-9fe0-4a5184497482.js +33 -0
  61. package/tmp/k6_script_cd13c408-4d59-490a-b788-f2e69ab5aeac.js +32 -0
  62. package/tmp/k6_script_cde84f7c-9d97-4c51-a315-005af6463f40.js +33 -0
  63. package/tmp/k6_script_cfbf49b0-d50a-4e00-b0ee-c1f37ae101bc.js +32 -0
  64. package/tmp/k6_script_d0599a1d-7fe5-4a58-b1f7-571a9c586732.js +32 -0
  65. package/tmp/k6_script_d1cd0a14-dc18-4034-a859-cd8b30da7c68.js +32 -0
  66. package/tmp/k6_script_d2365925-9612-48b5-87e9-4ecd81212133.js +32 -0
  67. package/tmp/k6_script_d38531f2-a437-4117-a4d3-076a11f7dfa6.js +32 -0
  68. package/tmp/k6_script_d415abc5-41b3-4445-a8bf-9c13c3208c59.js +32 -0
  69. package/tmp/k6_script_d9a6e7f4-5b88-4fcf-90d8-0183a1b96608.js +32 -0
  70. package/tmp/k6_script_e70b4a0a-1d52-431c-92e1-a53fd6739dfc.js +32 -0
  71. package/tmp/k6_script_e7bc2c96-7603-468b-b4be-d609d3c2f6ce.js +32 -0
  72. package/tmp/k6_script_e9687b8a-7885-48e5-91ad-9dcd21acc401.js +32 -0
  73. package/tmp/k6_script_ee2c199b-643d-4a78-b8df-7319e02783c1.js +32 -0
  74. package/tmp/k6_script_fe495d2f-7943-4151-a7fe-004ad443083d.js +32 -0
@@ -0,0 +1,1234 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Cucumber Feature Report</title>
5
+ <link rel="icon" href="https://www.lambdatest.com/favicon.ico" >
6
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" >
7
+ <style type="text/css">
8
+ .panel-heading {
9
+ padding: 0;
10
+ }
11
+
12
+ @media (min-width: 768px) {
13
+ .pull-right-lg {
14
+ float: left;
15
+ }
16
+ }
17
+
18
+ @media (min-width: 992px) and (max-width: 1199px) {
19
+ .pull-right-lg {
20
+ float: right;
21
+ }
22
+ }
23
+
24
+ @media (min-width: 768px) and (max-width: 991px) {
25
+ .pull-right-lg {
26
+ float: right;
27
+ }
28
+ }
29
+
30
+ @media (min-width: 1200px) {
31
+ .pull-right-lg {
32
+ float: right;
33
+ }
34
+ }
35
+
36
+ .left {
37
+ float: left;
38
+ }
39
+
40
+ .metadata {
41
+ overflow: auto;
42
+ letter-spacing: 0.2px;
43
+ border-color: white;
44
+ line-height: 1.6;
45
+ color: #4d4d4d;
46
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
47
+ font-size: 13px;
48
+ padding-bottom: 3px;
49
+ }
50
+
51
+ .panel-heading a {
52
+ padding: 10px 15px;
53
+ display: block;
54
+ position: relative;
55
+ text-decoration: none;
56
+ }
57
+
58
+ .panel-heading i.glyphicon-chevron-down {
59
+ display: none;
60
+ }
61
+
62
+ .panel-heading i.glyphicon-chevron-right {
63
+ display: inline-block;
64
+ }
65
+
66
+ .panel-heading.open i.glyphicon-chevron-down {
67
+ display: inline-block;
68
+ }
69
+
70
+ .panel-heading.open i.glyphicon-chevron-right {
71
+ display: none;
72
+ }
73
+
74
+ .generated-on {
75
+ text-align: right;
76
+ padding-bottom: 10px;
77
+ }
78
+
79
+ .panel-title b {
80
+ padding-right: 10px;
81
+ }
82
+
83
+ .panel-heading .label-container {
84
+ position: absolute;
85
+ top: 8px;
86
+ right: 8px;
87
+ }
88
+
89
+ .panel-heading .label-container label {
90
+ margin-left: 5px;
91
+ padding: 5px;
92
+ }
93
+
94
+ .navbar .label-container {
95
+ position: absolute;
96
+ right: 10px;
97
+ top: 14px;
98
+ }
99
+
100
+ .navbar {
101
+ margin-bottom: 10px;
102
+ }
103
+
104
+ .navbar .label {
105
+ font-size: 20px;
106
+ }
107
+
108
+ .navbar .project-name {
109
+ position: absolute;
110
+ top: 10px;
111
+ left: 50%;
112
+ margin-left: -100px;
113
+ text-align: center;
114
+ font-size: 20px;
115
+ font-weight: bold;
116
+ }
117
+
118
+ .tags {
119
+ margin-left: 18px;
120
+ margin-right: 20px;
121
+ padding-top: 5px;
122
+ margin-bottom: -4px;
123
+ }
124
+
125
+ .tag {
126
+ font-size: 13px;
127
+ color: #696969;
128
+ letter-spacing: 0.3px;
129
+ font-weight: bold;
130
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
131
+ }
132
+
133
+ .chart {
134
+ padding-bottom: 15px;
135
+ }
136
+
137
+ div.chart div div svg rect {
138
+ fill: #f5f5f5;
139
+ }
140
+
141
+ .arguments {
142
+ margin-left: 30px;
143
+ margin-top: 1em;
144
+ margin-bottom: 15px;
145
+ }
146
+
147
+ #directory {
148
+ background-color: #f0f0f0;
149
+ }
150
+
151
+ .screenshot {
152
+ padding: 2% 0 2% 0;
153
+ }
154
+
155
+ .description {
156
+ background-color: white;
157
+ border-color: white;
158
+ line-height: 1.6;
159
+ color: #6f6f6f;
160
+ font-weight: 400;
161
+ font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
162
+ font-size: 14px;
163
+ padding: 0.1em 0.5em 1.2em 1.5em
164
+ }
165
+
166
+ #scenario-description {
167
+ padding-bottom: 1em;
168
+ padding-left: 0.2em;
169
+ }
170
+
171
+ .scrollBar {
172
+ overflow-x: scroll;
173
+ }
174
+
175
+ table {
176
+ border-collapse: collapse;
177
+ }
178
+
179
+ table, th, td {
180
+ border: 1px solid black;
181
+ }
182
+
183
+ th, td {
184
+ text-align: left;
185
+ padding: 8px;
186
+ }
187
+
188
+ th {
189
+ background-color: #f5f5f5;
190
+ color: black;
191
+ }
192
+
193
+ .info {
194
+ background-color: #fbfbfb;
195
+ }
196
+
197
+ pre {
198
+ display: block;
199
+ padding: 10px;
200
+ margin-top: 1em;
201
+ margin-right: 3em;
202
+ font-size: 13px;
203
+ line-height: 1.42857143;
204
+ word-break: break-all;
205
+ word-wrap: break-word;
206
+ color: #333;
207
+ background-color: #f5f5f5;
208
+ border: 1px solid #ccc;
209
+ border-radius: 4px;
210
+ }
211
+
212
+ .step-duration {
213
+ float: right;
214
+ color: #BDBDBD;
215
+ }
216
+
217
+ .footer-div {
218
+ text-align: right;
219
+ vertical-align: middle;
220
+ height: 3.5%;
221
+ width: 100%;
222
+ }
223
+
224
+ .footer-container {
225
+ margin-right: 10px;
226
+ margin-top: 5px;
227
+ width: 18%;
228
+ z-index: 10;
229
+ position: absolute;
230
+ right: 0;
231
+ bottom: 10px;
232
+ text-align: center;
233
+ background-color: transparent;
234
+ }
235
+
236
+ .show-modal:hover {
237
+ background-color: #f0f0f0;
238
+ }
239
+
240
+ .footer-link {
241
+ font-size: 13px;
242
+ float: right;
243
+ }
244
+
245
+ .footer-link:hover {
246
+ color: darkgray;
247
+ }
248
+
249
+ .steps {
250
+ padding-left: 10px;
251
+ padding-right: 10px;
252
+ margin-bottom: -4px;
253
+ }
254
+
255
+ .all-features {
256
+ padding-top: 0.6em;
257
+ }
258
+
259
+ .keyword {
260
+ color: #616161;
261
+ }
262
+
263
+ .feature-passed {
264
+ display: block;
265
+ }
266
+
267
+ .feature-failed{
268
+ display: block;
269
+ }
270
+
271
+ .label-saffron{
272
+ background-color: #ff9933;
273
+ }
274
+
275
+ .label-retries {
276
+ display: flex;
277
+ flex-wrap: wrap;
278
+ width: 90px;
279
+ justify-content: flex-end;
280
+ gap: 5px;
281
+ }
282
+
283
+ .label-retries > span:first-child {
284
+ min-width: 100%;
285
+ }
286
+
287
+
288
+ /** Issue in google-charts tooltip - https://github.com/google/google-visualization-issues/issues/2162 */
289
+ .google-visualization-tooltip { pointer-events:none; }
290
+
291
+ .count-wrapper{
292
+ display: flex;
293
+ gap: 15px;
294
+ }
295
+ .card{
296
+ border: 1px solid #f5f5f5;
297
+ padding: 15px;
298
+ color: #fff;
299
+ border-radius: 5px;
300
+ flex: 1;
301
+ }
302
+ .generated-on{
303
+ margin-right: 10px;
304
+ }
305
+ .card h4{
306
+ font-size: 15px;
307
+ }
308
+ .red-box{
309
+ background: #d9534e;
310
+ }
311
+ .blue-box{
312
+ background: #0074ff;
313
+ }
314
+ .yellow-box{
315
+ background: #f0ad4e;
316
+ }
317
+ .saffron-box{
318
+ background: #ff9933;
319
+ }
320
+ .green-box{
321
+ background: #5cb85b;
322
+ }
323
+ .gray-box{
324
+ background: #999;
325
+ }
326
+ .amb-box{
327
+ background: #218bcf;
328
+ }
329
+ .undefined-box{
330
+ background: #22c2e2;
331
+ }
332
+ .mb-20px{
333
+ margin-bottom: 20px;
334
+ }
335
+ </style>
336
+ <meta charset="UTF-8">
337
+ </head>
338
+ <body>
339
+
340
+ <div class="navbar navbar-default navbar-static-top" role="navigation">
341
+ <div class="container">
342
+ <div class="navbar-header">
343
+
344
+ <a class="navbar-brand">Cucumberjs Report</a>
345
+ <div class="project-name visible-md visible-lg">k6-cucumber-steps</div>
346
+ <div class="label-container">
347
+ <div class="generated-on">
348
+ Sat Apr 26 2025 12:26:43 GMT+0100 (West Africa Standard Time)
349
+ </div>
350
+ </div>
351
+ </div>
352
+ </div>
353
+ </div>
354
+
355
+ <div class="container">
356
+
357
+ <div class="count-wrapper mb-20px">
358
+ <div class="card blue-box">
359
+ <div class="feature-title">
360
+ <h4>All Scenarios</h2>
361
+ </div>
362
+ <div class="feature-value">
363
+ <h5>
364
+ 2
365
+ </h5>
366
+ </div>
367
+ </div>
368
+ <div class="card green-box">
369
+ <div class="feature-title">
370
+ <h4>Passed Scenarios</h2>
371
+ </div>
372
+ <div class="feature-value">
373
+ <h5>
374
+ 2
375
+ </h5>
376
+ </div>
377
+ </div>
378
+ <div class="card red-box">
379
+ <div class="feature-title">
380
+ <h4>Failed Scenarios</h2>
381
+ </div>
382
+ <div class="feature-value">
383
+ <h5>
384
+ 0
385
+ </h5>
386
+ </div>
387
+ </div>
388
+
389
+
390
+
391
+
392
+
393
+ </div>
394
+ <div class="row">
395
+ <div class="chart col-lg-6 col-md-6" id="piechart_features"></div>
396
+ <div class="chart col-lg-6 col-md-6" id="piechart_scenarios"></div>
397
+ </div>
398
+
399
+
400
+ <div class="panel panel-default">
401
+ <div class="panel-heading open">
402
+ <h4 class="panel-title">
403
+ <a data-toggle="collapse" href="#logOutput">
404
+ <i class="glyphicon glyphicon-chevron-right"></i>
405
+ <i class="glyphicon glyphicon-chevron-down"></i>
406
+ <b>Metadata</b>
407
+ </a>
408
+ </h4>
409
+ </div>
410
+ <div id="logOutput" class="panel-collapse collapse in">
411
+ <div class="panel-body">
412
+ <div class="row">
413
+
414
+
415
+
416
+
417
+ <div class="clearfix metadata col-xs-12 col-sm-6 col-md-6 col-lg-6">
418
+ <div class=pull-left>
419
+ <strong> browser: </strong>[object Object]
420
+ </div>
421
+ </div>
422
+
423
+
424
+
425
+ <div class="clearfix metadata col-xs-12 col-sm-6 col-md-6 col-lg-6">
426
+ <div class=pull-right-lg>
427
+ <strong> device: </strong>Local test machine
428
+ </div>
429
+ </div>
430
+
431
+
432
+
433
+ <div class="clearfix metadata col-xs-12 col-sm-6 col-md-6 col-lg-6">
434
+ <div class=pull-left>
435
+ <strong> platform: </strong>[object Object]
436
+ </div>
437
+ </div>
438
+
439
+ </div>
440
+ </div>
441
+ </div>
442
+ </div>
443
+
444
+
445
+
446
+
447
+
448
+ <div class="row" xmlns="http://www.w3.org/1999/html">
449
+
450
+
451
+ <div class="feature-passed">
452
+
453
+ <div class="col-lg-6 col-md-6">
454
+ <div class="panel panel-default">
455
+ <div class="panel-heading">
456
+ <h4 class="panel-title">
457
+
458
+ <div class="tags">
459
+ </div>
460
+
461
+ <a data-toggle="collapse" href="#collapseFeaturek6_cucumber_steps132c5544-4930-42fd-be53-41969e474b42">
462
+ <i class="glyphicon glyphicon-chevron-right"></i>
463
+ <i class="glyphicon glyphicon-chevron-down"></i>
464
+ <b>Feature:</b>Run load tests with dynamic GET and POST body from environment variables and JSON files
465
+ <span class="label-container">
466
+ <span class="label label-success"
467
+ title="2 Scenarios Passed">2</span>
468
+
469
+
470
+
471
+
472
+
473
+ </span>
474
+ </a>
475
+ </h4>
476
+ </div>
477
+ <div id="collapseFeaturek6_cucumber_steps132c5544-4930-42fd-be53-41969e474b42" class="panel-collapse collapse">
478
+ <div class="panel-body">
479
+
480
+
481
+
482
+ <div class="panel panel-default">
483
+ <div class="panel-heading">
484
+ <h4 class="panel-title">
485
+
486
+
487
+ <div class="tags"> <span class="tag"> @loadTest</span>
488
+
489
+ </div>
490
+
491
+ <a data-toggle="collapse" href="#collapseScenariok6_cucumber_stepsecc18de5-ed0b-43a1-8db2-5c17c1b38b90">
492
+ <div>
493
+
494
+ <div style="padding-right: 30px">
495
+ <i class="glyphicon glyphicon-chevron-right"></i>
496
+ <i class="glyphicon glyphicon-chevron-down"></i>
497
+ <b>Scenario Outline:</b>I run the k6 script for load testing with dynamic GET requests
498
+ </div>
499
+ <div>
500
+ <span class="label-container ">
501
+
502
+ <span class="label label-success"
503
+ title="5 Steps Passed">5</span>
504
+
505
+
506
+
507
+
508
+
509
+ </span>
510
+ </div>
511
+ </div>
512
+ <div><small><i></i></small></div>
513
+ </a>
514
+ </h4>
515
+ </div>
516
+ <div id="collapseScenariok6_cucumber_stepsecc18de5-ed0b-43a1-8db2-5c17c1b38b90"
517
+ class="panel-collapse collapse">
518
+ <div class="panel-body">
519
+ <div></div>
520
+
521
+
522
+
523
+ <p class="scenario-container">
524
+ <div class="row steps">
525
+
526
+
527
+ <span class="label label-success" title="Success"><i
528
+ class="glyphicon glyphicon-ok"></i></span>
529
+
530
+
531
+ <span class="text">
532
+ <span class="keyword highlight">Given </span>
533
+ <span> I have a k6 script for GET testing</span>
534
+
535
+
536
+ <span class="step-duration">
537
+ < 1ms
538
+ </span>
539
+
540
+
541
+
542
+
543
+ <!-- Adding data table data-->
544
+
545
+ </span>
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+ </div>
557
+ </p>
558
+
559
+
560
+
561
+ <p class="scenario-container">
562
+ <div class="row steps">
563
+
564
+
565
+ <span class="label label-success" title="Success"><i
566
+ class="glyphicon glyphicon-ok"></i></span>
567
+
568
+
569
+ <span class="text">
570
+ <span class="keyword highlight">When </span>
571
+ <span> I run the k6 script with the following configurations:</span>
572
+
573
+
574
+ <span class="step-duration">
575
+ < 1ms
576
+ </span>
577
+
578
+
579
+
580
+
581
+ <div class="scrollBar">
582
+ <table class="arguments">
583
+
584
+ <tr>
585
+
586
+
587
+ <th>
588
+ virtual_users
589
+ </th>
590
+
591
+ <th>
592
+ duration
593
+ </th>
594
+
595
+ <th>
596
+ http_req_failed
597
+ </th>
598
+
599
+ <th>
600
+ http_req_duration
601
+ </th>
602
+
603
+ <th>
604
+ error_rate
605
+ </th>
606
+
607
+ </tr>
608
+
609
+ <tr>
610
+
611
+
612
+ <td>
613
+ 10
614
+ </td>
615
+
616
+ <td>
617
+ 5
618
+ </td>
619
+
620
+ <td>
621
+ rate&lt;0.05
622
+ </td>
623
+
624
+ <td>
625
+ p(95)&lt;3000
626
+ </td>
627
+
628
+ <td>
629
+ &lt;error_rate&gt;
630
+ </td>
631
+
632
+ </tr>
633
+
634
+ </table>
635
+ </div>
636
+
637
+
638
+
639
+
640
+
641
+ <!-- Adding data table data-->
642
+
643
+ </span>
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+ </div>
655
+ </p>
656
+
657
+
658
+
659
+ <p class="scenario-container">
660
+ <div class="row steps">
661
+
662
+
663
+ <span class="label label-success" title="Success"><i
664
+ class="glyphicon glyphicon-ok"></i></span>
665
+
666
+
667
+ <span class="text">
668
+ <span class="keyword highlight">And </span>
669
+ <span> the following endpoint(s) is/are used:</span>
670
+
671
+
672
+ <span class="step-duration">
673
+ < 1ms
674
+ </span>
675
+
676
+
677
+
678
+
679
+
680
+ <pre class=info><br>/api/profile
681
+ https://reqres.in/api/users?page=2</pre>
682
+
683
+
684
+
685
+
686
+ <!-- Adding data table data-->
687
+
688
+ </span>
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+ </div>
700
+ </p>
701
+
702
+
703
+
704
+ <p class="scenario-container">
705
+ <div class="row steps">
706
+
707
+
708
+ <span class="label label-success" title="Success"><i
709
+ class="glyphicon glyphicon-ok"></i></span>
710
+
711
+
712
+ <span class="text">
713
+ <span class="keyword highlight">When </span>
714
+ <span> the authentication type is &quot;none&quot;</span>
715
+
716
+
717
+ <span class="step-duration">
718
+ < 1ms
719
+ </span>
720
+
721
+
722
+
723
+
724
+ <!-- Adding data table data-->
725
+
726
+ </span>
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+ </div>
738
+ </p>
739
+
740
+
741
+
742
+ <p class="scenario-container">
743
+ <div class="row steps">
744
+
745
+
746
+ <span class="label label-success" title="Success"><i
747
+ class="glyphicon glyphicon-ok"></i></span>
748
+
749
+
750
+ <span class="text">
751
+ <span class="keyword highlight">Then </span>
752
+ <span> the API should handle the GET request successfully</span>
753
+
754
+
755
+ <span class="step-duration">
756
+ 6s 265ms
757
+ </span>
758
+
759
+
760
+
761
+
762
+ <!-- Adding data table data-->
763
+
764
+ </span>
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+ </div>
776
+ </p>
777
+
778
+
779
+ </div>
780
+ </div>
781
+ </div>
782
+
783
+
784
+ <div class="panel panel-default">
785
+ <div class="panel-heading">
786
+ <h4 class="panel-title">
787
+
788
+
789
+ <div class="tags"> <span class="tag"> @loadTest</span>
790
+
791
+ </div>
792
+
793
+ <a data-toggle="collapse" href="#collapseScenariok6_cucumber_steps09f8db0f-0a2d-4c79-802c-7f6ebb119dc5">
794
+ <div>
795
+
796
+ <div style="padding-right: 30px">
797
+ <i class="glyphicon glyphicon-chevron-right"></i>
798
+ <i class="glyphicon glyphicon-chevron-down"></i>
799
+ <b>Scenario Outline:</b>I run the k6 script for load testing with dynamic GET requests
800
+ </div>
801
+ <div>
802
+ <span class="label-container ">
803
+
804
+ <span class="label label-success"
805
+ title="5 Steps Passed">5</span>
806
+
807
+
808
+
809
+
810
+
811
+ </span>
812
+ </div>
813
+ </div>
814
+ <div><small><i></i></small></div>
815
+ </a>
816
+ </h4>
817
+ </div>
818
+ <div id="collapseScenariok6_cucumber_steps09f8db0f-0a2d-4c79-802c-7f6ebb119dc5"
819
+ class="panel-collapse collapse">
820
+ <div class="panel-body">
821
+ <div></div>
822
+
823
+
824
+
825
+ <p class="scenario-container">
826
+ <div class="row steps">
827
+
828
+
829
+ <span class="label label-success" title="Success"><i
830
+ class="glyphicon glyphicon-ok"></i></span>
831
+
832
+
833
+ <span class="text">
834
+ <span class="keyword highlight">Given </span>
835
+ <span> I have a k6 script for GET testing</span>
836
+
837
+
838
+ <span class="step-duration">
839
+ < 1ms
840
+ </span>
841
+
842
+
843
+
844
+
845
+ <!-- Adding data table data-->
846
+
847
+ </span>
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+ </div>
859
+ </p>
860
+
861
+
862
+
863
+ <p class="scenario-container">
864
+ <div class="row steps">
865
+
866
+
867
+ <span class="label label-success" title="Success"><i
868
+ class="glyphicon glyphicon-ok"></i></span>
869
+
870
+
871
+ <span class="text">
872
+ <span class="keyword highlight">When </span>
873
+ <span> I run the k6 script with the following configurations:</span>
874
+
875
+
876
+ <span class="step-duration">
877
+ < 1ms
878
+ </span>
879
+
880
+
881
+
882
+
883
+ <div class="scrollBar">
884
+ <table class="arguments">
885
+
886
+ <tr>
887
+
888
+
889
+ <th>
890
+ virtual_users
891
+ </th>
892
+
893
+ <th>
894
+ duration
895
+ </th>
896
+
897
+ <th>
898
+ http_req_failed
899
+ </th>
900
+
901
+ <th>
902
+ http_req_duration
903
+ </th>
904
+
905
+ <th>
906
+ error_rate
907
+ </th>
908
+
909
+ </tr>
910
+
911
+ <tr>
912
+
913
+
914
+ <td>
915
+ 50
916
+ </td>
917
+
918
+ <td>
919
+ 10
920
+ </td>
921
+
922
+ <td>
923
+ rate&lt;0.05
924
+ </td>
925
+
926
+ <td>
927
+ p(95)&lt;3000
928
+ </td>
929
+
930
+ <td>
931
+ &lt;error_rate&gt;
932
+ </td>
933
+
934
+ </tr>
935
+
936
+ </table>
937
+ </div>
938
+
939
+
940
+
941
+
942
+
943
+ <!-- Adding data table data-->
944
+
945
+ </span>
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+ </div>
957
+ </p>
958
+
959
+
960
+
961
+ <p class="scenario-container">
962
+ <div class="row steps">
963
+
964
+
965
+ <span class="label label-success" title="Success"><i
966
+ class="glyphicon glyphicon-ok"></i></span>
967
+
968
+
969
+ <span class="text">
970
+ <span class="keyword highlight">And </span>
971
+ <span> the following endpoint(s) is/are used:</span>
972
+
973
+
974
+ <span class="step-duration">
975
+ < 1ms
976
+ </span>
977
+
978
+
979
+
980
+
981
+
982
+ <pre class=info><br>/api/profile
983
+ https://reqres.in/api/users?page=2</pre>
984
+
985
+
986
+
987
+
988
+ <!-- Adding data table data-->
989
+
990
+ </span>
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+ </div>
1002
+ </p>
1003
+
1004
+
1005
+
1006
+ <p class="scenario-container">
1007
+ <div class="row steps">
1008
+
1009
+
1010
+ <span class="label label-success" title="Success"><i
1011
+ class="glyphicon glyphicon-ok"></i></span>
1012
+
1013
+
1014
+ <span class="text">
1015
+ <span class="keyword highlight">When </span>
1016
+ <span> the authentication type is &quot;none&quot;</span>
1017
+
1018
+
1019
+ <span class="step-duration">
1020
+ < 1ms
1021
+ </span>
1022
+
1023
+
1024
+
1025
+
1026
+ <!-- Adding data table data-->
1027
+
1028
+ </span>
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+ </div>
1040
+ </p>
1041
+
1042
+
1043
+
1044
+ <p class="scenario-container">
1045
+ <div class="row steps">
1046
+
1047
+
1048
+ <span class="label label-success" title="Success"><i
1049
+ class="glyphicon glyphicon-ok"></i></span>
1050
+
1051
+
1052
+ <span class="text">
1053
+ <span class="keyword highlight">Then </span>
1054
+ <span> the API should handle the GET request successfully</span>
1055
+
1056
+
1057
+ <span class="step-duration">
1058
+ 11s 848ms
1059
+ </span>
1060
+
1061
+
1062
+
1063
+
1064
+ <!-- Adding data table data-->
1065
+
1066
+ </span>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+ </div>
1078
+ </p>
1079
+
1080
+
1081
+ </div>
1082
+ </div>
1083
+ </div>
1084
+
1085
+ </div>
1086
+ </div>
1087
+ </div>
1088
+ </div>
1089
+
1090
+ </div>
1091
+
1092
+ </div>
1093
+
1094
+
1095
+
1096
+ </div>
1097
+
1098
+
1099
+ <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
1100
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
1101
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script>
1102
+ <script type="text/javascript" src="https://www.google.com/jsapi"></script>
1103
+ <script type="text/javascript">
1104
+ google.load("visualization", "1", {packages: ["corechart"]});
1105
+ google.setOnLoadCallback(function() {drawChart({
1106
+ "title" : "Features",
1107
+ "failed" : 0,
1108
+ "passed" : 1,
1109
+ "notdefined" : 0,
1110
+ "pending" : 0,
1111
+ "skipped" : 0,
1112
+ "ambiguous" : 0
1113
+ })
1114
+ });
1115
+ google.setOnLoadCallback(function() {drawChart({
1116
+ "title" : "Scenarios",
1117
+ "failed" : 0,
1118
+ "passed" : 2,
1119
+ "rerun" : 0,
1120
+ "notdefined" : 0,
1121
+ "pending" : 0,
1122
+ "skipped" : 0,
1123
+ "ambiguous" : 0
1124
+ })
1125
+ });
1126
+ </script>
1127
+ <script>
1128
+ $(document).ready(function () {
1129
+ $('.collapse')
1130
+ .on('hide.bs.collapse', function (e) {
1131
+ e.stopPropagation();
1132
+ $(this).prev().removeClass('open');
1133
+ })
1134
+ .on('show.bs.collapse', function (e) {
1135
+ e.stopPropagation();
1136
+ $(this).prev().addClass('open');
1137
+ });
1138
+
1139
+ let $generated = $('.generated-on');
1140
+
1141
+ let timestamp = $generated.text();
1142
+ $generated.text('Report generated ' + moment(timestamp).fromNow());
1143
+ $generated.prop('title', new Date(timestamp).toISOString());
1144
+ });
1145
+
1146
+ function toggle(className) {
1147
+ let x = $(className);
1148
+ if (x.css('display') === 'none') {
1149
+ x.css('display', 'block');
1150
+ } else {
1151
+ x.css('display', 'none');
1152
+ }
1153
+ }
1154
+
1155
+ function drawChart(chartData) {
1156
+ let data = google.visualization.arrayToDataTable([
1157
+ ['Task', 'Cucumber Results'],
1158
+ ['Passed', chartData.passed],
1159
+ ['Failed', chartData.failed],
1160
+ ['Pending', chartData.pending],
1161
+ ['Undefined', chartData.notdefined],
1162
+ ['Ambiguous', chartData.ambiguous],
1163
+ ['Skipped', chartData.skipped],
1164
+ ['Re-run', chartData.rerun],
1165
+ ]);
1166
+
1167
+ let total =
1168
+ chartData.passed +
1169
+ chartData.failed +
1170
+ (chartData.pending || 0) +
1171
+ (chartData.notdefined || 0) +
1172
+ (chartData.ambiguous || 0) +
1173
+ (chartData.skipped || 0) ||
1174
+ chartData.rerun ||
1175
+ 0;
1176
+ let title;
1177
+
1178
+ if (total === 1) {
1179
+ title = total + ' ' + chartData.title.slice(0, -1);
1180
+ } else {
1181
+ title = total + ' ' + chartData.title;
1182
+ }
1183
+
1184
+ let options = {
1185
+ width: '100%',
1186
+ height: 240,
1187
+ title: title,
1188
+ is3D: true,
1189
+ colors: ['#5cb85c', '#d9534f', '#999', '#5bc0de', '#428bca', '#f0ad4e', '#ff9933'],
1190
+ fontSize: '13',
1191
+ fontName: '"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif',
1192
+ slices: {
1193
+ 1: { offset: 0.4 },
1194
+ 2: { offset: 0.4 },
1195
+ 3: { offset: 0.4 },
1196
+ 4: { offset: 0.4 },
1197
+ 5: { offset: 0.4 },
1198
+ 6: { offset: 0.4 },
1199
+ 7: { offset: 0.4 },
1200
+ },
1201
+ titleTextStyle: {
1202
+ fontSize: '13',
1203
+ color: '#5e5e5e',
1204
+ },
1205
+ };
1206
+
1207
+ let chart = new google.visualization.PieChart(document.getElementById('piechart_' + chartData.title.toLowerCase()));
1208
+
1209
+ chart.draw(data, options);
1210
+ }
1211
+
1212
+ $('a.toggle').on('click', function (e) {
1213
+ e.preventDefault();
1214
+
1215
+ if (!$(this).hasClass('collapse')) {
1216
+ if ($(this).text() === 'Screenshot -') {
1217
+ // $(this).text('Screenshot +');
1218
+ $(this).next('a.screenshot').find('img').hide();
1219
+ } else if ($(this).text() === 'Screenshot +') {
1220
+ // $(this).text('Screenshot -');
1221
+ $(this).next('a.screenshot').find('img').show();
1222
+ }
1223
+ }
1224
+
1225
+ if ($(this).text().includes(' -')) {
1226
+ $(this).text($(this).text().replace(' -', ' +'));
1227
+ } else {
1228
+ $(this).text($(this).text().replace(' +', ' -'));
1229
+ }
1230
+ });
1231
+
1232
+ </script>
1233
+ </body>
1234
+ </html>