Kar*_*ndi 6 groovy global properties soapui
我有一个SoapUI项目,其中包含大约60多项服务.每项服务都需要一些输入,每次执行都会更改.所以我创建了某些全局属性并为该属性分配了一些值.
我必须在我的SoapUI请求中使用这些属性值(即JSON格式请求).
如果是groovy脚本意味着,我将使用这样的.
字符串HTiC_Username = com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.globalProperties ['HTiC_Username'].value;
但是,如何在请求中获取全局属性的值?
希望你理解我的问题.请提供适当的指导.
谢谢
小智 8
要将属性的值动态"扩展"(即替换)到测试步骤,请使用以下语法: ${#scope#propertyName}
...其中"范围"指的是在该属性已被定义的电平(例如Global,Project,TestSuite,TestCase).
因此,要扩展名为username的属性,定义为Global属性,例如,可以在请求测试步骤中直接使用以下代码(例如,在JSON正文中,或者标题值等):
${#Global#username}
Run Code Online (Sandbox Code Playgroud)
要在Groovy测试步骤中访问相同的属性值,可以使用以下语法:
context.expand('${#scope#propertyName}')
......如下例所示:
context.expand('${#Global#username}')
Run Code Online (Sandbox Code Playgroud)
我们所做的如下:
testdata.properties 的示例内容:
Billing_customerID=1234567
OtherService_ paymentid=12121212
....
带参数的服务的示例内容:
...
<BillingCustomerIdentification>
<BillingCustomerID>${#Properties#Billing_customerID}</BillingCustomerID>
</BillingCustomerIdentification>
...
Run Code Online (Sandbox Code Playgroud)
以这种方式设置项目还有助于自动化服务测试,例如。使用 Hudson(请参阅我之前的 SO 答案)。
如果它太重并且自动化不是目标,您可以简单地 在 xml 中使用${#Global#someinputvariable}格式;-)