Json Reporter
Installation
npm install @wdio/json-reporter --save-dev
Configuration
Results to stdout
reporters: [
'dot',
['json', { stdout: true }]
],
Results to File
reporters: [
'dot',
['json',{
outputDir: './results'
}]
],
Results to File with custom file name
reporters: [
'dot',
['json',{
outputDir: './results',
outputFileFormat: (opts) => {
return `results-${opts.cid}.${opts.capabilities.browserName}.json`
}
}]
],
Result Files
With WDIO v5 upwards, reporting has moved from a centralized process to one that is handled by each of the "sessions" spun up for parallel test execution. This change helped reduce the amount of chatter during WDIO test execution and thus improved performance. The downside is it is no longer possible to get a single report for all test execution.
@wdio/json-reporter
provides a utility function to merge the multiple json files into a single file. Follow the steps below to take advantage of the utility.
You can execute this in the onComplete
of your wdio.conf.js
:
// wdio.conf.js
import mergeResults from '@wdio/json-reporter/mergeResults'
export const config = {
// ...
onComplete: function (exitCode, config, capabilities, results) {
mergeResults('./results', 'wdio-.*-json-reporter.json', 'wdio-custom-filename.json')
}
// ...
}
Note: wdio-custom-filename.json
is optional, is the parameter is not provided the default value is wdio-merged.json
.
Contribution
The source code of this reporter was highly inspired by the wdio-json-reporter
community reporter by Jim Davis. Thanks for all the work maintaining the project!
For more information on WebdriverIO see the homepage.