WindowsmacOSLinux

Where Does WebdriverIO Store Config and Test Results?

WebdriverIO keeps its config in wdio.conf in the project root, with JUnit output in test-results and failure shots in errorShots by default.

Last updated

WebdriverIO is project local. Everything hangs off the project root: wdio.conf selects reporters, and each reporter writes wherever its outputDir points. The defaults below match a fresh install. Real projects change them, so read the config before trusting a remembered folder.

Two folders do the daily work. Test reporters drop XML and JSON results for CI to parse, while the runner saves screenshots of failed steps beside them. Version 10 adds agent driven sessions and an MCP server, but the on disk layout stays familiar. Logs land in the project logs folder unless configured elsewhere.

Where WebdriverIO stores this, by platform

Windows
<project>\wdio.conf.js

TypeScript projects use wdio.conf.ts instead. Framework presets and reporter outputDir settings live here. This file answers every where question for the project.

Windows
<project>\test-results

JUnit reporter default. Allure uses allure-results beside it. If either folder is missing, the project overrode outputDir in the config.

Windows
<project>\errorShots

Failure screenshots land here by default. The folder only appears after a failing run with screenshots enabled, so its absence means no failures yet, not a broken install.

macOS
<project>/wdio.conf.js

Same project relative layout on macOS and Linux. Only the root prefix changes, so swap the drive letter for a home directory and keep the rest.

Linux
<project>/test-results

Linux CI runners use the identical relative paths. Headless runs under Weston or Xvfb change nothing about where files land.

Frequently asked questions

My WebdriverIO results are not in test-results. Where are they?

Open wdio.conf in the project root and read outputDir for each reporter. JUnit defaults to test-results and Allure to allure-results, but projects override these freely. The config file is the source of truth, not memory.

How do I stop old WebdriverIO reports from piling up?

Delete the configured output folders between runs or set cleanUp in the reporter options. Stale XML from earlier runs otherwise mixes with fresh results and confuses CI parsing.

Did WebdriverIO 10 move any of these folders?

Version 10 keeps the same layout and adds wdio session plus an MCP server for agents. Upgrade notes live in the migration guide. The breaking changes are runtime behavior, not folder locations.

Notice an outdated path? Let us know.