2

我担心这是一个非常琐碎的问题。但是我在让 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

4

1 回答 1

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 --> 表示可以在 Grid 节点上运行的同一浏览器的 Max 实例

Selenium 网格:MaxSessions 与 MaxInstances

如果您在测试用例中指定了网格上不存在的功能,那么将没有匹配项,并且测试将无法运行。

请避免从节点运行测试,而是从集线器运行测试。我尝试了相同的实验,从服务器(HUB)运行测试,并注册了一个节点来运行并行测试用例,一切都很完美。

于 2012-05-08T07:28:49.283 回答