我在使用groovy代码和 SoapUI
时遇到了一些问题 . Groovy
代码可以正常工作,有时则不行 .
Example: 我编写了一段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 回答
我不知道它为什么有时工作但有时因为soapUI变量缺少“#”而无法正常工作
以下行是好的 . 这里不需要添加“#”
有关更多语法,请参阅SoapUI Scripting Page
看起来你对这些用法感到困惑,这是
SoapUI
的正确预期行为 .当您引用测试用例,测试套件或项目级别属性时,在属性扩展中
#
should be prefixed .就像你的情况一样,
${#Project#PropertyName}
#
is not required to prefix 在您引用Test Step Name
时的属性扩展中 .正如您在其他用法中所指出的那样,
DataSource
是测试步骤名称,而不是任何级别的属性,因此不需要#
.因此,
${DataSource#Whatever}
希望这澄清一下 .