webdriverio-addons
Introduction
Webdriver.io is a powerfull javascript framework for NodeJS platform, based on Selenium architecture.
Webdriver.io is open and allow a lot of differente usage
In this project, we try to encapsulate and extend Webdriver.io base functions
The following choice have been done :
- tests use the
sync
mode - use
mocha
as test runner - use
allure
reporting with addons ( see wdio-allure-addons-reporter )
Enhancement
Configration bootstrap
Webdriverio-addons come with a default working configuration that you can extends for your project config
var defaultConfig = defaultConfig; moduleexports = defaultConfig maxInstances: 1 // Level of logging verbosity: silent | verbose | command | data | result | error logLevel: 'silent' baseUrl: 'http://www.google.com' host: 'localhost' port: 4444 specs: './src/specs/mySpec.js' capabilities: maxInstances: 1 browserName: 'chrome' // start selenium standalone automaticly services: 'selenium-standalone' ;
Suite & Testcase Meta
var WAT = common;// testsuiteWAT;
Browser addons commands
- openFullscreen
- openScreen
- startStep
- testInfo
- info
- error
- warning
- attachFile
- attachPng
- showMessage
- documentScreenshot
Step API
Allow developer to write its test with hierarchical logging context
{ // go to open homepage fullscreen browser ; // assert title value browser ; }
Details
- startStep
- testInfo
- info
- error
- warning
- attachPng
- attachFile
- openFullscreen
- openScreen
- showMessage
- ok, passed
- ko, failed
- broken
- cancel
- error
- assertEqual
- assertVisible
- assertVisual
- url
- submitForm
- setValue
- click
- scroll
- selectByValue
- fullscreen
- takeFullScreenshot
- wait
Screenshot tools & Visual integration test
var tools = tools;
Allow tester to get a fullscreen screenshot even if the underlying WebDriver only returns a viewport screenshot ( like Chrome )
- takeFullScreenshot
Like webdriver-css plugin, but working with webdriver.io v4
- takeElementScreenshot
- assertVisual
Splash screen
- before test meta data
- after test with results
Create project
The Webdriverio-addons npm module will get all dependencies you need to make test running on you computer
Requirements
$ apt-get install git...$ git --versiongit version 1.9.1
$ apt-get install nodejs-legacy npm...$ nodejs --versionv0.10.25$ npm --version1.3.10
$ apt-get install default-jre...$ java -versionOpenJDK Runtime Environment OpenJDK 64-Bit Server VM
$ apt-get install graphicsmagick...$ gmGraphicsMagick 1.3.18 2013-03-10 Q8 http://www.GraphicsMagick.org/Copyright 2002-2013 GraphicsMagick Group.Additional copyrights and licenses apply to this software.See http://www.GraphicsMagick.org/www/Copyright.html
Dependencies
- webdriverio
- mocha
- selenium-standalone
- allure-cli
- graphicsmagics
- wdio-allure-reporter
- wdio-allure-addons-reporter
- wdio-dot-reporter
- wdio-json-reporter
- wdio-junit-reporter
- wdio-mocha-framework
- wdio-selenium-standalone-service
- wdio-spec-reporter
Start new NPM project
# create new NodeJS project $ mkdir myProject$ cd myProject$ npm init$ npm install --save
wdio
configuration
Create your Create your first spec
Cleanup
# cleanup working folders rm -f -R ./allure-resultsrm -f -R ./screenshotsrm -f -R ./outputDirrm -f -R ./errorShotsrm -f -R ./allure-report
Run tests
./node_modules/.bin/wdio myConf.wdio.js
Generate Allure report
# generates allure report ( angularjs webapp ) ./node_modules/.bin/allure generate ./allure-results -o ./allure-report # start a webServer and open browser to see report ./node_modules/.bin/allure report open -o ./allure-report