1. wdio-chromedriver-service
WebdriverIO service to start & stop ChromeDriver
wdio-chromedriver-service
Package: wdio-chromedriver-service
Created by: webdriverio-community
Last modified: Tue, 14 Feb 2023 17:50:24 GMT
Version: 8.1.1
License: MIT
Downloads: 804,210
Repository: https://github.com/webdriverio-community/wdio-chromedriver-service

Install

npm install wdio-chromedriver-service
yarn add wdio-chromedriver-service

WDIO ChromeDriver Service

This service helps you to run ChromeDriver seamlessly when running tests with the WDIO testrunner. It uses the chromedriver NPM package that wraps the ChromeDriver for you.

Note: this service does not require a Selenium server, but uses ChromeDriver to communicate with the browser directly.

Obviously, it only supports:

 capabilities: [{
    browserName: 'chrome'
}]

Installation

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

 {
  "devDependencies": {
    "wdio-chromedriver-service": "^8.0.0"
  }
}

You can simple do it by:

 npm install wdio-chromedriver-service --save-dev

Note: You have to install chromedriver separately, as it's a peerDependency of this project, and you're free to choose what version to use. Depending of which version of Chrome you have installed on your system you should install the same version of chromedriver. Install it using:

 npm install chromedriver --save-dev
# if you have Chrome 104 installed on your machine do
npm install chromedriver@104 --save-dev

Instructions on how to install WebdriverIO can be found here.

Configuration

By design, only Google Chrome is available (when installed on the host system). In order to use the service you need to add chromedriver to your service array:

 // wdio.conf.js
export.config = {
  outputDir: 'all-logs',
  // ...
  services: [
    ['chromedriver', {
        logFileName: 'wdio-chromedriver.log', // default
        outputDir: 'driver-logs', // overwrites the config.outputDir
        args: ['--silent']
    }]
  ],
  // ...
};

Options

port

The port on which the driver should run on

Example: 7676

Type: number

path

The path on which the driver should run on

Example: /

Type: string

protocol

The protocol on which the driver should use

Example: http

Type: string

hostname

The protocol on which the driver should use

Example: localhost

Type: string

pollTimeout

The startup timeout in ms, it checks if the port is open before starting ChromeDriver and then checks again if the it is closed after starting it.

Example: 10000

Type: number

outputDir

The path where the output of the ChromeDriver server should be stored (uses the config.outputDir by default when not set).

Example: driver-logs

Type: string

logFileName

The name of the log file to be written in outputDir.

Example: wdio-chromedriver.log

Type: string

chromedriverCustomPath

To use a custome chromedriver different than the one installed through "chromedriver npm module", provide the path.

Example: /path/to/chromedriver (Linux / MacOS), ./chromedriver.exe or d:/driver/chromedriver.exe (Windows)

Type: string


For more information on WebdriverIO see the homepage.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code