Module selenium-webdriver/testing
code »Provides wrappers around the following global functions from Mocha's BDD interface:
- after
- afterEach
- before
- beforeEach
- it
- it.only
- it.skip
- xit
The provided wrappers leverage the webdriver.promise.ControlFlow to simplify writing asynchronous tests:
var webdriver = require('selenium-webdriver'),
remote = require('selenium-webdriver/remote'),
test = require('selenium-webdriver/testing');
test.describe('Google Search', function() {
var driver, server;
test.before(function() {
server = new remote.SeleniumServer({
jar: 'path/to/selenium-server-standalone.jar'
});
server.start();
driver = new webdriver.Builder().
withCapabilities({'browserName': 'firefox'}).
usingServer(server.address()).
build();
});
test.after(function() {
driver.quit();
server.stop();
});
test.it('should append query to title', function() {
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return 'webdriver - Google Search' === title;
});
}, 1000, 'Waiting for title to update');
});
});
You may conditionally suppress a test function using the exported "ignore" function. If the provided predicate returns true, the attached test case will be skipped:
test.ignore(maybe()).it('is flaky', function() {
if (Math.random() < 0.5) throw Error();
});
function maybe() { return Math.random() < 0.5; }
Show:
Functions
code »beforeEach ( fn )Register a function to call before each test in a suite.
Parameters |
---|
|
Ignores the test chained to this function if the provided predicate returns
true.
Parameters |
---|
|
Returns |
#it() and
#describe() that ignore tests as indicated by the predicate. |