例 1: Twitter Bootstrap モーダルが開いたことを確認します。
モーダルは既にページに存在しますが、モーダルが開かれるまで CSS で隠されています。では、モーダルが実際に開いたことを確認するにはどうすればよいでしょうか?
例 2: ユーザー エラー メッセージ div が表示されたことを確認します。
エラー メッセージ div は常に存在しますが、必要になるまで CSS で隠されています。メッセージが表示されていることを確認するにはどうすればよいですか?
例 1: Twitter Bootstrap モーダルが開いたことを確認します。
モーダルは既にページに存在しますが、モーダルが開かれるまで CSS で隠されています。では、モーダルが実際に開いたことを確認するにはどうすればよいでしょうか?
例 2: ユーザー エラー メッセージ div が表示されたことを確認します。
エラー メッセージ div は常に存在しますが、必要になるまで CSS で隠されています。メッセージが表示されていることを確認するにはどうすればよいですか?
答え 1:
モーダル内の Web 要素のPresence
またはをチェックすることで、モーダル ステータスを確認できます。Visibility
答え 2:
Visibility
エラーメッセージのパラメータを確認できます。
要素の存在を確認するには:
if(driver.findElements(By.xpath("value")).size() != 0){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
または
if(driver.findElement(By.xpath("value"))!= null){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
表示を確認するには:
if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
System.out.println("Element is Visible");
}else{
System.out.println("Element is InVisible");
}
以下はあなたに役立つかもしれません。
要素をこのメソッドに渡すだけで、その要素が dom に表示されている場合は true が返され、それ以外の場合は false が返されます。
isElementPresent(WebDriver driver,By by)
{
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
try
{
driver.findElement(by);
return true;
}
catch(Exception e)
{
return false;
}
finally
{
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
}
詳細については、このブログ投稿を参照してください