c# - 无法在多个 Chrome 实例上运行 Selenium Grid 3.0.1

标签 c# google-chrome selenium selenium-grid nunit-3.0

我最近从 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/

相关文章:

java - Cucumber - Java8 - 将 @Before 与 lambda 表达式一起使用

c# - 切换到 .net core 3 端点路由后,身份 UI 不再工作

c# - SQL Server 故障转移期间的暂时性错误

C# 隐式转换运算符和 is/as 运算符

c# - 什么时候 == 会以与 .equals 不同的方式被覆盖?

java - Selenium Google Places 自动完成 Java

当 JS Profiling 打开时,JavaScript 代码运行得更快?什么?

google-chrome - Google Chrome 奇怪的设置策略有什么优势?

javascript - Chrome 在打印时通常不显示内联 SVG 图像

java - 是否可以在包含 java 1.6 的本地计算机上执行 java 1.7 编译的代码文件