如何使用Selenium和任何可以用Java编写的BDD工具实现跨浏览器测试。
我的实际需求是使用Selenium (Java代码)并使用任何成熟的BDD工具来实现跨浏览器测试。我听说过Cucumber-JVM和Jbehave是Java常用的BDD工具。然而,我也听说Cucumber-JVM不支持多线程概念,因此无法实现跨浏览器执行。
发布于 2014-07-03 17:27:14
我不确定您所说的“Cucumber-JVM不支持多线程概念,因此无法实现跨浏览器执行”是什么意思。
据我所知,跨浏览器测试包括在不同的浏览器中运行相同的网站,并确保行为不会改变。Cucumber-JVM (或JBehave)是一个理想的工具,因为您可以在特性文件的第一步中指定浏览器,然后执行一组通用步骤来证明兼容性。
Selenium提供了所需代码的浏览器选择部分,因此这是一个简单而常见的用例。
发布于 2014-07-08 01:01:32
我将selenium测试与Cucumber-JVM fine并行运行。Cucumber-JVM在过去有并发问题,这些问题已经在1.1.6版本中修复了。只要您有Cucumber-JVM版本>= 1.1.6,就应该没问题。您可以设置一个maven项目,并使用surefire配置来并行运行测试,如下所示(有关详细信息,请参阅my answer 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>https://stackoverflow.com/questions/24487988
复制相似问题