Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SOAPUI-是否可以捕获json响应值并将其作为参数传递给另一个测试用例?_Json_Rest_Groovy_Soapui - Fatal编程技术网

SOAPUI-是否可以捕获json响应值并将其作为参数传递给另一个测试用例?

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", }] }

下面是RESTAPI的json输出,我希望捕获id(来自响应)并将其作为参数传递给另一个测试。可能吗

{
   "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}"