Skip to content

[🐛 Bug]: Error: Couldn't find plugin "dot" reporter #14088

@Krinkle

Description

@Krinkle

Have you read the Contributing Guidelines on issues?

WebdriverIO Version

9.5.7

Node.js Version

v20.12.2

Mode

WDIO Testrunner

What happened?

[0-0] 2025-01-19T23:59:43.272Z ERROR @wdio/local-runner: Failed launching test session: Error: Couldn't find plugin "dot" reporter, neither as wdio scoped package "@wdio/dot-reporter" nor as community package "wdio-dot-reporter". Please make sure you have it installed!

What is your expected behavior?

To work by default with only a dependency on @wdio/cli. Or for the first-party examples and docs to state what the new default is, or that there is none.

How to reproduce the bug.

In my case, I got it from https://webdriver.io/docs/gettingstarted:

  1. npm init wdio@latest
  2. select "spec" during wizard.
  3. review the generated config file, find it saying "dot" is supported by default.
  4. nice, change to "dot" and remove @wdio/spec-reporter dependency from package.json.
  5. We the above error. Not nice.

I confirmed it also via https://webdriver.io/docs/configurationfile and the information is fairly widespread, e.g. 101 results in code search within this org, for The only one supported by default is 'dot'.

https://github.com/search?q=org%3Awebdriverio+The+only+one+supported+by+default+is&type=code.

In the end, to reproduce the issue we have this package.json:

{
  "name": "foo",
  "type": "module",
  "devDependencies": {
    "@wdio/cli": "^9.5.7",
    "@wdio/local-runner": "^9.5.7"
  },
  "scripts": {
    "wdio": "wdio run ./wdio.conf.js"
  }
}

And this wdio.conf.js file:

export const config = {
    runner: 'local',
    specs: [
        './test/specs/**/*.js'
    ],
    maxInstances: 10,
    capabilities: [{
        browserName: 'chrome'
    }],
    logLevel: 'info',

    // Test reporter for stdout.
    // The only one supported by default is 'dot'
    // see also: https://webdriver.io/docs/dot-reporter
    reporters: ['dot']
}

And the unchanged auto-generated example spec at test/specs/test.e2e.js:

import { expect, browser, $ } from '@wdio/globals'

describe('My Login application', () => {
    it('should login with valid credentials', async () => {
        await browser.url(`https://the-internet.herokuapp.com/login`)

        await $('#username').setValue('tomsmith')
        await $('#password').setValue('SuperSecretPassword!')
        await $('button[type="submit"]').click()

        await expect($('#flash')).toBeExisting()
        await expect($('#flash')).toHaveText(
            expect.stringContaining('You logged into a secure area!'))
    })
})

Then this command fails with the given error.

wdio run ./wdio.conf.js

Relevant log output

Execution of 1 workers started at 2025-01-20T05:41:02.965Z

2025-01-20T05:41:02.979Z INFO @wdio/cli:launcher: Run onPrepare hook
2025-01-20T05:41:02.981Z INFO @wdio/utils: Setting up browser driver for: chrome@stable
2025-01-20T05:41:02.986Z INFO @wdio/utils: Setting up browser binaries for: chrome@stable
2025-01-20T05:41:03.154Z INFO webdriver: Downloading Chromedriver v132.0.6834.83
2025-01-20T05:41:03.288Z INFO webdriver: Setting up chrome v132.0.6834.83
2025-01-20T05:41:04.698Z INFO webdriver: Download of Chromedriver v132.0.6834.83 was successful
2025-01-20T05:41:28.114Z INFO @wdio/cli:launcher: Run onWorkerStart hook
2025-01-20T05:41:28.115Z INFO @wdio/local-runner: Start worker 0-0 with arg: run ./wdio.conf.js
[0-0] 2025-01-20T05:41:29.656Z INFO @wdio/local-runner: Run worker command: run
[0-0] 2025-01-20T05:41:29.701Z ERROR @wdio/local-runner: Failed launching test session: Error: Couldn't find plugin "dot" reporter, neither as wdio scoped package "@wdio/dot-reporter" nor as community package "wdio-dot-reporter". Please make sure you have it installed!
[0-0]     at initializePlugin (/Temp/foo/node_modules/@wdio/utils/build/index.js:479:9)
[0-0]     at async BaseReporter._loadReporter (file:///Temp/foo/node_modules/@wdio/runner/build/index.js:606:24)
[0-0]     at async Promise.all (index 0)
[0-0]     at async BaseReporter.initReporters (file:///Temp/foo/node_modules/@wdio/runner/build/index.js:480:23)
[0-0]     at async Runner.run (file:///Temp/foo/node_modules/@wdio/runner/build/index.js:684:5)
[0-0] FAILED

Code of Conduct

  • I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • I have searched the existing issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bug 🐛help wantedIssues that are free to take by anyone interested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions