我需要传递一个作为参数生成的唯一值来请求xml。
创建参数name = name $ {=(int)(Math.random()* 100)}
请求xml:
<toy>
<name>${name}</name>
</toy>
它在上述请求中接受$ {name}。 但如果作为属性传递
<toy name="${name}"/>
此处未识别$ {name}。有人可以帮助如何将参数值传递给xml中的属性。
答案 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
视图,以确定它是否真的有效:
希望它有所帮助,