Note: webdriverjs-angular isn't yet compatible with WebdriverIO v3.x
. We are currently working on it to make that happen soon. So stay tuned.
webdriverjs-angular
Functional test you angularjs application without having to .pause()
or .wait()
.
Based on WebdriverIO, you access
the same API commands but you never have to .pause()
between actions.
Usage
var webdriverjsAngular = require('webdriverjs-angular');
var options = {
desiredCapabilities: {
browserName: 'chrome'
},
ngRoot: 'body' // main application selector
};
webdriverjsAngular
.remote(options)
.init()
.url('http://www.google.com')
.title(function(err, res) {
console.log('Title was: ' + res.value);
})
.end();
For more options, usage and API details, see WebdriverIO.
Why another webdriverjs lib?
-
webdriverjs-angular is based on an existing lib, it's extending WebdriverIO.
-
webdriverjs-angular is designed to work well with angularJS applications. AngularJS applications have a specific behavior that needs to be taken care of to provide easy e2e testing.
How
webdriverjs-angular
automatically waits for angularjs to be ready.
So you just have to worry about what you want to do in your tests, not when to do it.
angular/protractor?
Why not useUnlike angular/protractor or sebv/wd-tractor, we do not enhance WebdriverIO API with angularJS-related command.
You will not find any elementByNgBinding
, addMockModule
,
hasElementByNgRepeaterRow
or any other specific, angularJS-related methods.
We think your functionnal tests should be as framework-agnostic as possible.
If you need elementByNgBinding
, just use regular
WebdriverIO
commands like .element('[ng-binding=model]')
.
Local testing
See test/spec.
# you need multiple terminal window
# start a standalone selenium server
npm install selenium-standalone phantomjs -g
start-selenium
# start web server
node test/app/scripts/web-server.js
# launch tests
BROWSER=phantomjs npm test