SOAPUI Groovy - 在另一个测试用例中更新XML请求

时间:2013-03-09 14:24:18

标签: groovy soapui

我的套件中有2个测试用例。 第一个测试用例包含1个带xml请求的测试步骤。 第二个测试用例包含一个带有groovy脚本的测试步骤。我想多次从这个groovy脚本运行第一个测试用例。每次我想更改输入XML。我无法更新TestCase 1中的输入XML。 我有以下groovy脚本的代码:

import com.eviware.soapui.support.XmlHolder
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context);
def tsuite = testRunner.testCase.testSuite
def acctInq_tstepName = tsuite.getTestCaseAt(1).getTestStepAt(0).getName()
def acctInq_requestHolder = tsuite.getTestCaseAt(1).testSteps[acctInq_tstepName].testRequest.getRequestContent()
def acctInq_req = groovyUtils.getXmlHolder("$acctInq_requestHolder")
acctInq_req["//soapenv:Envelope[1]/soapenv:Body[1]/v2:AcctInqRq[1]/ifx:DepAcctId[1]/ifx:AcctId[1]"] = "0009917812344"
acctInq_req.updateProperty()

我也尝试过使用

tstep.setPropertyValue("request",cStr(acctInq_req))

在任何一种情况下,XML都没有得到更新。请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试设置节点值,如下所示,检查是否解决了问题:

acctInq_req.setNodeValue("//*:ifx:AcctId[1]", "0009917812344")