私はこのようなユーティリティメソッドを持っています:
public void verifyTitle(int secsToWait) {
new WebDriverWait(driver, secsToWait)
.until(ExpectedConditions.titleIs(title));
}
失敗した場合のメッセージは次のとおりです。
org.openqa.selenium.TimeoutException
タイトルが表示されるのを待って2秒後にタイムアウトになりました:ここにいくつかのタイトルビルド情報:バージョン: '2.2.1'、リビジョン: '16551'、時間: '2012-04-11 21:42:35'システム情報:os。名前:'Linux'、os.arch:'i386'、os.version: '3.0.0-16-generic'、java.version: '1.7.0_04'ドライバー情報:driver.version:不明
より良いエラーメッセージを表示するためのAPIが見つかりません。私が欲しいのは:
タイトルが表示されるのを待ってから2秒後にタイムアウトになりました:ここにいくつかのタイトルがあります(ただし、タイトルは次のとおりです:他のタイトル)
以下に示すようにtry/catchでそれを行うことができますが、他のオプションがあるかもしれませんか?
public void verifyTitle(int secsToWait) {
try {
new WebDriverWait(driver, secsToWait)
.until(ExpectedConditions.titleIs(title));
}
catch (TimeoutException e) {
throw new AssertionError(String.format("Expected page title [%s] but was [%s]", title, driver.getTitle()));
}
}