Boilerplate repo for quick set up of WebdriverIO test scripts with TravisCI, Sauce Labs and Visual Regression Testing
- Clone the repo and run
npm install - Add a valid
SAUCE_USERNAMEandSAUCE_ACCESS_KEYto your environment variables to enable that integration. (Settting up Sauce) - Update the 'baseUrl' property in
wdio.conf.jsandwdio.conf.local.js - Create a 'test' folder and place your tests in it
By default, the kit is set up to run tests using the npm test command.
You can also lint your code with npm run lint.
- Login & Registration Tests, with Page Objects
- Mocha
- Chai with
expectglobal - Chai WebdriverIO
- Sauce Labs integration
- Visual Regression Tests
- Local notifications
- ESLint using Semistandard style
- WebdriverIO tuned Gitignore file
Because login and registration pages are ubiquitous on websites, I've included two test files with corresponding page objects.
You'll very likely need to replace the selectors used in the page objects.
You'll also want to update the isLoggedIn and isRegistered functions in the page objects to return the proper response.
Tests and page objects go in the test\ folder, which you'll need to create.
Name tests with a .spec.js extension. For example: mytest.spec.js
Name Page Object files with a .page.js extention. For example: mypageobject.page.js
Visual regression screenshots will be saved to the screenshots folder.
This kit includes a basic .travis.yml file set up to allow easy integration with their service. Simply enable your repo in TravisCI and you'll get it up and running. And be sure to update the badge information at the top of this file.
By setting the 'DEBUG' environment variable to true, the test timeout with be essentially removed, allowing you to run the debug command without your tests timing out.
DEBUG=true npm test
By default, tests will run in Sauce Labs testing your production server.
To run the tests entirely locally, run:
npm test -- wdio.conf.local.js