0

ドロップダウンフィールドが画面に表示されているかどうか、WebドライバーでJavaを使用していないかどうかを確認する必要があります。このドロップダウンフィールドは、別の画面でチェックボックスを選択した後にのみこの画面に表示されます。次のコードを使用してフィールドが表示されているかどうかを確認しましたが、trueやfalseなどの値は返されません。

driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp"));
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlSessionExp"));
driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlfailedLogin"));

誰かがこれについて私を助けることができますか?ヘルプをいただければ幸いです。

4

2 に答える 2

1

検証は、xUnit-systemとAssertsを使用して実行する必要があります。例:JUnitまたはTestNGforJava。TestNGを使用して、次の方法で検証を行うことができます(JUnitの場合、引数の順序は少し異なります)。

Assert.assertEquals(driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp")).size(), 1, 
    "Password field wasn't found"); 
Assert.assertEquals(driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlSessionExp")).size(), 1,
    "Some other field wasn't found"); 
Assert.assertEquals(driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlfailedLogin")).size(), 1, 
    "Whatever field wasn't found"); 
于 2012-12-14T14:23:43.807 に答える
0

まず、上記のKhrolの回答を使用して問題を解決しました。また、別の方法を試しましたが、問題は完全に解決しました。

int size = driver.findElements(By.name("ctl00$MasterPlaceHolder$DdlPwdExp")).size();
if (size > 0)
{
System.out.println("No. of Days for Password Expiration field: is displayed");
}
else
{
System.out.println("No. of Days for Password Expiration field: is not displayed");
}
于 2012-12-27T12:47:47.650 に答える