有时候我的groovy无法设置Soapui Project属性,虽然我已经编写了正确的代码

时间:2016-02-22 06:59:28

标签: groovy soapui

我遇到了一些groovy代码和SoapUI的问题。 Groovy代码可以正常运行一段时间,有时则不运行。

示例:我编写了一段groovy脚本,用于设置SoapUI的项目属性和另一段groovy脚本,以启用TestSuite和TestCase(如果禁用)。

但问题在这里,它的工作非常不一致。

//To set Project Property
//Get Project
def getProject = testRunner.testCase.testSuite.project

//Set Project IP Property in Project level
def IP = context.expand( '${Properties#IP}' )
getProject.setPropertyValue( "Project_IP", "$IP")

//To enable TestSuite if its disable
 //get Project
def getProject = context.testCase.testSuite.project
 //get Test Suite Name
def TestSuite_Name = context.expand( '${DataSource#TestSuite_Name}' )
log.info TestSuite_Name

//Enable the TestSuite
getProject.getTestStepByName(TestSuite_Name).setDisabled(false)

2 个答案:

答案 0 :(得分:0)

我不知道为什么它有时会工作但是因为缺少了#34;#"它有时不起作用。面向soapUI变量

\b

以下行即可。无需添加"#"这里

def IP = context.expand( '${#Properties#IP}' )

有关更多语法,请参阅SoapUI Scripting Page

答案 1 :(得分:0)

看起来你对这些用法感到困惑,这是来自SoapUI的正确预期行为。

在引用测试用例,测试套件或项目级别属性时,

# 应在属性扩展中加前缀
在您的情况下,${#Project#PropertyName}

当您引用#时,

Test Step Name 不需要在属性扩展中添加前缀

正如您在其他用法中指出的那样,DataSource是测试步骤名称,而不是任何级别的属性,因此不需要#
因此,${DataSource#Whatever}

希望这澄清。