我很抱歉,如果已经回答了这个问题,我试图找到一个解决方案但仍然没有得到任何结果。
我正在Eclipse
和Selenium webdriver
工作,并通过MAVEN
运行代码。
我的问题是如果发现错误,Maven
会继续运行,Selenium driver
在关闭浏览器窗口之前不会关闭。
如果在本地发生任何事情,我可以手动执行,但问题是当我尝试使用Jenknins
时,如果有任何失败,Jenkins
作业一直在运行,直到我停止它。
你能帮帮我吗?
提前致谢。
答案 0 :(得分:0)
重要的是在完成测试时致电WebDriver.quit()
。
通常在JUnit中,这通常意味着在以下某个地方调用它:
@After
或@AfterClass
,@Rule
或@ClassRule
,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。他现在显然已经离开了,所以他不能在这里发布他的答案。我已经也扩大了它。)