【问题标题】:Selenium parallel testing on multiple browsers (JAVA)Selenium 在多个浏览器上的并行测试 (JAVA)
【发布时间】:2015-01-16 00:08:11
【问题描述】:

我很惊讶没有找到任何智能解决方案如何使用 Selenium Grid 运行 Selenium webdriver 测试,而是使用多个浏览器运行每个测试。最好我想要某种配置(文件或硬编码),我可以在其中指定我希望我的测试运行的所有浏览器。然后每个测试将在每个浏览器上运行。

我假设可以编写自己的测试运行程序并放置一个循环,通过所有浏览器迭代每个测试梯级。但也许有人知道更优雅的解决方案?有人做过吗?

附:我找到了建议复制测试并为每个测试指定浏览器参数的解决方案。我不想要那个。

【问题讨论】:

  • 我们使用 Selenium Grid 在多台机器上同时运行测试。对于每台机器,我们将 Selenium Grid 配置为使用不同的浏览器(Firefox 和 IE)。我无法告诉你它是如何设置的,因为它是由我们的 Jenkins 管理员完成的,但这是可能的!

标签: java selenium parallel-testing


【解决方案1】:

我不熟悉 Selenium Grid,但我知道您可以通过在不同线程上运行每个测试来让 Selenium 同时打开多个浏览器。你可能想看看这个。

【讨论】:

    【解决方案2】:

    我已经解决了这个问题,我为每个 TestNG 套件指定了不同的浏览器参数。

    【讨论】:

      【解决方案3】:

      我所做的是在类级别运行我的测试,然后创建一个 TestNG.xml,然后在其中指定我希望运行的类以及它们应该在哪些浏览器上运行。 所以我的 TestNG 文件看起来像:

          <?xml version="1.0" encoding="UTF-8"?>
      <suite name = "suite1" verbose = "6" preserve-order="true" parallel = "false" thread-count="1">
      
          <test name = "Any Test">
          <parameter name = "browser" value ="chrome">
          <parameter name = "port" value = "5555">
          </parameter>
          </parameter>
              <classes>
                   <class name = "name of class to run"/>      
              </classes>
          </test>
      </suite>
      

      然后因为我在 Selenium Grid 上运行,所以我在代码中传递浏览器和端口的参数,如下所示:

      @BeforeMethod()
          @Parameters({"browser","port"})
          public void launchBrowsers(String browser, String port) throws Exception {
      
              DesiredCapabilities capabilities = new DesiredCapabilities();
              capabilities.setBrowserName(browser);
              capabilities.setJavascriptEnabled(true);
      
              setSelenium(new RemoteWebDriver(new URL("http://localhost:".concat(port).concat("/wd/hub")), capabilities));
      
              getSelenium().get(baseUrl); 
              getSelenium().manage().window().maximize();             
          }
      

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2012-04-30
        • 2016-08-16
        • 2014-10-27
        • 1970-01-01
        • 1970-01-01
        • 2012-08-03
        • 2017-11-02
        • 1970-01-01
        • 2023-03-30
        相关资源
        最近更新 更多