【问题标题】:Is it possible to run more than one Selenium test on one node?是否可以在一个节点上运行多个 Selenium 测试?
【发布时间】:2014-11-12 04:03:39
【问题描述】:

我有几套大约 10 个用 Java 编写的 Selenium 测试。我正在使用 JUnit 和我继承的一些扩展 JUnit 类的类来并行运行测试。

如果我只使用 WebDriver 而不使用 Grid,测试并行运行就很好,但是当我尝试在 Grid 中运行测试时,一些测试通过,但大多数失败,通常会抛出 NoSuchElementException。

我使用 Grid 的原因是最终我可以分发测试,而且还可以使用 PHP 网页等后台服务在我的 Windows 服务器上执行桌面进程。

我正在使用 Selenium 2.43.1。 我有时在本地机器上使用 Windows 7 执行测试,有时在我的服务器上使用 Windows Server 2008。

我不应该将同一个节点用于多个测试吗? 我应该制作虚拟机并在每个虚拟机上一次执行一项测试吗? 任何其他建议将不胜感激。

【问题讨论】:

    标签: java unit-testing selenium


    【解决方案1】:

    是的,这是可能的。我之前回答过这个问题here

    使用配置 json 文件,您可以指定 maxSessionsmaxInstances 来控制它。

    nodeConfig.json

    {
      "capabilities":
          [
            {
              "browserName": "*chrome",
              "maxInstances": 2,
              "seleniumProtocol": "Selenium"
            }
            ... (any other browser capabilities here)
          ],
      "configuration":
      {
        "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
        "maxSession": 10,
        "port": 5555,
        "register": true,
        "registerCycle": 5000,
        "hubPort": 4444
      }
    }
    

    然后像这样运行你的节点:

    java -jar selenium-server-standalone.jar -role node -nodeConfig nodeConfig.json ...
    

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 2023-03-31
      • 2020-05-30
      相关资源
      最近更新 更多