Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »


0.0.3 • Public • Published

WDIO JUnit Reporter

A WebdriverIO plugin. Report results in junit xml format.

WDIO JUnit Reporter


The easiest way is to keep wdio-junit-reporter as a devDependency in your package.json.

  "devDependencies": {
    "wdio-junit-reporter": "~0.0.1"

You can simple do it by:

npm install wdio-junit-reporter --save-dev

Instructions on how to install WebdriverIO can be found here.


Following code shows the default wdio test runner configuration. Just add 'junit' as reporter to the array. To get some output during the test you can run the WDIO Dot Reporter and the WDIO JUnit Reporter at the same time:

// wdio.conf.js
module.exports = {
  // ...
  reporters: ['dot', 'junit'],
  reporterOptions: {
    outputDir: './',
    outputFileFormat: function(opts) { // optional
        return `results-${opts.cid}.${opts.capabilities}.xml`
  // ...

You can break out packages by an additional level by setting 'packageName' in the config. For example, if you wanted to iterate over a test suite with different environment variable set:

  // ...
  reporters: ['dot', 'junit'],
  reporterOptions: {
    showDiff: true,
    outputDir: './',
    packageName: process.env.USER_ROLE // chrome.41 - administrator
  // ...

Last but not least you nead to tell your CI job (e.g. Jenkins) where it can find the xml file. To do that add a post-build action to your job that gets executed after the test has run and point Jenkins (or your desired CI system) to your XML test results:

Point Jenkins to XML files

If there is no such post-build step in your CI system there is probably a plugin for that somewhere on the internet.

For more information on WebdriverIO see the homepage.


npm i wdio-junit-file-reporter

DownloadsWeekly Downloads






Last publish


  • avatar