2016-08-04 30 views
0

我使用硒网格来实现功能测试,我将它与testNG同时运行多个测试。当我运行testNG时,firefox开始执行硒脚本,但问题是我不能同时拥有5个以上的浏览器,我不知道为什么。这是我启动集线器和节点的方式。我的硒网格配置有什么问题?

毂:

启动Java的罐子%seleniumPath%-port 4444 -role毂-nodeTimeout 1000

节点:

启动Java的罐子%seleniumPath %-role node -hub http://localhost:4444/grid/register -browser browserName = firefox,maxInstances = 1,maxSession = 1 -port 5555

我了解它的方式,我应该能够一次只打开1个Firefox浏览器。但无论数量是多少,maxInstnaces和maxSession选项似乎都被忽略,并且同时运行的浏览器数量仍为5或更少。

这是我的网格控制台的屏幕截图,它显示了此节点可以同时处理多少实例。当我把像100或200这样的高数字,我有相应的不一致。 enter image description here

+0

你想说的是,尽管你已经改变了'maxSession'的值,你一次没有超过5个浏览器? – Paras

回答

1

通常maxSessions重写maxInstances。 maxInstances定义可以在硒节点上旋转的特定浏览器的实例数量。

maxSessions定义了多少个总会话,包括我们可以在selenium节点上运行的所有浏览器。

所以maxSessions是所有浏览器的累积属性。例如,如果您为firefox设置了maxInstances = 2,对于Chrome设置了maxInstances = 2,这意味着在最大时您可以一次运行2个firefox和2个chromes,但同时如果您配置了maxSessions = 3,则可以旋转一次只能进行3次,可能是2 FF,1 Chrome,1 FF,2铬。

如果你运行: java -jar selenium-server.jar -role node -h 它会显示为节点的角色有所有可能的选择,你可以找到: -maxSession:独立于浏览器的测试 最大数量,可以在同一时间节点上运行, 用过的。

最后,如果MAXSESSIONS < [所有浏览器MAXINSTANCES], MAXSESSIONS将被优先考虑 而这就是为什么如果你设置MAXINSTANCES甚至100,200,但保持MAXSESSIONS 1将在控制台中只有1展示