[解決済み] Javaを使用したSelenium WebDriverテストにおけるwaitForVisible/waitForElementPresentの等価性?
質問
HTML" Selenium テスト (Selenium IDE または手動で作成したもの) では、いくつかの
非常に便利なコマンド
のように
WaitForElementPresent
または
WaitForVisible
.
<tr>
<td>waitForElementPresent</td>
<td>id=saveButton</td>
<td></td>
</tr>
SeleniumのテストをJavaでコーディングする場合(Webdriver / Selenium RC-ここでは用語がよくわかりません)。 に似たようなものが組み込まれていませんか? ?
例えば、(開くのに時間がかかる)ダイアログが表示されているかどうかをチェックするために......。
WebElement dialog = driver.findElement(By.id("reportDialog"));
assertTrue(dialog.isDisplayed()); // often fails as it isn't visible *yet*
最もクリーンなのは? 堅牢 のようなチェックの仕方を教えてください。
追加
Thread.sleep()
をあちこちで呼び出すと、醜くて壊れやすいし、whileループを自作するのもかなり不器用そうだし...。
解決方法は?
暗黙の待機と明示の待機
暗黙の待機
暗黙の待機とは、WebDriver に一定時間 DOM をポーリングするように指示することです。 ある要素が見つからない場合、その要素を見つけるのに必要な時間です。 はすぐに利用できません。デフォルトでは0に設定されています。 暗黙の待機はWebDriverオブジェクトのインスタンスが存在する間、設定されます。
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
明示的な待ち時間+α 期待される条件
明示的待機とは、特定の条件を待つために定義するコードです。 を発生させてから、それ以上コードを進める。これの最悪のケースは は Thread.sleep() で、これは条件を正確な時間に設定するものです。 を待ちます。を書くのに便利なメソッドがいくつか提供されています。 のコードでは、必要な時間だけ待つことになります。WebDriverWait とExpectedConditionの組み合わせは、この方法の1つです。 を実現します。
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(
ExpectedConditions.visibilityOfElementLocated(By.id("someid")));
関連
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
jd-gui Java Exceptionが発生しました。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み】Selenium WebDriverでPythonを使用してWebElementのHTMLソースを取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
JQuery DataTable 详解
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
javaでクラスを作成すると、enclosing classでないように見える
-
Javaエラーメッセージがenclosingクラスでない
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
IDEA パッケージステートメントの欠落