如何将变量插入" Xpath选择" SoapUI中的财产转移

时间:2017-05-10 10:00:05

标签: testing xpath groovy soapui

使用SoapUI 4.6.1 我有TestCase,其中包括:

  1. 测试请求(1)
  2. Groovy脚本
  3. 物业转移
  4. 测试请求(2)
  5. 我的目标是将Groovy Script的结果中的变量传递给Property Transfer的Xpath表达式。为了什么?

    测试请求(1)回复中,有以下方案列表:

    <...>
     <...>
      <...>
       <scheme_list>
        <scheme>
         <node1>
          ...
         </node1>
           ...
         <nodeN>
          ...
         </nodeN>
        </scheme>
    
        <scheme>
         <node1>
          ...
         </node1>
           ...
         <nodeN>
          ...
         </nodeN>
        </scheme>
    
        <scheme>
         <node1>
          ...
         </node1>
           ...
         <nodeN>
          ...
         </nodeN>
        </scheme>
       </scheme_list>
      </...>
     </...>
    </...>
    

    Groovy Script从所有其他方案中找到1个方案,这与我的条件相对应。 脚本的结果 - 是此方案的编号

    ...
    return i
    

    Property Transfer 中,我需要将找到的scheme i的所有节点传递给Test Request(2)。所以,我只需要采用这个方案的数量并将其传递给Xpath表达式。

    我认为这很容易:

    Source: //scheme_list/scheme[i] 
    Target: //scheme
    

    或我在互联网上找到的解决方案:

    Source: //scheme_list/scheme['+i+'] 
    Target: //scheme
    

    但不幸的是,它并没有奏效。我的变量&#34; i&#34;位于Groovy Script中,无法通过其他测试步骤传递给属性转移。

1 个答案:

答案 0 :(得分:1)

通过许多Q&amp; A,我尝试了很多不同的解决方案,但找到了我自己的(我猜)。

//scheme_list/scheme[${path#result}]

路径是脚本名称,结果是结果。

1条件是您返回所需的变量作为脚本的结果

因此,您可以将变量从脚本传递到Xpath。

如果有更简单的解决方案,请分享。