我是soapui的新手,我正在尝试在列表选项中进行属性转移,其中ha selected = true。响应是JSON,我可以选择代码为$.response.optionList[0].options[1].id
的元素,而是给出我想要选择的元素编号= true。这是用groovy脚本做的吗?有没有人有任何建议?
{
"response": {
"optionList": [
{
"options": [
{
"id": 10,
"selected": false
},
{
"id": 11,
"selected": true
}
]
},
{
"options": [
{
"id": 12,
"selected": false
}]
}
]
}
}
答案 0 :(得分:1)
您是否在休息请求步骤后使用了属性转移测试步骤?
您可以使用Script Assertion
进行剩余请求步骤,以实现和删除属性转移测试步骤。
使用以下脚本:
//check if there is response
assert context.response, 'response is empty or null'
def json = new groovy.json.JsonSlurper().parseText(context.response)
def id
json.response.optionList.each{ optionItem ->
optionItem.options.each { option ->
if (option.selected == true) {
id = option.id
}
}
}
log.info "id value when selected is true : ${id}"
context.testCase.setPropertyValue('ID', id?.toString())
如果您需要从之前的步骤响应中访问上述id
并在以后的步骤中使用它,请使用属性扩展说${#TestCase#ID}
您可以在线快速尝试上述脚本 Demo