我担心这是一个非常微不足道的问题。但是我在使用selenium Grid2对单个节点运行多个测试时遇到了一些麻烦,根据我的理解,这应该可以通过设置maxSessions来实现。
这是我的设置: -Hub运行完全标准 -Node运行firefox,启用了5个实例和5个会话。
我使用MBUNIT创建了6个虚拟测试并添加了[Paralizable]以使它们并排运行。
这是我为测试所做的: 1:启动2个节点并运行所有测试(它们在每个节点上并行运行一个) 2:关闭nodeA并运行所有测试
在第2步中我遇到困难,我预计最后一个节点将同时运行2个测试,因为maxSessions设置为5但是这不会发生,它只运行1。
我怀疑在某处启动集线器或节点时我使用了错误的参数,但现在我无法弄明白。想在Grid2帮助新手的人吗? :)
这大致是我的代码,非常适合玩游戏:
[TestFixture]
public class RemoteTest
{
[Test]
[Parallelizable]
public void StartClose()
{
DesiredCapabilities cap = DesiredCapabilities.Firefox();
IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), cap);
driver.Navigate().GoToUrl("http://www.google.dk");
driver.Quit();
}
}
使用的命令:
java -jar selenium-server-standalone-2.14.0.jar -role hub
java -jar selenium-server-standalone-2.14.0.jar -role node -hub http://192.168.0.26:4444/grid/register
答案 0 :(得分:0)
毫无疑问是微不足道的:)
启动服务器(使用以下命令)
java -jar selenium-server-standalone-2.14.0.jar -role hub
启动节点(使用以下命令)
java -jar selenium-server-standalone-2.14.0.jar -role node -hub http://localhost:4444/grid/register
如果您曾尝试使用浏览器启动节点(请查看以下命令)
-browser browserName = firefox,version = 3.6,maxInstances = 5,platform = LINUX
maxInstances - >表示可以在网格节点上运行的同一浏览器的Max实例
Selenium Grid: MaxSessions vs MaxInstances
如果您在测试用例中指定了网格上不存在的功能,那么将无法匹配,测试将无法运行。
请避免从节点运行测试,而是从集线器运行测试。我尝试了同样的实验,我从服务器(HUB)运行测试,我注册了一个运行并行测试用例的节点,一切都很完美。