我最近从 Selenium Grid 2.48 迁移到 3.0.1,但在多个 Chrome 实例上运行测试时遇到问题。
当 Selenium Grid 从 v2 更改为 v3 时,Chrome 的默认浏览器实例从 5 个更改为 1 个。在 v2 中,我在默认的五个 Chrome 实例上并行运行 C#/NUnit3 测试没有任何问题。
但是,自从迁移到 v3 以来,我无法让每个节点运行多个线程。我可以使用 maxInstances=5 启动节点,并可以在网格控制台中看到它们。网格控制台显示此消息“4 个请求等待空闲槽”。即使有四个实例空闲。
我的网格配置如下:
中心
java -jar selenium-server-standalone-3.0.1.jar -role hub -newSessionWaitTimeout -1 -maxSession 50 -browserTimeout 90 -timeout 100
节点
java -jar selenium-server-standalone-3.0.1.jar -port 5556 -role node -hub http://host:4444/grid/register -browser browserName=chrome,maxInstances=5
如果我使用 selenium-server-standalone-2.48.2.jar,即使测试是使用 v3 WebDriver 和 WebDriver.Support dll 编写的,一切也会按预期工作。
最佳答案
您应该在您的节点上使用 -maxSession 参数,看看是否有帮助。似乎在 v3 上 maxSession 默认为 1,这意味着除非您将 maxSession 属性设置为所需的数字,否则您无法并行运行它。
maxSession 是可以并行运行的(任意)浏览器实例的数量。
关于c# - 无法在多个 Chrome 实例上运行 Selenium Grid 3.0.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41549241/