WireMock Service
wdio-wiremock-service is a 3rd party package, for more information please see GitHub | npm
This service helps you to run WireMock seamlessly when running tests with WebdriverIO. It uses the well known Maven repository to download the WireMock jar for you which is then automatically installed, started and stopped. Stay up to date by joining the community over at Gitter for help and support.
Installation
npm i -D wdio-wiremock-service
Instructions on how to install WebdriverIO
can be found here.
Usage
In the root directory (default ./mock
) you find two subdirectories, __files
and mappings
which are used for your fixtures and mocks.
For more information, checkout WireMock's official documentation.
Configuration
In order to use the service with the wdio testrunner you need to add it to your service array:
// wdio.conf.js
export.config = {
// ...
services: ['wiremock'],
// ...
};
When using webdriverio standalone you need to add the service and trigger the onPrepare
and onComplete
hooks manually. An example can be found here (the example makes use of Jest):
Options
The following options can be added to the service.
port
Port where WireMock should run on.
Type: Number
Default: 8080
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { port: 8181 }]],
// ...
};
rootDir
Path where WireMock will look for files.
Type: String
Default: ./mock
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { rootDir: './mock' }]],
// ...
};
version
Version of WireMock to be downloaded and used.
Type: String
Default: 3.3.1
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { version: '2.25.1' }]],
// ...
};
skipWiremockInstall
Tell the service to skip downloading WireMock.
Type: Boolean
Default: false
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { skipWiremockInstall: true }]],
// ...
};
binPath
Custom path to a local Wiremock binary (often used in combination with skipWiremockInstall).
Type: String
Default: './wiremock-standalone-3.0.0.jar' (relative from service)
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { binPath: './my-custom/example-path/wiremock-standalone-3.0.0.jar' }]],
// ...
};
silent
Silent mode for logging WireMock's output (including additional logging from the service itself).
Type: Boolean
Default: false
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { silent: true }]],
// ...
};
mavenBaseUrl
Base download url for Maven.
Type: String
Default: https://repo1.maven.org/maven2
Example:
// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { mavenBaseUrl: 'https://repo1.maven.org/maven2' }]],
// ...
};
args
List where you can pass all the supported arguments for configuring WireMock
Note: you cannot pass the options (port
, rootDir
, stdio
, mavenBaseUrl
) here as they will be ignored.
Type: Array
Example:
// wdio.conf.js
export const config = {
// ...
services: [
[
'wiremock',
{
args: ['--verbose', '--match-headers'],
},
],
],
// ...
};