SeleniumIDEのJavaJunitエクスポーターは、デフォルトで30秒の暗黙的な待機を設定します。つまり、要素をテストするアサーションが存在しない場合、30秒間の不要な遅延が発生します。
タイムアウト1の明示的な待機(WebDriverWait
クラス)を使用してみましたが、それでも約30秒かかりました。
それで、とにかくすべての種類のロケーター(つまりBy
クラス)の暗黙の待機をバイパスすることはありますか?
SeleniumIDEのJavaJunitエクスポーターは、デフォルトで30秒の暗黙的な待機を設定します。つまり、要素をテストするアサーションが存在しない場合、30秒間の不要な遅延が発生します。
タイムアウト1の明示的な待機(WebDriverWait
クラス)を使用してみましたが、それでも約30秒かかりました。
それで、とにかくすべての種類のロケーター(つまりBy
クラス)の暗黙の待機をバイパスすることはありますか?
明示的な待機を使用する場合は、暗黙的な待機の設定を解除します。
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
boolean isElementPresent(By by) {
try {
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
driver.findElement(by);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
return true;
}
catch(Exception e){
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
return false;
}
}
嫌ですが動作します。暗黙的に待機するすべてのコマンドは、オーバーロードできるはずです。ただし、find要素には2パラメーターバージョンがありません。多分それはByにありますか?