【问题标题】:how to declare wildcard in namespaces in soapui?如何在soapui的命名空间中声明通配符?
【发布时间】:2021-03-28 00:27:12
【问题描述】:

我有两个环境。本地和云。在云中,我得到名称空间为的结果

<ServiceAvailability **xmlns="http://types.infrastructure.abc.de"**>
  <BackendSystem>*</BackendSystem>
  <BackendName>Domain Server Release GIT commit hash</BackendName>
  <Status>OK</Status>
  <URL>*</URL>
  <Timestamp>*</Timestamp>
</ServiceAvailability>

在本地我没有命名空间

<ServiceAvailability>
  <BackendSystem>*</BackendSystem>
  <BackendName>Domain Server Release GIT commit hash</BackendName>
  <Status>OK</Status>
  <URL>*</URL>
  <Timestamp>*</Timestamp>
</ServiceAvailability>

我在soapui中使用xpath作为

declare namespace ns1='http://types.infrastructure.abc.de';
/ns1:ServiceAvailabilities/ns1:ServiceAvailability[ns1:BackendName='Domain Server Release GIT commit hash']

所以它通过云而不是本地,因为有命名空间。那么我怎样才能使我的测试用例涉及 * 作为命名空间(基本上忽略命名空间)soapui 中有一个选项说 ignore namespace prefixes 但是当打勾时它仍然不起作用???如何在我的命名空间声明中使用通配符???

【问题讨论】:

    标签: xpath namespaces soapui wildcard


    【解决方案1】:

    处理它的一种方法是使用本地名称。因此,以下内容适用于您问题中 xml 的两个版本:

    //*[local-name()='ServiceAvailability']/*[local-name()="BackendName"['Domain Server Release GIT commit hash']]
    

    【讨论】:

    • 实际上我在单个 ServiceAvailabilities 中有很多 ServiceAvailability 元素,所以我得到“在给定的响应中不止一个匹配”
    • @MiGo 好吧,我只能处理问题中的 xml 样本,而不是现实生活:)
    【解决方案2】:

    下面的代码可以帮助你,这个 groovy 代码可以使用或不使用soapui的命名空间。

    我用 2 个不同的响应运行相同的代码,

    您需要在下面的代码中更改的唯一内容是“REST_Request”

     def GroovyUtils=new com.eviware.soapui.support.GroovyUtils(context)
     def request=GroovyUtils.getXmlHolder("REST_Request#Response")
     def backendName = request.getNodeValue("/*:ServiceAvailability/*:BackendName")
     log.info backendName 
    

    【讨论】:

      【解决方案3】:

      要使用通配符命名空间,您可以使用星号 * 代替命名空间。因此,对于您的示例,它将是:

      /*:ServiceAvailabilities/*:ServiceAvailability[*:BackendName='Domain Server Release GIT commit hash']
      

      注意没有declare 声明!

      【讨论】:

        猜你喜欢
        • 2017-12-16
        • 2010-10-27
        • 1970-01-01
        • 2011-01-06
        • 2018-07-13
        • 1970-01-01
        • 1970-01-01
        • 2011-01-31
        相关资源
        最近更新 更多