Selenium grid2:如何针对单个节点运行多个测试?

时间:2012-05-07 20:21:38

标签: selenium webdriver selenium-grid

我担心这是一个非常微不足道的问题。但是我在使用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

1 个答案:

答案 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)运行测试,我注册了一个运行并行测试用例的节点,一切都很完美。