自動テストで明示的な待機を行う。

kensuke-iizuka 41views 更新:2016年2月4日

自動テストをしていると要素の中身が変わるまで処理を待ちたい、とか要素が現れるまで処理を待ちたいとか明示的に待機させておきたいことがあります。Seleniumを使っていてしかもJavaなら 以下のように明示的な待機が可能です。

By buttonRegister = By.id("register");
By textMessage = By.id("message");

driver.findElement(buttonRegister).click();
// 要素のテキストが変更されるまで待つ
wait.until(ExpectedConditions.textToBePresentInElement(
            textMessage, "登録しました"));
assertThat(driver.findElement(textMessage).getText(), is("登録しました"));

これで要素のテキストが変更されるまで待つ事ができます。 WordpressでContact Formなどのプラグインをつかっているとフォームに入力した内容が正しく送られているかを確認したくても ただ要素のテキスト比較ではうまくいかないことがあります。そんな時に上のようなコードをつかえるといいです。javascriptでも同じ機能があるか現在調査中です。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません