空手道中是否可以使用karate.repeat或其他任何方式多次调用功能?

时间:2019-07-30 13:56:03

标签: karate

我正在尝试测试一个需要发布100次请求的场景(这不是性能测试)。我可以通过设置每100行来使用表功能,其中每行代表一个请求。但是,这将是冗长乏味的。

因此,我找到了Karate.repeat,并希望这可以解决问题。我只是想知道是否还有另一种方法可以实现我的目标。

* def users = function(i){ call read("classpath:v1/createCustomer.feature") { "firstName": '#(firstName)', "lastName": '#(lastName)' }
* def usersResult = karate.repeat(2, users )
* match usersResult [*].responseStatus == [204, 204]

我希望该功能被调用两次。

1 个答案:

答案 0 :(得分:2)

您应该可以为此使用repeat,但不要在DSL中使用call

karate.call

如果您希望每个呼叫使用不同的数据,还建议您检查空手道中的data drivendynamic scenario outline选项。正如您在问题中提到的,而不是使用100行数据表,您可以使用json数组或csv来实现相同目的。