【问题标题】:BDD Automation with Cross Browser Testing?BDD 自动化与跨浏览器测试?
【发布时间】:2014-06-30 10:25:04
【问题描述】:

如何使用 Selenium 和任何可以用 Java 编码的 BDD 工具实现跨浏览器测试。

我的实际需求是使用 Selenium(Java 代码)并使用任何成熟的 BDD 工具实现跨浏览器测试。我听说过 Cucumber-JVM & Jbehave 常用的 Java 的 BDD 工具。不过我也听说Cucumber-JVM不支持多线程的概念,所以不能实现跨浏览器执行。

【问题讨论】:

    标签: java selenium-webdriver cucumber-jvm


    【解决方案1】:

    我不确定您所说的“Cucumber-JVM 不支持多线程概念,因此无法实现跨浏览器执行”是什么意思。

    据我所知,跨浏览器测试涉及在不同浏览器中运行同一站点并确保行为不会改变。 Cucumber-JVM(或 JBehave)是一个理想的工具,因为您可以在功能文件的第一步指定浏览器,然后执行一组通用步骤来证明兼容性。

    Selenium 提供了您需要的代码的浏览器选择部分,因此这是一个简单而常见的用例。

    【讨论】:

      【解决方案2】:

      我可以与 Cucumber-JVM 并行运行 selenium 测试。 Cucumber-JVM 过去存在并发问题,它们已在版本1.1.6 中得到修复。只要你有 Cucumber-JVM 版本 >= 1.1.6 你应该没问题。您可以设置一个 maven 项目并进行surefire配置以并行运行测试,如下所示(有关详细信息,您可以找到我的答案here)。您可以将浏览器名称指定为 maven 变量,例如 -Dbrowser.name=firefox 或类似的东西,以指定不同的浏览器进行跨浏览器测试。

      <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-surefire-plugin</artifactId>
                      <version>2.16</version>
                      <executions>
                          <execution>
                              <id>acceptance-test</id>
                              <phase>integration-test</phase>
                              <goals>
                                  <goal>test</goal>
                              </goals>
                              <configuration>
                                  <outputEncoding>UTF-8</outputEncoding>
                                  <parallel>classes</parallel>
                                  <perCoreThreadCount>true</perCoreThreadCount>
                                  <threadCountClasses>10</threadCountClasses>
                                  <argLine>-Xmx1024m</argLine>
                                  <argLine>-XX:MaxPermSize=256m</argLine>
                                  <includes>
                                      <include>**/Run*.java</include>
                                  </includes>
                              </configuration>
                          </execution>
                      </executions>
                  </plugin>
      

      【讨论】:

      • 嗨,我如何配置 maven Surefire 插件以在 3 个不同的浏览器上执行相同的黄瓜功能集。通过使用上述解决方案,我们可以在同一浏览器类型上并行运行多个功能。我们如何实现反之亦然,即在多种浏览器类型上运行功能?
      猜你喜欢
      • 1970-01-01
      • 2013-09-23
      • 2015-11-03
      • 2011-03-10
      • 1970-01-01
      • 2019-02-18
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多