gpt4 book ai didi

java - 使用 selenium webdriver 2 时 Maven 不会因错误而停止

转载 作者:行者123 更新时间:2023-12-01 04:29:26 24 4
gpt4 key购买 nike

如果这个问题已经得到解答,我很抱歉,我试图找到解决方案,但仍然没有得到任何结果。

我正在 EclipseSelenium webdriver 中工作,并通过 MAVEN 运行代码。

我的问题是,如果发现错误,Maven 会继续永远运行,Selenium 驱动程序 在我关闭浏览器窗口之前不会关闭。

如果本地发生任何事情,我可以手动执行此操作,但问题是当我尝试使用 Jenknins 时,如果出现任何问题,Jenkins 作业将一直运行,直到我停止它。

你能帮我吗?

提前致谢。

最佳答案

重要的是在完成测试时调用 WebDriver.quit()

通常在 JUnit 中,这通常意味着在以下位置之一调用它:

  • @After@AfterClass注释的方法或类,
  • @Rule@ClassRule注释的属性或类,
  • RunListener 类,通过 testFinished()testRunFinished() 方法,
  • 合适的运行者级别或
  • 静态拆卸代码。

您应该选择与创建驱动程序对象的位置相反的选项。如果您的所有测试都是 Selenium WebDriver 测试,并且您打算在单个浏览器窗口中顺序运行它们(我认为这是小型项目最常见的情况),那么单个 RunListener 可以很好地隐藏此代码。举个例子:

public class WebDriverContext extends RunListener {
public static WebDriver DRIVER; // Pretending to be final
public void testRunStarted(Description descr) {
DRIVER = new FirefoxDriver();
}
public void testRunFinished(Result result) {
DRIVER.quit();
}
}

(这个答案归功于OP,在他上面的评论中。他现在显然已经离开了SO,所以他不能在这里发布他的答案。我也对其进行了相当大的扩展。)

关于java - 使用 selenium webdriver 2 时 Maven 不会因错误而停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com