soapUI - 使用groovy在请求中嵌入XML

时间:2013-08-30 19:00:01

标签: xml web-services groovy soapui

我正在使用soapUI进行测试用例,在某些步骤中我将使用REST任务并将XML代码放在下部窗格中,例如

<dataList>
    <data>
        3.1416
    </data>
    <data>
       5.11
    </data>
</dataList>

但我需要获取响应并存储将包含在响应的XML文本中的结果,以验证Web服务是否正在执行正确的操作,然后使用收到的结果发送更多请求。

谢谢大家!

2 个答案:

答案 0 :(得分:2)

我可以使用属性和Property Transfer

来解决这个问题
  1. 在“自定义属性”选项卡中将属性添加到TestCase

  2. 添加属性转移步骤

    2.1作为来源选择具有响应的测试步骤,其中存储结果

    2.2在属性的下拉列表中选择ResponseAsXml

    2.3在源文本中写入xml标记的路径如:  /数据列表/数据

    2.4作为目标选择添加了(1)

    的自定义属性的测试用例

    2.5作为目标属性,选择添加的自定义属性的名称。

  3. 非常感谢大家的快速回答:) 只要我有更好的声誉,我就会张贴一些照片。

    enter image description here enter image description here

答案 1 :(得分:1)

Groovy脚本测试步骤,与您的测试套件一起使用,如下所示:

def grUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = grUtils.getXmlHolder(
               context.expand('${TestStep#Response#//node}'))

println holder.getXml()

//where TestStep = Your test Step where you get the response  
//node = The xml node you want to pick. In your case it is "dataList"