私はJavaを使って多くのSeleniumテストを実装していますが、時々テストが失敗します。StaleElementReferenceException
。
テストをより安定させるためのアプローチをいくつか提案していただけますか?
ベストアンサー1
これは、ページで実行されている DOM 操作によって一時的に要素にアクセスできなくなった場合に発生する可能性があります。このようなケースに対応するには、最終的に例外をスローする前に、ループ内で要素に複数回アクセスを試みることができます。
試すdarrelgrainger.blogspot.com からのこの優れたソリューション:
public boolean retryingFindClick(By by) {
boolean result = false;
int attempts = 0;
while(attempts < 2) {
try {
driver.findElement(by).click();
result = true;
break;
} catch(StaleElementException e) {
}
attempts++;
}
return result;
}