Skip to content

webdriverio-community/wdio-next-service

Repository files navigation

WebdriverIO loves Next.js

WDIO Next.js Service Tests

This service helps you to launch your application when using Next.js. It is a tiny wrapper around the next dev command that automatically starts the Next.js dev-server using your next.conf.js before launching the test.

Installation

If you are getting started with WebdriverIO you can use the configuration wizard to set everything up:

npm init wdio@latest .

It will detect your project as a Next.js project and will install all necessary plugins for you. If you are adding this service to an existing setup, you can always install it via:

npm install wdio-next-service --save-dev

Configuration

To enable the service, just add it to your services list in your wdio.conf.js file, e.g.:

// wdio.conf.js
export const config = {
    // ...
    services: ['next'],
    // ...
};

You can apply a service option by passing in an array with a config object, e.g.:

// wdio.conf.js
export const config = {
    // ...
    services: [
        ['next', {
            rootDir: './packages/next-app'
        }]
    ],
    // ...
};

If you need custom Next.js configurations for your WebdriverIO tests you can use the WDIO_NEXT_SERVICE environment variable to modify your Next.js setup, e.g.:

/** @type {import('next').NextConfig} */
const nextConfig = {};

if (process.env.WDIO_NEXT_SERVICE) {
    // add custom Next.js configuration for testing here
    // ...
}

export default nextConfig;

Usage

If your config is set up accordingly, the service will set the baseUrl option to point to your application. You can navigate to it via the url command, e.g.:

await browser.url('/')
await expect(browser).toHaveTitle('Create Next App')
await expect($('aria/Create Next App')).toBePresent()

Options

rootDir

Root directory of the project.

Type: string
Default: process.cwd()

hostname

Hostname to start the server on.

Type: string
Default: localhost

port

Port to start the server on.

Type: number
Default: process.env.NUXT_PORT || config.devServer.port

turbopack

Whether to use the new turbopack incremental bundler. Requires NextJS 15 and above.

Type: boolean
Default: false


For more information on WebdriverIO see the homepage.

About

This service helps you to launch your application when using Next.js.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •