无法验证 TestNG Asserion 场景

Unable to validate TestNG Asserion Scenario

大家好,我正在学习 Selenium。我的测试用例是验证 Guru99 站点中 TESTING 选项卡下的 "Learn SoapUI" link 是否存在。当我使用 if 条件时,它会通过,当我使用 Assertion 语句条件时,它会失败。请帮助mw编写代码。 Url: https://www.guru99.com/ 我的代码:

@Test
public void Sample() {

driver=new FirefoxDriver();
driver.get("https://www.guru99.com/");
List<WebElement> TESTING= driver.findElements(By.xpath("//div[@class='featured-box cloumnsize1']//ul[1]//li"));
for(int i=0;i<TESTING.size();i++) {
    Assert.assertEquals(TESTING.get(i).getText().equals("Learn SoapUI"), true);
    System.out.println("Learn SoapUI link is present");
//********************************************************************* 
    if(TESTING.get(i).getText().equals("Learn SoapUI")) {
        System.out.println("Learn SoapUI Testing link is in list");
    }
}

在您的代码中,您正在检查集合中每个元素的文本。如果第一个元素的文本不会 Learn SoapUI 你的测试将直接失败。

简单的方法是获取所有元素的文本,将它们放入字符串列表并检查 Learn SoapUI 包含在此列表中。

下面是您的代码,其中包含以下更改:

    driver=new FirefoxDriver();
    driver.get("https://www.guru99.com/");

    // Getting all elements from the cours 
    List<WebElement> TESTING = driver.findElements(By.xpath("//div[@class='featured-box cloumnsize1']//ul[1]//li"));

    // Getting text from the each element and putting to List of Strings
    List<String> listSoapCourses = TESTING.stream().map(WebElement::getText).collect(Collectors.toList());

    // Verification that Learn SoapUI exists in the list of courses
    Assert.assertTrue(listSoapCourses.contains("Learn SoapUI"), "Error message: Learn SoapUI not contains in the list of courses");