【发布时间】:2018-07-16 16:42:09
【问题描述】:
我对 SoapUI(开源版本)和 REST 非常陌生。我们有一个 ERP 系统,它通过 Web 服务使用 REST,以允许第三方应用程序与其通信。我正在使用 SoapUI 来测试这些调用是如何工作的。我使用用户名和密码为我的会话获取令牌。我在 SoapUI 中使用了 Property Transfer 来设置用户名和密码。结果是 XML:
<MGRestTokenResponse xmlns="http://schemas.datacontract.org/2004/07/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Message>success</Message>
<Token>--I WANT THIS DATA--</Token>
</MGRestTokenResponse>
当我使用 Property Transfer 来获取令牌时,我能得到的最好的结果就是存储整个 XML 输出。经过大量谷歌搜索,我能想出的唯一解决方案是在后续步骤中,使用以下 Groovy 代码:
def content = context.expand('${Set Test Properties#sectoken}')
def xml = new XmlSlurper().parseText(content)
def token = xml.getAt("Token")
testRunner.testCase.getTestStepByName("Set Test Properties").setPropertyValue("sectoken",token.toString())
这是从 SoapUI 中的 XML 响应中提取数据的正确/首选方法吗?我应该对“目标”设置下方的文本字段做些什么吗?我假设这个过程与 JSON 类似(将 Slurper 换成 Json)。
我需要使用来自 SoapUI 的大量测试,并且我想确保我正确使用了该工具。
【问题讨论】:
标签: xml groovy soapui open-source