driver.close()在Jenkins上不起作用,整个测试将永远挂起。我正在将Selenium Grid与Java一起使用,并使用Chrome驱动程序。
我不想使用Bar
。我必须使用Bar
。我有两个选项卡打开,我必须关闭一个。
driver.quit()
这曾经起作用,最近开始发生。
答案 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()" );