在SoapUI的groovy中获取属性的值

时间:2014-09-17 15:32:27

标签: groovy properties soapui

我对测试和SoapUI都很陌生,我刚遇到了一个问题: 我有2个肥皂请求,我将数据(使用PropertyTransfer)传输到属性 - 我可以这样做,它对我来说很好。 但现在我想在我的groovy脚本(这是我的测试用例的下一步)中获取这些值。怎么做?到目前为止,我发现了以下内容:

testRunner.testCase.getPropertyValue("SomeProp")

但它对我不起作用。我想这不是属性。有什么提示吗?

5 个答案:

答案 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")

注意:上下文也有助于检索相同内容。