WDIO Perfecto Labs Service
A WebdriverIO service that provides execution on real mobile devices & desktop browsers with the Perfecto Lab, and DigitalZoom Reports.
This service supports these versions of WDIO and Cucumber:
"cucumber": "3.0.0",
"wdio-cucumber-framework": "0.3.1",
"webdriverio": "^4.14.1"
Installation
The easiest way is to keep wdio-perfecto-service
as a devDependency in your package.json
.
You can simple do it by:
npm install wdio-perfecto-service --save-dev
Instructions on how to install WebdriverIO
can be found here.
Configuration
In order to use the service you need to set user
and securityToken
in your wdio.conf.js
file. It will automatically
use Perfecto Lab to run your integration tests.
To obtain your security token - click here
// wdio.conf.js;
Config Options
securityToken
Your securityToken
Type: String
perfectoOpts
Add tags & custom fields to optimize the reports - enables filtering and analysis options. See here for info on the concept. The syntax required is below.
// wdio.conf.js } // ...};
executionTags
executionTags
Type: Array
customFields
customFields
Type: Array
of CustomField object
Type: Boolean
default false
Commands
The below commands have been modified to work with the Perfecto platform. The complete list of Perfecto commands, proprietary extensions to Selenium/Appium see here
waitUntil
Command
Override WDIO waitUntil
command. It will make sure that the command is properly synchronous. For original command use browser._waitUntil
waitForVisible
Command
Override WDIO waitForVisible
command. Takes the first element that matches the selector and wait for it to be visible. For original command use browser._waitForVisible
waitForEnabled
Command
Override WDIO waitForEnabled
command. Takes the first element that matches the selector and wait for it to be enabled. For original command use browser._waitForEnabled
waitForSelected
Command
Override WDIO waitForSelected
command. Takes the first element that matches the selector and wait for it to be selected. For original command use browser._waitForSelected
waitForText
Command
Override WDIO waitForText
command. Takes the first element that matches the selector and wait for it to be text. For original command use browser._waitForText
waitForValue
Command
Override WDIO waitForValue
command. Takes the first element that matches the selector and wait for it to be selected. For original command use browser._waitForValue
setValueImmediate
Command
Sends the entire string in one event to optimize performance and reliability.
Usage
browser.setValueImmediate(selector, value)
Development
Watch changes:
$ npm run watch
Run tests (there are non yet, please help to get unit test - see here):
$ npm test
Build package:
$ npm build
For more information on WebdriverIO see the homepage.