Karate中Feature级并行时,如何让Scenario Outline的Examples串行执行?
Karate框架实现Scenario Outline并行、Examples串行的方案
完全可以实现你要的需求,具体配置方式如下:
- 保留Feature文件级的
@parallel=true注解,这是让文件内多个Scenario Outline能够并行执行的基础。 - 给每个需要串行执行内部Examples的Scenario Outline单独添加
@parallel=false注解。Karate的并行规则支持子级注解覆盖父级设置,因此Feature级开启全局并行,单个Scenario Outline关闭并行后,就能达到:- 不同的Scenario Outline(比如@TestCase1和@TestCase2)之间并行执行
- 每个Scenario Outline下的Examples按定义顺序串行执行
示例Feature文件结构
@parallel=true Feature: 并行测试示例 @TestCase1 @parallel=false Scenario Outline: 测试用例1 Given url 'http://your-api-domain.com' When path '/<api-path>' Then status 200 Examples: | api-path | | api1 | | api2 | | api3 | @TestCase2 @parallel=false Scenario Outline: 测试用例2 Given url 'http://your-api-domain.com' When path '/<api-path>' Then status 200 Examples: | api-path | | api1 | | api2 | | api3 |
上述配置执行时,@TestCase1和@TestCase2会同时启动执行,但各自内部的三组Examples会严格按照示例列表的顺序依次运行,不会出现单Scenario Outline内用例乱序的情况。
内容的提问来源于stack exchange,提问作者Chethan Swaroop
相关产品推荐
相关产品推荐

