1

似乎缺乏关于此的文档(或者至少我找不到它)。我希望最终在 Jenkins 上运行大量 Selenium 测试并使用 Selenium Grid2。当我编写测试时,我想知道如何告诉集线器我已经完成了WebDriver我正在使用的实例。我应该打电话webDriver.close()还是webDriver.quit()?当我要求一个RemoteWebDriver并且没有可用时会发生什么,我可以设置一个超时时间吗?

或者任何人都可以向我指出一些关于此的文档/博客,我发现的所有内容都告诉你如何启动和运行但停在那里?

4

1 回答 1

3

用于webDriver.quit()优雅地关闭浏览器实例(会话)。webDriver.stop()可能会导致异常(我根据自己的经验告诉你,虽然你也可以在这里找到很多关于它的讨论)。

你可以看到这个这个以供参考。小心区分Selenium Grid 1Selenium Grid 2

为了更好地理解它是如何工作的,看看WebDriver 的代码会有所帮助。

如果您要求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}

测试将不会执行并且会失败。

至于超时配置,可能会有所帮助。

于 2013-04-23T09:20:30.273 回答