利用groovy脚本获取soapui中请求和响应的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用groovy脚本获取soapui中请求和响应的值相关的知识,希望对你有一定的参考价值。

参考技术A 1.获取请求中参数的值:

设下图是我们已经建好的一步test step,它是一个rest test request,请求的参数有client_id和password两个,这一步step我们之前已经给它取名为user了

假设我们现在需要获取到client_id的值(也就是testor),那么我们可以新建一个groovy script,并且写入以下代码:

testRunner.testCase.testSteps['user'].getPropertyValue("client_id")
在soapUI中可以把它输出,结果就是我们想要的testor

2.获取响应结果的值

接上文,假设user这个request的返回结果是以下的json:


"code": 200,
"message": "",
"result":
"token": "F7052EEE86FA6087CC0D1B2BD8BA8040"



那么我们想要获取到token的值,应该怎么做呢?

首先,要通过SoapUI提供的GroovyUtils获取返回的xml消息的操作XmlHolder

import com.eviware.soapui.support.GroovyUtils
def gu = new GroovyUtils(context)
def field = gu.getXmlHolder("user#ResponseAsXml")
接着,在XmlHolder中使用Xpath获取返回字段内容,可以自己写,如下:

def b= field.getNodeValue("//*:result/*:token")
如果觉得太麻烦老是写错path,而且你也不嫌代码难看,可以去assertion里选择Xpath Match,直接找到这个节点,用系统提供给你的值写到groovy中

即可以:def c=field.getNodeValue("//ns1:Response[1]/ns1:result[1]/ns1:token[1]")
到soapUI中查看输出结果,可以看到上文的b和c两个变量都能获取到正确的token值

以上是关于利用groovy脚本获取soapui中请求和响应的值的主要内容,如果未能解决你的问题,请参考以下文章

SOAPUI中的Groovy脚本,用于在Soap请求中插入新标记

soapui-groovy脚本中文乱码及符号乱码响应乱码解决方案

soapui中的groovy脚本怎么写

soapUI groovy脚本groovy.lang.MissingMethodException

soapui-使用groovy脚本执行用例请求

SoapUI NG Pro v1.9发布,Groovy功能消除脚本困扰