空手道加特林:即使其中一个失败,如何强制并行执行所有现有功能文件?

时间:2019-11-21 09:10:48

标签: karate gatling gatling-plugin

当前,我有一个workflow.feature用于性能测试,它以给定的顺序调用所有现有的功能测试。如果其中一项测试失败,则整个工作流程将停止。

即使一个步骤失败,如何强制执行所有步骤?

Feature: A workflow of all functional tests to be executed for performance/loading tests.

  Scenario: Test all functional scenarios in the given order.
    * call read('classpath:foo1/bar1.feature')
    * call read('classpath:foo2/bar2.feature')
    * call read('classpath:foo3/bar3.feature')
    ...
    * call read('classpath:fooX/barX.feature')

这是一个手动管理的呼叫列表,但是也许有一种方法可以动态地从所有子文件夹中获取所有现有功能文件

1 个答案:

答案 0 :(得分:1)

  

如果其中一项测试失败,整个工作流程将停止。

如果您使用Scenario Outline:,即使一行失败,它也会处理所有行。所以也许:

Scenario Outline:

call read('classpath:' + file)

Examples:
| file            |
| foo/bar.feature |
| baz/ban.feature |
  

也许有一种动态方式可以从所有子文件夹中获取所有现有功能文件

如果您坚持要这样做,那么您应该能够编写Scala代码,而这与空手道无关。或者上述动态功能可能会给您一些想法。提示-您可以很容易地将Java混入空手道功能文件中。

  

有没有一种方法可以强制以任何顺序执行功能列表,以便在前一个功能文件失败时执行下一个功能文件。

参见上文。同样不要一问那么多问题,请保持简单。