Merge pull request #4841 from cwillisf/test-failure-feedback
add timeouts & messages to all driver.wait calls
This commit is contained in:
1 file changed
+11
-6
@@ -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) {
|
||||
|
||||
Reference in new issue
Block a user