SoapUI自动化--批量设置Request的动态参数

       在测试接口的时候,经常会遇到这种情况: 一个方法中存在很多参数,其中的一些参数,每次请求的时候需要不一致,或者需要经过签名的数据,这需要通过groovy脚本来实现产生数据,放置到Request中.

       其中有一种简单的方法,即在一个Groovy脚本中,做好处理之后,直接return 值,然后在soap请求中,去选择getDate->from Groovy Result,这样就能完成参数的动态设置.但是这个方法有一个弊端,就是一个Groovy脚本只能完成对一个参数提供(还不包括参数的设置).如果需要设置N个参数,那就需要N个Groovy脚本文件来return 值,然后再soap请求中分别一一设置,太麻烦!下面推荐一个脚本来处理这些问题.

def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
//获取上下文对象,转化成groovyUtils对象
def holder = groovyUtils.getXmlHolder( "batchSubmitFundOutReceipts#Request" )
//将方法的request转化成XmlHolder对象,方便对其中的参数进行操作
holder.namespaces["ws"]="http://ws.receipt.shengpay.com/"
//设置命名空间

holder.setNodeValue("//ws:batchSubmitFundOutReceipts[1]/arg0[1]/signData[1]",result1)
//设置节点的值
holder.setNodeValue("//ws:batchSubmitFundOutReceipts[1]/arg0[2]/signData[1]",result0)
//设置节点的值
holder.updateProperty()
//更新request

    通过以上的脚本,就能一次对Request中的参数进行设置,方便测试的后续进行.

  总结:现在已经掌握了数据的处理和设置,数据的获取和判断.通过这些基础的搭配,就能完成一些简答的自动化Check.好了,这次就到这!

 

posted on 2012-10-17 01:01  Kiddo_马  阅读(5811)  评论(1编辑  收藏  举报

导航