【发布时间】:2019-06-28 16:49:39
【问题描述】:
我们正在使用空手道对微服务进行后端测试。我希望能够对后端 API 进行 N 次调用,其中 N 可以配置为一个数字,而不必做丑陋的事情。
这是我的第一个方法:
Given url baseUrl
And headers HEADERS
When method get
Then status 200
Given url baseUrl
And headers HEADERS
When method get
Then status 200
Given url baseUrl
And headers HEADERS
When method get
Then status 200
(只是重复调用)它可以工作,但显然不能很好地扩展(想象一下其中的 1000 个)。
下一个方法更好一些 - 我将调用放在一个单独的功能中并使用https://github.com/intuit/karate#data-driven-features 方法:
* table jwts
| headers |
| HEADERS |
| HEADERS |
| HEADERS |
| HEADERS |
| HEADERS |
* def result = call read('call-once.feature') jwts
稍微好一点,但仍然无法扩展。我们还尝试了各种karate.repeat(),这似乎是最自然的方法,但语法有问题。我能找到的所有示例都没有在 for-each 中调用 API。
* def callFunction = function (HEADERS) { read('call-putaway-once.feature'); { HEADERS: '#(HEADERS)'} }
* def result = karate.repeat(5, callFunction)
但无法让任何种类的工作。
谁能提供一个示例,说明如何将相同的空手道线重复 N 次?我真的在寻找类似的东西:
for (int i = 0; i < numTimes; i++) {
Given url baseUrl
And headers HEADERS
When method get
Then status 200
}
(或功能等效)。
谢谢!
【问题讨论】:
标签: karate