使用SoapUI 4.6.1 我有TestCase,其中包括:
我的目标是将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中,无法通过其他测试步骤传递给属性转移。
答案 0 :(得分:1)
通过许多Q&amp; A,我尝试了很多不同的解决方案,但找到了我自己的(我猜)。
//scheme_list/scheme[${path#result}]
路径是脚本名称,结果是结果。
1条件是您返回所需的变量作为脚本的结果
因此,您可以将变量从脚本传递到Xpath。
如果有更简单的解决方案,请分享。