groovy 如何在soapUI中使用属性传输添加文本

f4t66c6m  于 2023-04-29  发布在  其他
关注(0)|答案(1)|浏览(122)

我在soapUI中有一个测试套件,它有两个测试用例。

  • 第一个测试用例有一个支付请求,其账号为2356698。
  • 我的第二个请求是关于为客户创建自动转账(循环)配置文件。在请求中,其中一个元素是带有字母的accountID。像这样,2356698REC。

有没有什么办法,我可以做一个财产转移,并添加这三个字母REC后的帐户号码。考虑到我必须多次执行测试,所以accountID每次都会改变。因此,我想从第一个请求中获取accountID并将其转移到第二个请求中,但也想将REC添加到其中。
这可以通过属性转移或groovy脚本实现吗?
任何形式的帮助将不胜感激。

2izufjch

2izufjch1#

希望soapui项目中已经创建了一个测试用例。
添加两个SOAP请求步骤,您可能已经有了它们。在两个请求步骤之间不需要属性转移或groovy脚本步骤。
对于第一个请求,使用以下代码添加Script Assertion

//Check if there is response
assert context.response, 'Response is empty'

//provide the element name which data you need to extract, in this case accountId
def requiredElement = 'accountId'

def xml = new XmlSlurper().parseText(context.response)

//extract account id value from xml
def accountIdValue = xml.'**'.find{it.name() == requiredElement}?.text()

//Store at test case level custom property
context.testCase.setPropertyValue('ACCOUNT_ID', accountIdValue)

在第二个请求中,执行以下更改:这里假设元素名为AccountId,您可以根据需要进行更改。

<AccountId>${#TestCase#ACCOUNT_ID}REC</AccountId>

当请求被发送时,soapui用第一步提取的值替换第二个请求中的值。
即使是上面的也可以在Property transfer的帮助下完成。将该值保存到测试用例中,并如上所述将其用于第二步REC和属性扩展。

相关问题