提问人:Samathi kisalka 提问时间:11/2/2023 最后编辑:Samathi kisalka 更新时间:11/7/2023 访问量:51
Java Selenium Automation Chrome 在所有测试完成之前关闭
Java Selenium Automation Chrome close before all tests complete
问:
我目前正在使用 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)
答:
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”中将所有测试类作为套装一起运行,那么我会遇到诸如找不到定位符,驱动程序为空等问题。
评论