Karate 可编程多值参数
我需要使用多值参数发出请求,它的值必须是一个非常大的数组才能测试api参数验证。我的一个实现:Karate 可编程多值参数,karate,Karate,我需要使用多值参数发出请求,它的值必须是一个非常大的数组才能测试api参数验证。我的一个实现: Scenario: filter_too_long_multivalue * def localPath = endPointBase + 'filter' * def generateLongParam = """ function(){ var paramValue = []; for(var idx = 0; idx<100
Scenario: filter_too_long_multivalue
* def localPath = endPointBase + 'filter'
* def generateLongParam =
"""
function(){
var paramValue = [];
for(var idx = 0; idx<1002; idx++){
paramValue.push('r')
}
var params = {};
params.pl = paramValue;
return params;
}
"""
* def tooLongParam = generateLongParam()
* print tooLongParam
Given path localPath
And params tooLongParam
When method get
Then match response == authorizationSchema.empty
场景:过滤器太长\u多值
*def localPath=endPointBase+“过滤器”
*def generateLongParam=
"""
函数(){
var参数值=[];
对于(var idx=0;idx是的,您遇到了其中一种边缘情况,您是否可以让我知道这是否有效,我还将看看这是否可以改进
有时JS函数返回的格式与Karate不完全一样。解决方法是使用json
而不是def
进行类型转换-请参阅文档:
谢谢,很有效。虽然有点复杂,但很有效,非常感谢。
* def fun =
"""
function(){
var temp = [];
for(var i = 0; i < 5; i++) {
temp.push('r');
}
return temp;
}
"""
* json array = fun()
Given url demoBaseUrl
And path 'echo'
And params { pl: '#(array)' }
When method get
Then status 200
1 > GET http://127.0.0.1:60146/echo?pl=r&pl=r&pl=r&pl=r&pl=r