如何实现Karate Feature文件并行运行、场景串行执行?
解决方案
要实现Feature文件并行运行、单个Feature内的Scenario串行执行,无需在Feature文件中添加@parallel=false注解,只需通过Runner代码精确控制并行级别即可:
修改后的ParallelRunner代码
package com.api.automation; import org.junit.jupiter.api.Test; import com.intuit.karate.Runner.Builder; public class ParallelRunner { @Test public void executeKarateTest() { Builder aRunner = new Builder(); aRunner.path("classpath:Package_A", "classpath:Package_B"); // 关闭场景级并行,仅启用Feature文件级并行 aRunner.scenarioLevelParallelism(false); // 设置并行线程数,可根据实际Feature文件数量调整 aRunner.parallel(4); } }
关键说明
scenarioLevelParallelism(false):该配置会让Karate仅在Feature文件维度执行并行,单个Feature内部的所有Scenario会自动按顺序串行执行。- 之前在Feature文件添加
@parallel=false会导致整个Feature文件被标记为不可并行,进而出现所有文件串行的问题,这个注解的作用是标记单个不允许并行的Feature,而非控制其内部Scenario的执行顺序。
内容的提问来源于stack exchange,提问作者akhil reddy
相关产品推荐
相关产品推荐

