@wdio/allure-reporter 8.29.1 → 8.29.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/README.md +3 -3
- package/build/reporter.d.ts +3 -2
- package/build/reporter.d.ts.map +1 -1
- package/build/reporter.js +14 -21
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
WDIO Allure Reporter
|
|
2
2
|
====================
|
|
3
3
|
|
|
4
|
-
> A WebdriverIO reporter plugin to create [Allure Test Reports](https://
|
|
4
|
+
> A WebdriverIO reporter plugin to create [Allure Test Reports](https://allurereport.org/docs/webdriverio/).
|
|
5
5
|
|
|
6
6
|

|
|
7
7
|
|
|
@@ -165,7 +165,7 @@ Feature: Test user role
|
|
|
165
165
|
|
|
166
166
|
## Displaying the report
|
|
167
167
|
|
|
168
|
-
The results can be consumed by any of the [reporting tools](https://
|
|
168
|
+
The results can be consumed by any of the [reporting tools](https://allurereport.org/) offered by Allure. For example:
|
|
169
169
|
|
|
170
170
|
### Command-line
|
|
171
171
|
|
|
@@ -219,7 +219,7 @@ export const config = {
|
|
|
219
219
|
|
|
220
220
|
### Jenkins
|
|
221
221
|
|
|
222
|
-
Install and configure the [Allure Jenkins plugin](https://
|
|
222
|
+
Install and configure the [Allure Jenkins plugin](https://allurereport.org/docs/integrations-jenkins/)
|
|
223
223
|
|
|
224
224
|
## Add Screenshots
|
|
225
225
|
|
package/build/reporter.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import type { SuiteStats, HookStats, RunnerStats, TestStats, BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
|
|
3
3
|
import WDIOReporter from '@wdio/reporter';
|
|
4
4
|
import type { MetadataMessage, AllureStep } from 'allure-js-commons';
|
|
5
|
-
import { AllureGroup, AllureTest, Status as AllureStatus, ContentType } from 'allure-js-commons';
|
|
5
|
+
import { AllureGroup, AllureTest, Status as AllureStatus, Stage, ContentType } from 'allure-js-commons';
|
|
6
6
|
import { addFeature, addLink, addOwner, addEpic, addSuite, addSubSuite, addParentSuite, addTag, addLabel, addSeverity, addIssue, addTestId, addStory, addAllureId, addDescription, addAttachment, startStep, endStep, addStep, addArgument, step } from './common/api.js';
|
|
7
7
|
import { AllureReporterState } from './state.js';
|
|
8
8
|
import type { AddAttachmentEventArgs, AddDescriptionEventArgs, AddFeatureEventArgs, AddIssueEventArgs, AddLabelEventArgs, AddSeverityEventArgs, AddEpicEventArgs, AddOwnerEventArgs, AddParentSuiteEventArgs, AddSubSuiteEventArgs, AddLinkEventArgs, AddAllureIdEventArgs, AddSuiteEventArgs, AddTagEventArgs, AddStoryEventArgs, AddTestIdEventArgs, AllureReporterOptions } from './types.js';
|
|
@@ -25,7 +25,7 @@ export default class AllureReporter extends WDIOReporter {
|
|
|
25
25
|
_endSuite(): void;
|
|
26
26
|
_startTest(testTitle: string, cid?: string): void;
|
|
27
27
|
_skipTest(): void;
|
|
28
|
-
_endTest(status: AllureStatus, error?: Error): void;
|
|
28
|
+
_endTest(status: AllureStatus, error?: Error, stage?: Stage): void;
|
|
29
29
|
_startStep(testTitle: string): void;
|
|
30
30
|
setTestParameters(cid?: string): void;
|
|
31
31
|
registerListeners(): void;
|
|
@@ -34,6 +34,7 @@ export default class AllureReporter extends WDIOReporter {
|
|
|
34
34
|
onSuiteEnd(suite: SuiteStats): void;
|
|
35
35
|
onTestStart(test: TestStats | HookStats): void;
|
|
36
36
|
onTestPass(): void;
|
|
37
|
+
onTestRetry(test: TestStats): void;
|
|
37
38
|
onTestFail(test: TestStats | HookStats): void;
|
|
38
39
|
onTestSkip(test: TestStats): void;
|
|
39
40
|
onBeforeCommand(command: BeforeCommandArgs): void;
|
package/build/reporter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EACR,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAChE,gBAAgB,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,EAAS,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EACY,WAAW,EAAE,UAAU,EAAE,MAAM,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
|
package/build/reporter.js
CHANGED
|
@@ -81,6 +81,9 @@ export default class AllureReporter extends WDIOReporter {
|
|
|
81
81
|
}
|
|
82
82
|
while (this._state.currentAllureTestOrStep) {
|
|
83
83
|
const currentTest = this._state.pop();
|
|
84
|
+
const isAnyStepFailed = currentTest.wrappedItem.steps.some((step) => step.status === AllureStatus.FAILED);
|
|
85
|
+
currentTest.stage = Stage.FINISHED;
|
|
86
|
+
currentTest.status = isAnyStepFailed ? AllureStatus.FAILED : AllureStatus.PASSED;
|
|
84
87
|
if (currentTest instanceof AllureTest) {
|
|
85
88
|
setAllureIds(currentTest, this._state.currentSuite);
|
|
86
89
|
currentTest.endTest();
|
|
@@ -113,12 +116,12 @@ export default class AllureReporter extends WDIOReporter {
|
|
|
113
116
|
currentTest.endStep();
|
|
114
117
|
}
|
|
115
118
|
}
|
|
116
|
-
_endTest(status, error) {
|
|
119
|
+
_endTest(status, error, stage) {
|
|
117
120
|
if (!this._state.currentAllureTestOrStep) {
|
|
118
121
|
return;
|
|
119
122
|
}
|
|
120
123
|
const currentSpec = this._state.pop();
|
|
121
|
-
currentSpec.stage = Stage.FINISHED;
|
|
124
|
+
currentSpec.stage = stage ?? Stage.FINISHED;
|
|
122
125
|
currentSpec.status = status;
|
|
123
126
|
if (error) {
|
|
124
127
|
currentSpec.detailsMessage = error.message;
|
|
@@ -256,36 +259,21 @@ export default class AllureReporter extends WDIOReporter {
|
|
|
256
259
|
// A scenario is it skipped if every steps are skipped and hooks are passed or skipped
|
|
257
260
|
const isSkipped = suite.tests.every(item => [AllureStatus.SKIPPED].includes(item.state)) && suite.hooks.every(item => [AllureStatus.PASSED, AllureStatus.SKIPPED].includes(item.state));
|
|
258
261
|
if (isSkipped) {
|
|
259
|
-
|
|
260
|
-
currentTest.status = AllureStatus.SKIPPED;
|
|
261
|
-
currentTest.stage = Stage.PENDING;
|
|
262
|
-
setAllureIds(currentTest, this._state.currentSuite);
|
|
263
|
-
currentTest.endTest();
|
|
262
|
+
this._endTest(AllureStatus.SKIPPED, undefined, Stage.PENDING);
|
|
264
263
|
return;
|
|
265
264
|
}
|
|
266
265
|
const isFailed = suiteChildren.find(item => item.state === AllureStatus.FAILED);
|
|
267
266
|
if (isFailed) {
|
|
268
|
-
const
|
|
269
|
-
currentTest.status = getTestStatus(isFailed);
|
|
270
|
-
currentTest.stage = Stage.FINISHED;
|
|
267
|
+
const testStatus = getTestStatus(isFailed);
|
|
271
268
|
const error = getErrorFromFailedTest(isFailed);
|
|
272
|
-
|
|
273
|
-
currentTest.detailsMessage = error.message;
|
|
274
|
-
currentTest.detailsTrace = error.stack;
|
|
275
|
-
}
|
|
276
|
-
setAllureIds(currentTest, this._state.currentSuite);
|
|
277
|
-
currentTest.endTest();
|
|
269
|
+
this._endTest(testStatus, error);
|
|
278
270
|
return;
|
|
279
271
|
}
|
|
280
272
|
const isPassed = suiteChildren.every(item => item.state === AllureStatus.PASSED);
|
|
281
273
|
// A scenario is it passed if certain steps are passed and all other are skipped and every hooks are passed or skipped
|
|
282
274
|
const isPartiallySkipped = suiteChildren.every(item => [AllureStatus.PASSED, AllureStatus.SKIPPED].includes(item.state));
|
|
283
275
|
if (isPassed || isPartiallySkipped) {
|
|
284
|
-
|
|
285
|
-
currentTest.status = AllureStatus.PASSED;
|
|
286
|
-
currentTest.stage = Stage.FINISHED;
|
|
287
|
-
setAllureIds(currentTest, this._state.currentSuite);
|
|
288
|
-
currentTest.endTest();
|
|
276
|
+
this._endTest(AllureStatus.PASSED);
|
|
289
277
|
return;
|
|
290
278
|
}
|
|
291
279
|
// Only close passing and skipped tests because
|
|
@@ -313,6 +301,11 @@ export default class AllureReporter extends WDIOReporter {
|
|
|
313
301
|
this.attachLogs();
|
|
314
302
|
this._endTest(AllureStatus.PASSED);
|
|
315
303
|
}
|
|
304
|
+
onTestRetry(test) {
|
|
305
|
+
this.attachLogs();
|
|
306
|
+
const status = getTestStatus(test, this._config);
|
|
307
|
+
this._endTest(status, getErrorFromFailedTest(test));
|
|
308
|
+
}
|
|
316
309
|
onTestFail(test) {
|
|
317
310
|
const { useCucumberStepReporter } = this._options;
|
|
318
311
|
if (useCucumberStepReporter) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/allure-reporter",
|
|
3
|
-
"version": "8.29.
|
|
3
|
+
"version": "8.29.3",
|
|
4
4
|
"description": "A WebdriverIO reporter plugin to create Allure Test Reports",
|
|
5
5
|
"author": "Boris Osipov <osipov.boris@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-allure-reporter",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "4c6433be548950dc6ccf0efff77507dfa2f0b321"
|
|
53
53
|
}
|