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