SOAPUI-是否可以捕获json响应值并将其作为参数传递给另一个测试用例?
下面是RESTAPI的json输出,我希望捕获id(来自响应)并将其作为参数传递给另一个测试。可能吗SOAPUI-是否可以捕获json响应值并将其作为参数传递给另一个测试用例?,json,rest,groovy,soapui,Json,Rest,Groovy,Soapui,下面是RESTAPI的json输出,我希望捕获id(来自响应)并将其作为参数传递给另一个测试。可能吗 { "Documents": "1", "maxResults": "1000", "pageSize": "1", "startIndex": "0", "documents": [ { "id": "sdfg7234-shdjfh823-wjk283-sdjf29", "name": "nameofodc.doc", }] }
{
"Documents": "1",
"maxResults": "1000",
"pageSize": "1",
"startIndex": "0",
"documents": [ {
"id": "sdfg7234-shdjfh823-wjk283-sdjf29",
"name": "nameofodc.doc",
}]
}
下面是groovy脚本,它可以从给定json响应的
文档中检索id
,然后将值存储到名为id
的测试用例级自定义属性中
此脚本使用静态/固定响应
进行演示
import groovy.json.*
def response ='''{ "Documents": "1", "maxResults": "1000", "pageSize": "1", "startIndex": "0", "documents": [ { "id": "sdfg7234-shdjfh823-wjk283-sdjf29", "name": "nameofodc.doc", }] }'''
//Parse the response string
def parsed = new JsonSlurper().parseText(response)
//Extract the value of id and store it at test case level property ID
context.testCase.setPropertyValue('ID', parsed.documents[0].id.toString())
如果希望脚本使用动态响应,请将上面的第2条语句替换为下面的语句
//Replace LoginRequest with actual test step name
def response = context.expand( '${LoginRequest#Response}' )
或
def id=context.testCase.getPropertyValue('id')
log.info“从测试用例属性检索到的ID为${ID}”
- 如果下一步是请求步骤,那么使用
${TestCase\ID}
当然,一切皆有可能!你试过什么?什么有效?什么没有?你学到了什么?您试图遵循文档的哪些部分,并且可能不清楚?你可能读过了吗?@Geeme,如果你还在找,请检查答案。
context.expand('{#TestCase#ID}')
def id = context.testCase.getPropertyValue('ID')
log.info "ID retrieved from test case property is ${id}"