我对测试和SoapUI都很陌生,我刚遇到了一个问题: 我有2个肥皂请求,我将数据(使用PropertyTransfer)传输到属性 - 我可以这样做,它对我来说很好。 但现在我想在我的groovy脚本(这是我的测试用例的下一步)中获取这些值。怎么做?到目前为止,我发现了以下内容:
testRunner.testCase.getPropertyValue("SomeProp")
但它对我不起作用。我想这不是属性。有什么提示吗?
答案 0 :(得分:10)
在Groovy脚本面板中,您可以右键单击并选择“获取数据”,以帮助您。你最终会得到这样的东西:
context.expand( '${Properties step#SomeProp}' )
同样的事情也可以写成:
testRunner.testCase.testSteps['Properties step'].getPropertyValue("SomeProp")
答案 1 :(得分:1)
第一个表达式适用于:
context.expand( '${Properties_step#SomeProp}' )
答案 2 :(得分:1)
几分钱:
如果我们通过-Dsoapui.properties = \ tmp.properties
通过外部文件加载属性文件tmp.properties的内容
SERIALNUMBER = 908664374
在groovy文件中加载属性“serialNumber”的理想方法是
def serialnumber = context.expand('${#serialNumber}')
但是如果你在SOAPUI项目中的任何级别[测试套件,测试用例或项目]都有一个属性,比如你在项目级别有它,那么它就是
def serialnumber1 = context.expand('${#Project#serialNumber}')
答案 3 :(得分:0)
从项目级别属性中读取属性
testRunner.testCase.testSuite.project.getPropertyValue( "PropertyName")
从测试用例级别属性中读取属性
testRunner.testCase.getPropertyValue("PropertyName")
答案 4 :(得分:0)
对于这种情况,可能有两个答案,
设置和获取属性值,
邮件交换:
def testCase=messageExchange.modelItem.testCase.getPropertyValue("Propertyname")
测试运行器:
testRunner.testCase.getPropertyValue("PropertyName")
注意:上下文也有助于检索相同内容。