私は 1000 個のテストを含む回帰スーツを持っていますが、ID が見つからないというエラーが発生したため、サイクルごとにいくつかのテスト ケースが失敗しています。ただし、それぞれの ID は利用可能ですが、Webdriver は ID をクリックできませんでした (同じ ID が 1000 テストすべてに適用されます)。しかし、ページを更新すると、期待どおりに機能しています。
以下のコードを使用しました:
if (existsId("id")==true){
assertNotNull(bost.driver.findElement(By.id(id)));
} else {
bost.driver.navigate().refresh();
assertNotNull(bost.driver.findElement(By.id(id)));
}
}
}
public boolean existsId(String id) {
try {
bost.driver.findElement(By.id(id));
} catch (Exception e) {
return false;
}
return true;
}
assert コマンドが原因でテストが失敗した場合、テストを再実行するためのコードが必要です。上記のコードでは、webdriver はコマンドを実行するために数秒待機しているため、最終的に待機時間が長すぎます....以前の実行と比較してください。