Skip to content
Snippets Groups Projects
Unverified Commit 699671bd authored by Chris Willis-Ford's avatar Chris Willis-Ford Committed by GitHub
Browse files

Merge pull request #4841 from cwillisf/test-failure-feedback

add timeouts & messages to all driver.wait calls
parents 7facbf35 796339dc
Branches
Tags 0.1.0-prerelease.20190528164501
No related merge requests found
......@@ -8,6 +8,11 @@ const {By, until, Button} = webdriver;
const USE_HEADLESS = process.env.USE_HEADLESS !== 'no';
// The main reason for this timeout is so that we can control the timeout message and report details;
// if we hit the Jasmine default timeout then we get a terse message that we can't control.
// The Jasmine default timeout is 30 seconds so make sure this is lower.
const DEFAULT_TIMEOUT_MILLISECONDS = 20 * 1000;
class SeleniumHelper {
constructor () {
bindAll(this, [
......@@ -26,8 +31,8 @@ class SeleniumHelper {
]);
}
elementIsVisible (element) {
return this.driver.wait(until.elementIsVisible(element));
elementIsVisible (element, timeoutMessage = 'elementIsVisible timed out') {
return this.driver.wait(until.elementIsVisible(element), DEFAULT_TIMEOUT_MILLISECONDS, timeoutMessage);
}
get scope () {
......@@ -79,8 +84,8 @@ class SeleniumHelper {
return this.driver;
}
findByXpath (xpath) {
return this.driver.wait(until.elementLocated(By.xpath(xpath), 5 * 1000));
findByXpath (xpath, timeoutMessage = `findByXpath timed out for path: ${xpath}`) {
return this.driver.wait(until.elementLocated(By.xpath(xpath)), DEFAULT_TIMEOUT_MILLISECONDS, timeoutMessage);
}
findByText (text, scope) {
......@@ -120,8 +125,8 @@ class SeleniumHelper {
return this.clickXpath(`//button//*[contains(text(), '${text}')]`);
}
waitUntilGone (element) {
return this.driver.wait(until.stalenessOf(element));
waitUntilGone (element, timeoutMessage = 'waitUntilGone timed out') {
return this.driver.wait(until.stalenessOf(element), DEFAULT_TIMEOUT_MILLISECONDS, timeoutMessage);
}
getLogs (whitelist) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment