@davedoesdev/wdio-static-server-service v1.2.1
WDIO Static Server Service
Some projects are front-end assets only and don't run on more than a static server. This service helps you to run a static file server during testing.
Installation
The easiest way is to keep wdio-static-server-service as a devDependency in your package.json.
{
"devDependencies": {
"wdio-static-server-service": "^1.0.0"
}
}You can simple do it by:
npm install wdio-static-server-service --save-devInstructions on how to install WebdriverIO can be found here.
Configuration
In order to use the static server service you need to add static-server to your service array:
// wdio.conf.js
export.config = {
// ...
services: ['static-server'],
// ...
};Options
staticServerFolders (required)
Array of folder paths and mount points.
Type: Array<Object>
Props:
- mount
{String}- URL endpoint where folder will be mounted. - path
{String}- Path to the folder to mount.
// wdio.conf.js
export.config = {
// ...
staticServerFolders: [
{ mount: '/fixtures', path: './tests/fixtures' },
{ mount: '/dist', path: './dist' },
],
// ...
};staticServerPort
Port to bind the server.
Type: Number
Default: 4567
staticServerLog
Debugging logs, will print mount points and requests. When staticServerLogs is set to true it will print into the console. Otherwise a string will be treated as the log folder.
Type: Boolean or String
staticServerMiddleware
Array of middleware objects. Load and instatiate these in the config and pass them in for the static server to use.
Type: Array<Object>
Props:
- mount
{String}- URL endpoint where middleware will be mounted. - middleware
<Object>- Middleware function callback
Default: []
// wdio.conf.js
export.config = {
const middleware = require('middleware-package');
// ...
staticServerMiddleware: [{
mount: '/',
middleware: middleware(/* middleware options */),
}],
// ...
};httpsConfig
Object with key and certificate paths.
This setting enables to run https server.
Type: Object<Object>
Props:
- keyPath
{String}- Path to private key in PEM format. - certPath
{String}- Path to cert chains in PEM format.
Default: false
// wdio.conf.js
export.config = {
// ...
httpsConfig: {
keyPath: '~/.keys/key.pem',
certPath: '~/.certs/cert.pem'
},
// ...
};For more information on WebdriverIO see the homepage.