wdio-rerun-service 2.0.4 → 2.0.7
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/CHANGELOG.md +62 -0
- package/README.md +44 -1
- package/build/cjs/index.js +16 -4
- package/build/cjs/index.js.map +1 -1
- package/build/esm/index.js +16 -4
- package/build/esm/index.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,68 @@
|
|
|
12
12
|
_Note: Gaps between patch versions are faulty, broken or test releases._
|
|
13
13
|
|
|
14
14
|
---
|
|
15
|
+
|
|
16
|
+
## v2.0.6 (2023-1-19)
|
|
17
|
+
#### :bug: Bug Fix
|
|
18
|
+
* [[#56]](https://github.com/webdriverio-community/wdio-rerun-service/pull/56) [v8] Generate failure line number at Example data line ([@cesar-rivera](https://github.com/cesar-rivera), [@wenzhhu](https://github.com/wenzhhu))
|
|
19
|
+
* [[#58]](https://github.com/webdriverio-community/wdio-rerun-service/pull/58) Use correct property when determining framework ([@esaari](https://github.com/esaari))
|
|
20
|
+
|
|
21
|
+
#### Committers: 3
|
|
22
|
+
- [@wenzhhu](https://github.com/wenzhhu)
|
|
23
|
+
- [@esaari](https://github.com/esaari)
|
|
24
|
+
- [@cesar-rivera](https://github.com/cesar-rivera)
|
|
25
|
+
|
|
26
|
+
## v1.7.8 (2023-01-18)
|
|
27
|
+
#### :bug: Bug Fix
|
|
28
|
+
* Service release; no new features/fixes
|
|
29
|
+
|
|
30
|
+
## v1.7.7 (2023-01-18)
|
|
31
|
+
#### :bug: Bug Fix
|
|
32
|
+
* [[#53]](https://github.com/webdriverio-community/wdio-rerun-service/pull/53) Generate failure line number at Example data line rather than the Scenario Outline line ([@wenzhhu](https://github.com/wenzhhu))
|
|
33
|
+
|
|
34
|
+
#### Committers: 1
|
|
35
|
+
- [@wenzhhu](https://github.com/wenzhhu)
|
|
36
|
+
|
|
37
|
+
## v2.0.4 (2022-12-28)
|
|
38
|
+
#### :house: Internal
|
|
39
|
+
* [[#54]](https://github.com/webdriverio-community/wdio-rerun-service/pull/54) Update test.yml to include v7 and lts branches ([@mikesavia](https://github.com/mikesavia))
|
|
40
|
+
|
|
41
|
+
#### Committers: 1
|
|
42
|
+
- [@mikesavia](https://github.com/mikesavia)
|
|
43
|
+
|
|
44
|
+
## v2.0.3 (2022-12-28)
|
|
45
|
+
#### :house: Internal
|
|
46
|
+
* update .npmignore ([@SCG82](https://github.com/SCG82))
|
|
47
|
+
|
|
48
|
+
#### Committers: 1
|
|
49
|
+
- [@SCG82](https://github.com/SCG82)
|
|
50
|
+
|
|
51
|
+
## v2.0.2 (2022-12-28)
|
|
52
|
+
#### :bug: Bug Fix
|
|
53
|
+
* [[#51]](https://github.com/webdriverio-community/wdio-rerun-service/pull/51) fix: replace uuid v5 with v4 to ensure unique ids ([@SCG82](https://github.com/SCG82))
|
|
54
|
+
|
|
55
|
+
#### Committers: 1
|
|
56
|
+
- [@SCG82](https://github.com/SCG82)
|
|
57
|
+
|
|
58
|
+
## v2.0.1 (2022-12-28)
|
|
59
|
+
#### :memo: Documentation
|
|
60
|
+
* Fix: incorrect links in README ([@SCG82](https://github.com/SCG82))
|
|
61
|
+
|
|
62
|
+
#### Committers: 1
|
|
63
|
+
- [@SCG82](https://github.com/SCG82)
|
|
64
|
+
|
|
65
|
+
## v2.0.0 (2022-12-25)
|
|
66
|
+
#### :rocket: New Feature
|
|
67
|
+
* [[#42]](https://github.com/webdriverio-community/wdio-rerun-service/pull/42) Convert to Typescript with dual ESM/CJS output ([@SCG82](https://github.com/SCG82))
|
|
68
|
+
#### :bug: Bug Fix
|
|
69
|
+
* [[#47]](https://github.com/webdriverio-community/wdio-rerun-service/pull/47) Fix rerun script for Windows ([@SCG82](https://github.com/SCG82))
|
|
70
|
+
#### :nail_care: Polish
|
|
71
|
+
* [[#46]](https://github.com/webdriverio-community/wdio-rerun-service/pull/46) improve tests ([@SCG82](https://github.com/SCG82))
|
|
72
|
+
* [[#48]](https://github.com/webdriverio-community/wdio-rerun-service/pull/48) disable if DISABLE_RERUN is true ([@SCG82](https://github.com/SCG82))
|
|
73
|
+
|
|
74
|
+
#### Committers: 1
|
|
75
|
+
- [@SCG82](https://github.com/SCG82)
|
|
76
|
+
|
|
15
77
|
## v1.7.6 (2022-09-13)
|
|
16
78
|
#### :bug: Bug Fix
|
|
17
79
|
* [[#41]](https://github.com/webdriverio-community/wdio-rerun-service/pull/41) Update to work with newer versions of @wdio/cucumber-framework ([@mikesavia](https://github.com/mikesavia))
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ WebdriverIO Re-run Service
|
|
|
8
8
|
|
|
9
9
|
This service tracks failing Mocha or Jasmine tests and Cucumber scenarios executed within the [WebdriverIO](https://webdriver.io) test framework. It will allow failing or unstable tests or scenarios to be re-run.
|
|
10
10
|
|
|
11
|
-
_NOTE_: Users running WebdriverIO
|
|
11
|
+
_NOTE_: Users running WebdriverIO `7.x.x`, use version `1.7.x` version of this service. If you are on the latest major version of `8.x.x`, use the latest `2.x.x` version of this service.
|
|
12
12
|
|
|
13
13
|
## Re-run vs. Retry
|
|
14
14
|
|
|
@@ -54,6 +54,48 @@ export const config = {
|
|
|
54
54
|
|
|
55
55
|
Instructions on how to install `WebdriverIO` can be found [here.](https://webdriver.io/docs/gettingstarted.html)
|
|
56
56
|
|
|
57
|
+
## Usage
|
|
58
|
+
By design, this service does not automatically re-run failed tests.
|
|
59
|
+
|
|
60
|
+
After WebDriver.IO has completed execution, if failures or unstable tests/scenarios are found a file will be at **rerunScriptPath** or by default `./rerun.sh` (see Configuration).
|
|
61
|
+
|
|
62
|
+
### Conditional Re-run
|
|
63
|
+
Every teams re-run needs will differ execution could be based on any number of factors, this is an example of how to accomplish a conditional re-run based on # of failures.
|
|
64
|
+
|
|
65
|
+
##### attemptRerun.sh
|
|
66
|
+
Executes `./rerun.sh` if less than 25 failures have been found in last execution of WebDriver.IO.
|
|
67
|
+
```sh
|
|
68
|
+
#!/usr/bin/env bash
|
|
69
|
+
MAX_TO_RERUN=${MAX_TO_RERUN:=25}
|
|
70
|
+
if [ -f "rerun.sh" ]; then
|
|
71
|
+
echo "[rerun.sh] file exits, checking total failures."
|
|
72
|
+
NUMBER_OF_FAILURES=$(grep "\-\-spec" -o rerun.sh | wc -l | xargs)
|
|
73
|
+
if [ "$MAX_TO_RERUN" -gt "$NUMBER_OF_FAILURES" ]; then
|
|
74
|
+
echo "Re-running $NUMBER_OF_FAILURES failed scenarios!"
|
|
75
|
+
. ./rerun.sh
|
|
76
|
+
else
|
|
77
|
+
echo "Skipping re-run, expected < $MAX_TO_RERUN failures to qualify execution for re-run, got $NUMBER_OF_FAILURES failures."
|
|
78
|
+
fi
|
|
79
|
+
else
|
|
80
|
+
echo "No [rerun.sh] file exits, skipping re-run!"
|
|
81
|
+
fi
|
|
82
|
+
```
|
|
83
|
+
##### Bash Re-run Command
|
|
84
|
+
Execute in shell
|
|
85
|
+
```sh
|
|
86
|
+
. ./attemptRerun.sh
|
|
87
|
+
```
|
|
88
|
+
##### Integrate with NPM
|
|
89
|
+
Add task in `package.json`
|
|
90
|
+
```sh
|
|
91
|
+
"attempt-rerun": ". ./attemptRerun.sh"
|
|
92
|
+
````
|
|
93
|
+
##### NPM Re-run Command
|
|
94
|
+
Execute in shell
|
|
95
|
+
```sh
|
|
96
|
+
npm run attempt-rerun
|
|
97
|
+
```
|
|
98
|
+
|
|
57
99
|
## Configuration
|
|
58
100
|
|
|
59
101
|
The following options may be added to the wdio.conf.js file. To define options for the service you need to add the service to the `services` list in the following way:
|
|
@@ -178,3 +220,4 @@ export const config = {
|
|
|
178
220
|
}
|
|
179
221
|
```
|
|
180
222
|
----
|
|
223
|
+
|
package/build/cjs/index.js
CHANGED
|
@@ -36,7 +36,7 @@ class RerunService {
|
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
const { passed } = results;
|
|
39
|
-
const config = browser.
|
|
39
|
+
const config = browser.options;
|
|
40
40
|
if (passed || config.framework === 'cucumber') {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
@@ -58,16 +58,28 @@ class RerunService {
|
|
|
58
58
|
if (this.disabled) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
const config = browser.
|
|
61
|
+
const config = browser.options;
|
|
62
62
|
const status = world.result?.status;
|
|
63
63
|
if (config.framework !== 'cucumber' ||
|
|
64
64
|
status === 'PASSED' ||
|
|
65
65
|
status === 'SKIPPED') {
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
|
-
const
|
|
68
|
+
const scenario = world.gherkinDocument.feature?.children.filter((child) => child.scenario
|
|
69
69
|
? world.pickle.astNodeIds.includes(child.scenario.id.toString())
|
|
70
|
-
: false)?.[0]?.scenario
|
|
70
|
+
: false)?.[0]?.scenario;
|
|
71
|
+
let scenarioLineNumber = scenario?.location.line ?? 0;
|
|
72
|
+
if (scenario && scenario.examples.length > 0) {
|
|
73
|
+
let exampleLineNumber = 0;
|
|
74
|
+
scenario.examples.find((example) => example.tableBody.find((row) => {
|
|
75
|
+
if (row.id === world.pickle.astNodeIds[1]) {
|
|
76
|
+
exampleLineNumber = row.location.line;
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
}));
|
|
81
|
+
scenarioLineNumber = exampleLineNumber;
|
|
82
|
+
}
|
|
71
83
|
const scenarioLocation = `${world.pickle.uri}:${scenarioLineNumber}`;
|
|
72
84
|
const tagsList = world.pickle.tags.map((tag) => tag.name);
|
|
73
85
|
if (!Array.isArray(this.ignoredTags) ||
|
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AACA,wDAA+B;AAC/B,+CAAsE;AACtE,yCAAgC;AAChC,+CAAkD;AAClD,+BAAmC;AAqBnC,MAAqB,YAAY;IAW7B,YAAY,UAA+B,EAAE;QACzC,MAAM,EACF,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,GACnB,GAAG,OAAO,CAAA;QACX,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,iBAAiB,CAAA;QACrD,IAAI,CAAC,eAAe;YAChB,eAAe,IAAI,CAAC,uBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACxE,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,CAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,kBAAG,CAAC,eAAe,CAAC,KAAK,MAAM,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CACR,aAA4C,EAC5C,KAAe;QAEf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAM;SACT;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9B,oFAAoF;QACpF,MAAM,IAAA,gBAAK,EAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,eAAe,GAAG,IAAA,SAAM,GAAE,CAAA;IACnC,CAAC;IAED,SAAS,CACL,KAAsB,EACtB,QAAa,EACb,OAA8B;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAM;SACT;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export default class RerunService {
|
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
const { passed } = results;
|
|
43
|
-
const config = browser.
|
|
43
|
+
const config = browser.options;
|
|
44
44
|
if (passed || config.framework === 'cucumber') {
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
@@ -62,16 +62,28 @@ export default class RerunService {
|
|
|
62
62
|
if (this.disabled) {
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
|
-
const config = browser.
|
|
65
|
+
const config = browser.options;
|
|
66
66
|
const status = world.result?.status;
|
|
67
67
|
if (config.framework !== 'cucumber' ||
|
|
68
68
|
status === 'PASSED' ||
|
|
69
69
|
status === 'SKIPPED') {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
-
const
|
|
72
|
+
const scenario = world.gherkinDocument.feature?.children.filter((child) => child.scenario
|
|
73
73
|
? world.pickle.astNodeIds.includes(child.scenario.id.toString())
|
|
74
|
-
: false)?.[0]?.scenario
|
|
74
|
+
: false)?.[0]?.scenario;
|
|
75
|
+
let scenarioLineNumber = scenario?.location.line ?? 0;
|
|
76
|
+
if (scenario && scenario.examples.length > 0) {
|
|
77
|
+
let exampleLineNumber = 0;
|
|
78
|
+
scenario.examples.find((example) => example.tableBody.find((row) => {
|
|
79
|
+
if (row.id === world.pickle.astNodeIds[1]) {
|
|
80
|
+
exampleLineNumber = row.location.line;
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
}));
|
|
85
|
+
scenarioLineNumber = exampleLineNumber;
|
|
86
|
+
}
|
|
75
87
|
const scenarioLocation = `${world.pickle.uri}:${scenarioLineNumber}`;
|
|
76
88
|
const tagsList = world.pickle.tags.map((tag) => tag.name);
|
|
77
89
|
if (!Array.isArray(this.ignoredTags) ||
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAqBnC,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,eAAe,CAAkB;IACjC,eAAe,CAAQ;IACvB,WAAW,CAAU;IACrB,YAAY,CAAQ;IACpB,eAAe,CAAQ;IACvB,aAAa,CAAQ;IACrB,gBAAgB,CAAQ;IACxB,QAAQ,CAAQ;IAChB,QAAQ,CAAS;IAEjB,YAAY,UAA+B,EAAE;QACzC,MAAM,EACF,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,GACnB,GAAG,OAAO,CAAA;QACX,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,iBAAiB,CAAA;QACrD,IAAI,CAAC,eAAe;YAChB,eAAe,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACxE,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,CAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,MAAM,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CACR,aAA4C,EAC5C,KAAe;QAEf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAM;SACT;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9B,oFAAoF;QACpF,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,EAAE,CAAA;IACnC,CAAC;IAED,SAAS,CACL,KAAsB,EACtB,QAAa,EACb,OAA8B;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAM;SACT;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wdio-rerun-service",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"description": "A WebdriverIO service to track and prepare for re-running failing or flaky Jasmine/Mocha tests or Cucumber Scenarios.",
|
|
5
|
-
"author": "Mike Salvia <
|
|
5
|
+
"author": "Mike Salvia <mike.salvia@icloud.com>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio-community/wdio-rerun-service",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"publishConfig": {
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@types/uuid": "^9.0.0",
|
|
87
87
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
88
88
|
"@typescript-eslint/parser": "^5.46.1",
|
|
89
|
-
"@wdio/cucumber-framework": "^8.
|
|
90
|
-
"@wdio/globals": "^8.
|
|
89
|
+
"@wdio/cucumber-framework": "^8.13.9",
|
|
90
|
+
"@wdio/globals": "^8.13.10",
|
|
91
91
|
"cross-env": "^7.0.3",
|
|
92
92
|
"eslint": "^8.30.0",
|
|
93
93
|
"eslint-config-prettier": "^8.5.0",
|