利用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脚本中文乱码及符号乱码响应乱码解决方案