似乎缺乏关于此的文档(或者至少我找不到它)。我想最终在Jenkins上运行一系列Selenium测试并使用Selenium Grid2。当我编写测试时,我想知道如何告诉集线器我已经完成了我正在使用的WebDriver
实例。我应该致电webDriver.close()
还是webDriver.quit()
?当我要求RemoteWebDriver
并且没有可用时会发生什么,我可以设置超时期限吗?
或者任何人都可以向我指点一些关于此的文档/博客,我发现的一切都告诉你如何让东西运行起来然后停在那里?
答案 0 :(得分:3)
使用webDriver.quit()
正常关闭浏览器实例(会话)。 webDriver.stop()
可能会导致异常(我根据自己的经验告诉你,虽然你也可以找到很多关于它的讨论here)。
您可以参考this和this作为参考。小心区分 Selenium Grid 1 和 Selenium Grid 2 。
为了更好地了解它是如何工作的,有助于查看WebDriver's code。
如果您要求RemoteWebDriver
(为所请求的环境配置)并且没有可用,则集线器将保留请求,直到获得空闲。如果集线器没有“知道”任何具有所请求环境的节点,您将得到如下内容:
Caused by: org.openqa.selenium.WebDriverException: Error forwarding the new session cannot find : {platform=WINDOWS, javascriptEnabled=true, browserName=chrome, version=25.0.1312.56}
测试将不会执行并且将失败。
至于超时配置,this可能会有所帮助。