2015-08-13 74 views
0

我需要将生成的唯一值作为参数传递给请求xml。如何将参数作为属性传递给soapui中的请求xml

创建一个参数名=名$ {=(int)的(的Math.random()* 100)}

请求XML:

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

它接受$ {名称}在上述请求。 但如果作为一个属性传递

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

$ {name}是不是在这里承认。有人可以帮助如何将参数值传递给XML中的属性。

+0

什么是:“创建一个参数名=名称$ {=(INT)(数学。随机的()* 100)}“?你在哪里创建它?那是什么语法?请解释并纠正。就目前而言,这是无稽之谈。 – SiKing

回答

0

我很惊讶它在第一种情况下适用于您。

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

+0

这不工作,以及不知道是否因为该属性是在XML标记内,因为值为空即使它带/不带引号 – APIQA

0

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

无论如何,如果您已经正确设置属性,您可以在节点文本或属性中使用${name},对于我来说,它适用于这两种情况(至少在SOAPUI 5.0.0版本中)。此外,如果我直接在肥皂测试中使用groovy代码,步骤${=(int)(Math.random()*100)}在节点或属性中也适用于这两种情况。您可以检查raw视图,使其知道如果真的作品:

enter image description here

希望它能帮助,

相关问题