gpt4 book ai didi

jbehave - 如何使用 jBehave 同时执行多个测试?

转载 作者:行者123 更新时间:2023-12-04 15:45:38 26 4
gpt4 key购买 nike

我使用 jBehave 和 WebDriver 创建了一些测试。

当我通过 Maven 执行它们时,执行是安全的:

测试 1

  • 打开导航
  • 执行第一个故事的所有步骤
  • 关闭导航

  • 测试 2
  • 打开导航
  • 执行第二个故事的所有步骤
  • 关闭导航

  • ...

    我有兴趣同时执行测试。根据文档,这是可能的。

    http://jbehave.org/reference/stable/multi-threading.html

    我尝试将符号添加到“Stories”类,并且还使用线程 = 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>

    最佳答案

    您的问题可能包含更多细节,但我假设您使用的是 run-stories-as-embeddables 目标。你基本上有两个选择:

  • 使用 run-stories-as-embeddables 目标时,将属性“threads”设置为目标。扩展来自 Maven Gaols documentation 的示例:
    <plugin>
    <groupId>org.jbehave</groupId>
    <artifactId>jbehave-maven-plugin</artifactId>
    <version>[version]</version>
    <executions>
    <execution>
    <id>run-stories-as-embeddables</id>
    <phase>integration-test</phase>
    <configuration>
    <includes>
    <include>**/*Stories.java</include>
    </includes>
    <ignoreFailureInStories>true</ignoreFailureInStories>
    <ignoreFailureInView>false</ignoreFailureInView>
    <treads>5</threads>
    </configuration>
    <goals>
    <goal>run-stories-as-embeddables</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
  • 使用 run-stories-with-annotated-embedder maven 目标,它应该尊重 Annotation

  • 此外,您上面描述的两个场景必须在 中。两个分开故事。多线程仅发生在故事级别。同一个故事中的场景不是多线程执行的。

    关于jbehave - 如何使用 jBehave 同时执行多个测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15973904/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com