首页 文章

SoapUI Free - 在属性值中使用Groovy脚本来获取TestSuite属性

提问于
浏览
0

我正在使用免费(非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 回答

  • 0

    我认为这样做你想要的:

    def myStep = context.currentStep.name
    def myValue = context.expand( '${#Project#' + myStep + '}' )
    testRunner.testCase.setPropertyValue("info", myValue)
    

    我把它变得比它需要的更冗长 . 我不认为-Pro会帮助你,除非我误解了你的需要 .

  • 1

    我认为研究房地产扩张会对你有所帮助 . http://www.soapui.org/Scripting-Properties/property-expansion.html

    为了让你去...

    您可以使用以下动态引用轻松引用属性值:

    ${#TestSuite#colour_red} 之类的引用作为"info"的属性值 .

    现在,info属性值被动态设置为TestSuite的colour_red属性值 .

相关问题