質問2のDiviの答えは問題ありません。
webElement.isDisplayed();
をそれとも、前とイベント後のページのHTMLを比較することができます:パート1のために、あなたが言ったように要素が表示されているかどうかを確認することができます。
driver.getPageSource();
(各イベント後に変更された場合は、URLを確認することもできます)。
htmlのソースを取得する際の1つの問題は、イベントが最後のアクションの後にトリガーされ、完了していない可能性があり、htmlを同じままにしておくことです。
(Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.ready");
((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete");
それとも、jQuery.readyに似た別の機能を持つ別のJavaScriptフレームワークを使用している場合があります。これを回避するには、次の条件のいくつかをチェックすることができます。
Actions actionObject = new Actions(driver);
actionObject.sendKeys(Key.TAB).perform();
それとも、JavaScriptを使用することができますあなたのような何かを実行することができるようにあなたがなど、フィールドの外にタブ移動、能動素子を変更した後
は、最後にあなただけのイベントでの問題を誘発するかもしれません(私は以下のコードをチェックしていないと私はHTMLの基本要素にwebElementを設定します)に設定します。
((JavascriptExecutor) driver).executeScript("arguments[0].focus();", webElement);
これはあなたの最後を元に戻す可能性があるとして、私はbody要素をクリックしてwebdriverをを使用することをお勧めしません。クリック。私は完全のための質問2についてディビの答えを含めてい
:
私たちは、ページのURLを取得し、期待されるURLとそれを比較することで、それは別のページにリダイレクトされているかどうかを確認することができます
WebDriver driver;
driver.getCurrentUrl() // will returns the String value
ご期待URLが、あなたは二つの方法
1のために行くことで、あなたのとれURLが一致しない場合)あなたは、セレン(または)webdriverをのNavigateメソッドで開く機能を使って、もう一度期待されるURLを開くことができます
driver.navigate().to("expected_url");
2)あなたは、ジェームズの回答に基づいて、ナビゲーション
driver.navigate().back();
セレンは、ユーザーが定義済みのワークフローをステップ実行するのに非常に役立ちます...このテストの目的は何ですか? –