WebdriverIO

Testver for WebdriverIO

Your wdio config, your services, your specs — with AI doing the writing and repairing.

WebdriverIO is flexible enough to run almost anything, which also means every project’s setup is a little different: its own services, reporters, and locator conventions.

Testver adapts to yours instead of replacing it. Specs stay in your repo and run through your existing wdio configuration.

WebdriverIO v8+Mocha & JasminePage objectsAppiumCloud grids

Languages supported for WebdriverIO: TypeScript · JavaScript

Today

What a WebdriverIO suite costs to keep

  • A large configuration surfaceServices, reporters and capabilities take real effort to keep coherent as the suite grows.
  • Locator driftSelectors spread across specs and page objects break together when the UI moves.
  • Cross-suite visibilityKnowing what actually ran, and what has been failing all week, needs tooling around the runner.
With Testver

The same suite, maintained for you

  • Specs in your existing conventions

    Generated tests use your page objects and selector style, and run through your wdio config unchanged.

  • Auto-Heal across specs

    One broken selector affecting several specs is fixed once, verified by re-running each of them.

  • Cloud grids without rewiring

    Run on BrowserStack, LambdaTest or Sauce Labs with results collected centrally.

  • Mobile with the same workflow

    Appium-based Android and iOS testing sits in the same UI as your web suite.

  • Reports, schedules, CI gates

    The operational layer around the runner, included rather than assembled.

What lands in your repository

Standard WebdriverIO — no Testver runtime in your project. Delete Testver tomorrow and this test still runs — there is no Testver runtime, adapter or import inside your project.

TypeScript
it('applies the promo code', async () => {
  await browser.url('/cart');
  await $('[data-testid="promo-input"]').setValue('SAVE20');
  await $('button=Apply').click();

  await expect($('[data-testid="order-total"]')).toHaveText('$79.20');
});
Quickstart

Point Testver at your WebdriverIO project

It detects the framework, language and structure on its own. No migration, no config file to write, no change to how you run tests.

1

Install it

One global npm package. Node 18 or newer is the only prerequisite.

terminal
npm install -g @testver/testver
2

Go to your test project

Testver runs from inside the framework project you want to test, so change into that folder first.

terminal
cd path/to/your-test-project
3

Start the dashboard

Opens at localhost:3700. Testver detects the framework, language and structure of the project you started it in and lists your tests — no configuration to write.

terminal
testver serve

Typically under five minutes, start to first generated test.

Full installation guide — prerequisites, ports, running as a service

WebdriverIO questions, answered

Do I need to change my wdio config?
No. Generated specs run through your existing configuration, services and reporters exactly as your handwritten ones do.
Does it cover mobile as well as web?
Yes. Appium-based Android and iOS testing sits in the same workspace, sharing scheduling, history and CI gating with your web suite.
How are broken selectors repaired across specs?
One drifting selector affecting several specs is fixed once, then every affected spec is re-run to prove the fix before it is kept.

More in the full FAQ or the documentation.

Running more than one framework?

One Testver instance handles all of them — different projects can use different frameworks, languages and AI models.

See the full feature set, the comparison with other approaches, or try a live demo repo.

Ready to upgrade your test suite?

Keep your framework. Add AI and a premium toolset.

Set up in minutes. Self-host on your own hardware. Describe a test in plain English and get working code in your own framework — in a fraction of the time.