エラーメッセージを確認したい。これらのエラー メッセージは、Web サイトで問題が発生した場合にのみ表示されます。
私の問題はfindElement
、エラーメッセージを確認するために使用することです。そのため、何か問題が発生した場合、Selenium がそれを検出し、すべて問題ありません
しかし、そうでない場合 (つまり、私の Web サイトは問題なく問題ありません)、Selenium は要素が見つからないことを示し、例外を発生させます。
何か案が?
エラーメッセージを確認したい。これらのエラー メッセージは、Web サイトで問題が発生した場合にのみ表示されます。
私の問題はfindElement
、エラーメッセージを確認するために使用することです。そのため、何か問題が発生した場合、Selenium がそれを検出し、すべて問題ありません
しかし、そうでない場合 (つまり、私の Web サイトは問題なく問題ありません)、Selenium は要素が見つからないことを示し、例外を発生させます。
何か案が?
findElement を try-catch ブロックで囲むことができます。要素が見つからない場合は何もしません。例えば
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
//or do nothing
}
}
1.この場合、エラー メッセージが表示されることが確実な場合にのみ、エラー メッセージをチェックするコードを記述するようにテスト ケースを設計する必要があります。
2.しかし重要なのは、問題がなく、コードが正常に実行されることがわかっているのに、なぜエラーメッセージをチェックするのかということです。
3.エラーが発生するかどうかわからない場合..危険なコードをtryブロックに配置し、エラーメッセージを見つけてチェックするcatchブロックを作成できます。
答えを見てくださいSelenium Webdriver NoSuchElementException
それは次のことを示唆しています(私はあなたのニーズに合わせて少し調整しました):
List<WebElement> errorElements = driver.findElements(By.id("ERROR_ID"));
if (!errorElements.empty()) {
// Tests your errors
}