【SoapUI】获取请求响应json中键值对的值,并进行断言
JSON串响应值
{
"code": 0,
"msg": "success",
"data": {"orderId": "1234567892123456"}
}
方法1:在请求中添加Script Assertion的groovy脚本的方法
步骤1:进入请求(请求命名:获取订单号信息)中,选择Assertions,添加Script Assertion
步骤2:在Script Assertion页面输入如下groovy脚本案例:
import groovy.json.JsonSlurper
//获取response值
defxresponse = messageExchange.modelItem.testCase.testSteps["获取订单号信息"].testRequest.response.contentAsString
def slurper = new JsonSlurper()
def result = slurper.parseText(xresponse)
//获取json串中msg和 orderid值
defmsg=result.msg.toString()
def orderid=result.data.orderId.toString()
log.info(msg)
//断言
assertmsg.equals("success")
方法2:在testCase中独立新建Groovy Script的方法
步骤1:先建REST请求,并创建testSuite和testCase请求(请求命名:获取订单号信息)
步骤2:在testCase中创建Groovy Script,脚本案例如下:
import groovy.json.JsonSlurper
//获取response值,注testSteps指得是请求名称,而不是TestCase的名称
defxresponse = testRunner.testCase.testSteps["获取订单号信息"].testRequest.response.contentAsString
defslurper = new JsonSlurper()
defresult = slurper.parseText(xresponse)
//获取json串中msg值
defmsg=result.msg.toString()
log.info(msg)
//断言
assertmsg.equals("success")
备注:testSteps指得是请求名称,而不是TestCase或testSuite的名称