Java Selenium Automation Chrome 在所有测试完成之前关闭

Java Selenium Automation Chrome close before all tests complete

提问人:Samathi kisalka 提问时间:11/2/2023 最后编辑:Samathi kisalka 更新时间:11/7/2023 访问量:51

问:

我目前正在使用 Java Selenium 进行 UI 自动化,那里有 3 个测试类。当我单独运行它们时,我不会遇到任何问题。但是,如果我运行所有 3 个页面进行收集,那么一些测试会失败,说他们找不到定位器。如何解决这个问题。这是同步问题还是我的等待时间可能太长?

at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:84)
    at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:230)
    at pages.CartPage.addItemsToCart(CartPage.java:37)
    at tests.CartPageTest.updateCart(CartPageTest.java:27)
java selenium-webdriver selenium-chromedriver 自动测试

评论


答:

0赞 Bhairu 11/2/2023 #1
The exception clearly points to the Timeout Exception, add a Wait mechanism after every test.

**@Test**
Test1()
{
//code
Wait<Webdriver> wait=new WebdriverWait(driver, Duration.ofSeconds(20));
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("pass the element it take a time to appear in the page"));
}

**@Test**
Test2()
//your code
Wait<Webdriver> wait=new WebdriverWait(driver, Duration.of seconds(20));

wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("pass the element it take a time to appear in the page"));

}

对于关闭浏览器,请查看您的 afterTest,或者您可以删除关闭浏览器代码。

评论

0赞 Samathi kisalka 11/2/2023
谢谢你的回答。我实际上已经添加了它们。如果我单独运行它们,我所有的测试用例都可以正常工作。但是,如果我在“testng.xml”中将所有测试类作为套装一起运行,那么我会遇到诸如找不到定位符,驱动程序为空等问题。