Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SoapUI的groovy中获取属性值_Groovy_Properties_Soapui - Fatal编程技术网

在SoapUI的groovy中获取属性值

在SoapUI的groovy中获取属性值,groovy,properties,soapui,Groovy,Properties,Soapui,我对测试和SoapUI非常陌生,我刚刚遇到一个问题: 我有两个soap请求,从中我使用PropertyTransfer将数据传输到属性-我可以这样做,它对我来说很好。 但现在我想在groovy脚本中获取这些值,这是我测试用例的下一步。怎么做?到目前为止,我发现了以下几点: testRunner.testCase.getPropertyValue("SomeProp") 但这对我不起作用。我想不是这样的。有什么提示吗?在Groovy脚本面板中,您可以右键单击并选择“获取数据”来帮助您。你会得到这

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

testRunner.testCase.getPropertyValue("SomeProp")

但这对我不起作用。我想不是这样的。有什么提示吗?

在Groovy脚本面板中,您可以右键单击并选择“获取数据”来帮助您。你会得到这样的结果:

context.expand( '${Properties step#SomeProp}' )
同样的事情也可以写成:

testRunner.testCase.testSteps['Properties step'].getPropertyValue("SomeProp")

第一个表达式适用于:

context.expand( '${Properties_step#SomeProp}' )
几美分:

如果我们通过-Dsoapui.properties=\tmp.properties通过外部文件加载属性文件

testRunner.testCase.testSuite.project.getPropertyValue( "PropertyName")
testRunner.testCase.getPropertyValue("PropertyName")
tmp.properties的内容

testRunner.testCase.testSuite.project.getPropertyValue( "PropertyName")
testRunner.testCase.getPropertyValue("PropertyName")
序列号=908664374

在groovy文件中加载属性“serialNumber”的理想方法是

def serialnumber = context.expand('${#serialNumber}')
但是,如果您在SOAPUI项目中的任何级别[测试套件、测试用例或项目]都有一个属性,比如说您在项目级别拥有它,那么它就是

def serialnumber1 = context.expand('${#Project#serialNumber}')

从项目级属性读取属性的步骤

testRunner.testCase.testSuite.project.getPropertyValue( "PropertyName")
testRunner.testCase.getPropertyValue("PropertyName")
从测试用例级属性中读取属性

testRunner.testCase.testSuite.project.getPropertyValue( "PropertyName")
testRunner.testCase.getPropertyValue("PropertyName")

对于这种情况,可能有两种答案

设置和获取属性值

信息交换 测试运行器 信息交换:

试车员:


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

什么不起作用?是否存在任何错误、异常等?在我的属性步骤中,我有一个名为SomeProp的属性,其值为valOfProp。当我使用log.infotestRunner.testCase.getPropertyValueSomeProp时,我得到了NULL。第一个表达式不起作用。第二个是。另一件奇怪的事情是,在我的groovy脚本中,我不能右键单击->获取数据。只是不在那里。我可以在soap请求中执行类似的操作。但不是在groovy脚本中。你能给我一些建议吗?我正在使用最新的免费SoapUIversion@user3447603我认为右键点击指南是一个专业版的功能。