You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cucumber Junit配置并行执行未生效 测试用例串行运行问题

问题根因

配置不生效由三个核心问题导致:

  • maven-failsafe-plugin的parallel=methods配置对Cucumber JUnit4 Runner完全无效。@RunWith(Cucumber.class)标记的运行器类只会提供一个测试执行入口,所有feature文件的逻辑都在这个单入口内串行执行,maven插件无法拆分单方法内的执行逻辑做并行。
  • 现有failsafe配置仅包含单个MyTestRunner.java测试类,哪怕调整并行维度为classes,也只会启动一个测试进程,没有并行调度的空间。
  • 未开启Cucumber 7.x版本内置的并行执行能力。Cucumber的并行调度不依赖maven插件的并行参数,需要通过自身配置文件显式开启。
解决方案(推荐使用Cucumber内置并行,配置成本最低)
  1. 先修改maven-failsafe-plugin的配置,删除无效的并行维度配置,补充缺失的verify goal,修改后配置如下:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>3.0.0-M6</version>
    <executions>
        <execution>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
            <configuration>
                <includes>
                    <include>**/MyTestRunner.java</include>
                </includes>
            </configuration>
        </execution>
    </executions>
</plugin>
  1. 在src/test/resources路径下新建cucumber.properties配置文件,添加Cucumber并行相关配置:
# 开启Cucumber内置并行执行
cucumber.execution.parallel.enabled=true
# 并行策略选fixed可固定线程数,选dynamic会根据CPU核心数动态计算线程数
cucumber.execution.parallel.config.strategy=fixed
# 固定4个并行线程,和预期配置一致
cucumber.execution.parallel.config.fixed.parallelism=4
# 并行粒度默认是scenario(所有场景独立并行),如果要按feature粒度并行(同feature内场景串行)就添加下面这行
# cucumber.execution.parallel.execution.mode=feature

注意:如果选择scenario级别的并行,要保证所有测试场景完全独立,没有前后依赖,否则会出现用例互相干扰的问题。

  1. 改造浏览器实例管理逻辑:
    不能用静态变量存储WebDriver实例,要改用ThreadLocal<WebDriver>做线程隔离,保证每个并行线程持有独立的浏览器实例,避免多线程争抢同一个浏览器导致用例失败、执行逻辑串行的问题。所有类级别的JUnit钩子(@BeforeClass/@AfterClass)要替换成Cucumber原生的@Before/@After钩子,这类钩子会在每个并行场景的执行前后触发,适配多线程环境。
不推荐的备选方案(maven层面并行)

如果坚持要通过maven插件做并行调度,就不能只用一个Runner类:

  • 需要为每个feature文件单独创建对应的Cucumber Runner类,每个类的@CucumberOptions只指定对应的单个feature文件
  • 把failsafe的<parallel>配置改成classes,再配置对应的线程数,maven会同时调度多个Runner类实现并行
  • 这种方案需要维护大量Runner类,维护成本极高,没有特殊需求不建议使用。

内容的提问来源于stack exchange,提问作者Biswamber Khandei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:51:16