我有一些使用 jBehave 和 WebDriver 创建的测试。
当我通过 Maven 执行它们时,执行是安全的:
测试 1
- 打开导航器
- 执行第一个故事的所有步骤
- 关闭导航器
测试 2
- 打开导航器
- 执行第二个故事的所有步骤
- 关闭导航器
...
我有兴趣同时执行测试。根据文档,这是可能的。
http://jbehave.org/reference/stable/multi-threading.html
我已经尝试将符号添加到“Stories”类,并且还使用threads = 5执行了mvn命令,但不起作用。
@UsingEmbedder(threads=5)
public class EtsyDotComStories extends JUnitStories {
...
@Override
protected List<String> storyPaths() {
return new StoryFinder().findPaths(codeLocationFromClass(this.getClass()).getFile(), asList("**/*.story"), null);
}
}
mvn clean install -s settings.xml -Pjava-spring,codehaus,threads=5
是否可以同时执行多个测试?
编辑:
添加了maven执行部分:
<plugins>
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>${jbehave.core.version}</version>
<executions>
<execution>
<id>embeddable-stories</id>
<phase>integration-test</phase>
<configuration>
<includes>
<include>**/*Stories.java</include>
</includes>
<ignoreFailureInStories>true</ignoreFailureInStories>
<ignoreFailureInView>false</ignoreFailureInView>
<threads>5</threads>
<executorsClass>org.jbehave.core.embedder.executors.SameThreadExecutors</executorsClass>
</configuration>
<goals>
<goal>run-stories-as-embeddables</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>11.0.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>