【SoapUI】获取请求响应json中键值对的值,并存入testSuite或testCase或project对应参数中
步骤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()
if(msg== "success")
{
//获取json串中id和orderSyncId值
deforder_Id = result.data[0].id.toString()
defyd_order_Id = result.data[0].orderSyncId.toString()
defsignbill_id=result.data[0].orderInfo[0].id.toString()
defname=result.data[0].orderInfo[0].name.toString()
if(order_Id!=null & order_Id !=" " &yd_order_Id !=null & yd_order_Id !=" " )
{
//将订单ID存入testSuite中CustomProperty的参数
//testRunner.testCase.testSuite.setPropertyValue("Order_id", order_Id)
//testRunner.testCase.testSuite.setPropertyValue("YD_Order_id", yd_order_Id)
//将订单ID存入project中CustomProperty的参数
//testRunner.testCase.testSuite.project.setPropertyValue("Name",name);
//将订单ID存入testCase中CustomProperty的参数
testRunner.testCase.setPropertyValue("Order_id", order_Id)
testRunner.testCase.setPropertyValue("YD_Order_id", yd_order_Id)
testRunner.testCase.setPropertyValue("Signbill_id", signbill_id)
log.info("获取所有订单信息成功!")
log.info(signbill_id)
log.info(order_Id)
log.info(yd_order_Id)
}else
{
log.info("获取订单订单号失败,请尽快联系管理员!")
}
}else
{
log.info("获取所有订单信息失败,请检查!")
}