我正在使用免费(非PRO)SoapUI 5.0,我在测试套件中有一个属性列表。 然后,我有许多测试步骤,每个步骤都与Test Suite属性具有相同的名称。
我正在尝试在Test Step属性中编写Groovy脚本,以检索具有相同名称的Test Suite属性的值。
例如:
到目前为止我在“info”属性值中的内容:
${=new GroovyShell().evaluate(testRunner.testCase.testSuite.project.getPropertyValue(context.getCurrentStep().getLabel()))}
我不确定我是否需要新的GroovyShell()。评估位,但如果没有它,它仍然无效。我无法确切地说出正在拾取的内容,但它不是具有相同名称的Test Suite属性的值。
从我可以看到的脚本应该检索当前的测试步骤名称( colour_red ),然后在测试套件中查找名为该属性的属性。
我这样做的原因是我在Test Suite属性值中有数据需要在众多测试用例之间共享(所有测试用例都有很多测试步骤)。 没有PRO版本我很挣扎,但我认为使用Groovy应该有办法做到这一点。
感谢任何帮助,谢谢。
答案 0 :(得分:1)
我认为研究房地产扩张会对你有所帮助。 http://www.soapui.org/Scripting-Properties/property-expansion.html
让你去...
您可以使用以下动态参考轻松引用属性值:
将${#TestSuite#colour_red}
之类的引用作为“info”的属性值。
现在,info属性值被动态设置为TestSuite的colour_red属性值。
答案 1 :(得分:0)
我认为这可以满足您的需求:
def myStep = context.currentStep.name
def myValue = context.expand( '${#Project#' + myStep + '}' )
testRunner.testCase.setPropertyValue("info", myValue)
我把它变得比它需要的更冗长。我不认为-Pro会帮助你,除非我误解了你的需要。