【问题标题】:Assertion Check for SoapUi responseSoapUi 响应的断言检查
【发布时间】:2019-01-15 21:59:11
【问题描述】:

考虑到摘要请求的SoapUI 响应,我们在多次出现的响应中都有相同的xml 标签。

我们如何检查是否有任何标签在响应中返回了不正确的数据?

例如: 我在xml 标签中有provideridentifier 多次出现;我想检查这个特定标签中的任何一个是否在包含断言中具有null 响应。

"[^0]" 在这种情况下不起作用。

【问题讨论】:

  • 更好地使用脚本断言和 xpath。包含可能会给您带来误报

标签: soapui assertion


【解决方案1】:

您可以使用 XPath Match 断言来计算空 provideridentifier 元素的数量:

count(//provideridentifier[not(normalize-space())])

例如:

此断言要求没有空的 provideridentifier 元素,如果至少找到一个元素就会失败。

我不知道您的 XML 有效负载是什么样的,因此这些测试使用缩减版:

XPath 返回2

<test>
    <provideridentifier></provideridentifier>
    <provideridentifier/>
    <provideridentifier>value</provideridentifier>
</test>

XPath 返回2

<test>
    <provideridentifier></provideridentifier>
    <provideridentifier/>
</test>

XPath 返回0

<test>
    <provideridentifier>value</provideridentifier>
</test>

XPath 返回0

<test/>

【讨论】:

    【解决方案2】:

    使用脚本断言来验证以下示例中提到的“provideridentifier”标签:

    def response = messageExchange.response.responseContent def resHolder = new XmlHolder(response) def provideridentifiers = resHolder.getNodeValues("//provideridentifier") //Xpath for(i=0; i<provideridentifiers.size(); i++){ assert provideridentifiers[i] != null : "provideridentifier field should not be null" }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多