テストケースが失敗し、コンソール出力で要素を見つけることができないと表示された場合に問題になるが、この要素はテストケース ページオブジェクトモデルパターンを利用しています。 クラスの要素の実行順序と関係がありますか?Selenium WebDriver Java - POM - コンソールの結果がテストケースで使用されていない要素を指している
テスト・ケース:
public class FilterResultTestCaseActiveStudentsOnly {
public static void main(String[] args) throws InterruptedException {
System.out.println(" enter username ");
Login.userName.sendKeys(Account.loginElenaB);
Thread.sleep(3000);
System.out.println(" enter password ");
Login.password.sendKeys(Account.pswdElenaB);
Thread.sleep(3000);
System.out.println(" click login btn ");
Login.loginButton.click();
Thread.sleep(3000);
System.out.println("click on Students page ");
NavBar.studentsPage.click();
Thread.sleep(6000);
System.out.println("click on Filter Results Dropdown ");
FiltersResultDropdown.clickOnFilterResultsDropdown.click();
Thread.sleep(3000);
System.out.println("select Active Students only radiobutton ");
FiltersResultDropdown.activeStudentsOnlyFilterResultsDropdown.click();
Thread.sleep(3000);
System.out.println("click on Apply Filters Results Dropdown ");
FiltersResultDropdown.applyFilterButtonFilterResultsDropdown.click();
Thread.sleep(3000);
StudentsPage.studentLinkClickStudentsPage.click();
Thread.sleep(3000);
String activeStudentsOnlyText = GetTextForAsserts.getStatusActiveText.getText();
try{
Assert.assertEquals("STATUS: Active", activeStudentsOnlyText);
System.out.println("The student is active");
} catch(AssertionError e){ //What if there are not students filtered? ToDo!
System.out.println("The student not found");
;
throw e;
}
の場合は主張する、私は必要な要素を設置するクラスを作成しました: クラス:だから
public class GetTextForAsserts {
WebDriverSettings driver;
public static WebElement getLetterOneText = WebDriverSettings.driver.findElement(By.xpath("//*[@id=\"studentLetters\"]/tr[5]/td[4]"));
public static WebElement getChronicLetterText = WebDriverSettings.driver.findElement(By.xpath("//*[@id=\"studentLetters\"]/tr[4]/td[4]"));
public static WebElement getStatusActiveText = WebDriverSettings.driver.findElement(By.xpath("//*[@id=\"studentOverview\"]/div[1]/div/div[4]/div[1]")); etc.
}
、それが何をするか - テストケースをコンソールがgetLetterOneTextを見つけることができないとか(または何か別の要素)、テストケースでも使用されていないとコンソールに伝えます。 すべての要素のXpathが正しい(「配置されていない」ものであっても)、複数回ダブルチェックされます。 テストケースに失敗しないようにするには、私が指摘している 'unlocated'要素をコメントアウトする必要がありますが、解決策ではありません。