当等待条件超时时,我收到了非常无益的消息:
Tests in error:
myTestName(mySuiteName): Timed out after 10 seconds waiting for
com.mycompany.qa.core.SeleniumWebTesting$$anon$1@6818c458
以下是 Scala 代码:
def pageContains(locatorType: String, content: String) {
locatorType match {
case "TagName" =>
val tag = new WebDriverWait(driver, defaultWait).until(
new ExpectedCondition[Boolean] {
// it times out on this line below, but I can't send out any assert failure or useful message
override def apply(driver: WebDriver) = driver.findElement(By.tagName(content)).isDisplayed
}
)
case _ =>
throw new UnsupportedOperationException("No valid locator strategy received (try a valid one, like class name)")
}
}
答案 0 :(得分:3)
您可以使用 withMessage()方法。
WebDriverWait wait = new WebDriverWait(driver, timeout);
wait.withMessage("Your desired Message");
wait.until(new ExpectedConditions(boolean));
答案 1 :(得分:0)
如果您使用scala,我们在http://code.google.com/p/driveby/
取得了巨大成功