如何将参数作为属性传递给soapui中的xml请求

时间:2015-08-13 22:49:53

标签: soapui

我需要传递一个作为参数生成的唯一值来请求xml。

创建参数name = name $ {=(int)(Math.random()* 100)}

请求xml:

<toy>
<name>${name}</name>
</toy>

它在上述请求中接受$ {name}。 但如果作为属性传递

 <toy name="${name}"/>
此处未识别

$ {name}。有人可以帮助如何将参数值传递给xml中的属性。

2 个答案:

答案 0 :(得分:0)

我很惊讶它在第一种情况下适合你。

根据documentation,要使用属性扩展,您应指定属性的范围:${#TestCase#name}

答案 1 :(得分:0)

由于@siKing表示扩展属性所需的范围,但有一种情况是您可以使用不带范围的属性名称,就像使用${name}一样;例如,如果你有一个testCase并且在其中你有一个groovy testStep,你使用context.setProperty('name','value')将变量放在一个上下文中,那么对于这个testCase中的其余testSteps你可以使用${name}。我想这就是你的情况。

无论如何,如果你正确设置了属性,你可以在节点文本或属性中使用${name},对我来说它适用于两种情况(至少使用SOAPUI 5.0.0版本)。此外,如果我在一个节点或属性中的soap testStep ${=(int)(Math.random()*100)}内直接使用你的groovy代码也适用于这两种情况。您可以查看raw视图,以确定它是否真的有效:

enter image description here

希望它有所帮助,