Sample UI Automation using WebdriverJS, Mocha ChaiJS and Allure reporting framework.
Installation
Pre-requisites to run this on your system:
Node.js (install from nodejs.org)
npm (comes with nodejs)
selenium webdriver( $ npm install selenium-webdriver --save )
mocha ( $ npm install mocha --save )
chai ( $ npm install chai --save )
allure reporting ( $ npm install mocha-allure-reporter --save )
Clone repository on your system and do changes as per your requirements.
After that you can fire command in terminal:
$ npm test
This will execute your tests sequentially:
-first mvn clean will clean all required directory so tha for each run fresh reports get generated
-mocha ./tests/login.js --no-timeouts -R mocha-allure-reporter will run your tests with not timeout boundation and generate
allure-results directory after execution completes
-mvn site with generate allure report in target/site/maven-allure-plugin/index.html with all your failed/passed screenshots.
Benefits of using --no-timeouts: for mocha default timeout is 2 seconds, so whether your tests take more than 2 sec time
if you don't set this option, your test will only execute for 2 seconds and this will cause of failing of your test unexpectedly. So its a good option to try.
Package.json: This is actually works like pom in maven, you mention all dependencies and configuration in it, also you can use this to run your test by one command: npm test as I have used, using 'scripts' option:
"scripts": {
"test": "mvn clean ; mocha ./tests/Login.js --no-timeouts -R mocha-allure-reporter ; mvn site"
},
You can view report by opening this index.html in firefor or using jetty server in chrome.
Sample report screenshots: