如何在空手道中向数组添加元素?
How to add an element to an array in karate?
如何在空手道中向数组添加元素?
我有一个来自响应的字符串数组(不是 json 数组),并为下一个请求添加一个字符串元素。
我尝试了很多 JS 函数,但没有成功。
感谢任何帮助。
Scenario:123
* def roles = ["role1"]
* def newrole = "role2"
* def addrolefn =
"""
function(role,roles1) {
var fullrole = [];
for (var i=0; i<roles1.length;i++) {
fullrole = fullrole.push(role);
}
return fullrole;
}
"""
* def fullroles = call addrolefn (newrole,roles)
* print fullroles
请参考set
关键字。
* def roles = ["role1"]
* def newrole = "role2"
* set roles[1] = newrole
* print karate.pretty(roles)
结果:
06:26:35.324 [main] INFO com.intuit.karate - [print] [
"role1",
"role2"
]
编辑:实际上我刚刚提出了一个增强请求,希望向空手道添加一个 append
关键字。同时,这应该可以回答您的所有问题并作为解决方法。
* def roles = null
# javascript that assigns an empty array if null
* json roles = (roles || [])
* def newrole = "role2"
# javascript to append to an array. the def void is useless
* def void = (roles.add(newrole))
* print karate.pretty(roles)
编辑:类型转换为 json,并使用 java 列表 api add
方法
如何在空手道中向数组添加元素? 我有一个来自响应的字符串数组(不是 json 数组),并为下一个请求添加一个字符串元素。 我尝试了很多 JS 函数,但没有成功。
感谢任何帮助。
Scenario:123
* def roles = ["role1"]
* def newrole = "role2"
* def addrolefn =
"""
function(role,roles1) {
var fullrole = [];
for (var i=0; i<roles1.length;i++) {
fullrole = fullrole.push(role);
}
return fullrole;
}
"""
* def fullroles = call addrolefn (newrole,roles)
* print fullroles
请参考set
关键字。
* def roles = ["role1"]
* def newrole = "role2"
* set roles[1] = newrole
* print karate.pretty(roles)
结果:
06:26:35.324 [main] INFO com.intuit.karate - [print] [
"role1",
"role2"
]
编辑:实际上我刚刚提出了一个增强请求,希望向空手道添加一个 append
关键字。同时,这应该可以回答您的所有问题并作为解决方法。
* def roles = null
# javascript that assigns an empty array if null
* json roles = (roles || [])
* def newrole = "role2"
# javascript to append to an array. the def void is useless
* def void = (roles.add(newrole))
* print karate.pretty(roles)
编辑:类型转换为 json,并使用 java 列表 api add
方法