driver.close()将永远挂起

时间:2019-03-21 19:07:48

标签: selenium selenium-webdriver selenium-chromedriver selenium-grid

driver.close()在Jenkins上不起作用,整个测试将永远挂起。我正在将Selenium Grid与Java一起使用,并使用Chrome驱动程序。

我不想使用Bar。我必须使用Bar。我有两个选项卡打开,我必须关闭一个。

driver.quit()

这曾经起作用,最近开始发生。

3 个答案:

答案 0 :(得分:0)

在没有测试脚本详细信息的情况下,我建议您将driver.quit()替换为您要结束会话的位置;从Selenium documentation开始,driver.quit()将关闭所有浏览器窗口,而driver.close()仅将“关闭当前窗口,如果它是当前打开的最后一个窗口,则退出浏览器。”

从不介意

在您的BrowserFactory类中,getDriver()方法是使用driver.get()定义的。那是在告诉驱动程序什么都没有,这里没有为URL传递任何参数。这可能是造成问题的原因吗?

答案 1 :(得分:0)

请尝试以下操作:

emitterLayer.emitterPosition = CGPoint(x: view.center.x, y: view.center.y)

let cell = CAEmitterCell()
cell.birthRate = 25
cell.lifetime = 30
cell.velocity = 250
cell.velocityRange = 250
cell.spinRange = 5
cell.scale = 0.04
cell.scaleRange = 0.03
cell.alphaSpeed = -0.15
cell.emissionRange = CGFloat.pi * 2
cell.contents = UIImage(named: "RainbowApple")?.cgImage

emitterLayer.emitterCells = [cell]
emitterLayer.beginTime = CACurrentMediaTime()
emitterLayer.zPosition = -1
view.layer.addSublayer(emitterLayer)

emitterLayer.emitterSize = CGSize(width: 320, height: 1)
emitterLayer.renderMode = CAEmitterLayerRenderMode.oldestLast

此代码将关闭当前打开的标签页。

答案 2 :(得分:0)

我发现关闭窗口的更好的解决方案是:

((JavascriptExecutor) BrowserFactory.getInstance().getDriver()).executeScript( "window.close()" );