【问题标题】:SoapUI Free - Groovy Script in Property Value to Get TestSuite PropertySoapUI Free - 属性值中的 Groovy 脚本以获取 TestSuite 属性
【发布时间】:2014-06-04 12:55:11
【问题描述】:

我正在使用免费(非专业版)SoapUI 5.0,并且我有一个测试套件中的属性列表。 然后,我有许多测试步骤,每一个都与测试套件属性具有相同的名称。

我正在尝试在测试步骤属性中编写 Groovy 脚本,以检索具有相同名称的测试套件属性的值。

例如:

  • Test Suite 有一个属性 colour_red,其值为 12345。
  • 在测试套件中有一个测试用例,带有一个也称为 colour_red 的测试步骤。
  • colour_red 测试步骤中有一个属性“info”。
  • 我正在尝试将“info”的属性值作为测试套件 属性 colour_red 值为 12345。

到目前为止,我在“信息”属性值中拥有的内容:

${=new GroovyShell().evaluate(testRunner.testCase.testSuite.project.getPropertyValue(context.getCurrentStep().getLabel()))}

我不确定是否需要 new GroovyShell().evaluate 位,但没有它仍然无法工作。我无法确切知道正在提取什么,但它不是具有相同名称的 Test Suite 属性的值。

据我所知,脚本应该检索当前的测试步骤名称 (colour_red),然后在测试套件中寻找一个名为该名称的属性。

我这样做的原因是我在测试套件属性值中有数据,这些数据需要在大量测试用例之间共享(所有测试用例都有很多测试步骤)。 如果没有 PRO 版本,我正在苦苦挣扎,但我认为使用 Groovy 应该有办法做到这一点。

任何帮助表示赞赏,谢谢。

【问题讨论】:

    标签: testing groovy soapui


    【解决方案1】:

    我认为研究属性扩展会对您有所帮助。 http://www.soapui.org/Scripting-Properties/property-expansion.html

    为了让你继续......

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

    ${#TestSuite#colour_red}之类的引用作为“info”的属性值。

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

    【讨论】:

    • 谢谢,我已经在使用 ${#TestSuite#colour_red} 但是我希望能够为 TestSuite 中的每个 TestCase 使用相同的值,而不必更改每个值,例如${#TestSuite#colour_blue},${#TestSuite#colour_green}。但是查看属性扩展链接,我发现了我的问题,现在使用 Groovy 脚本如下: ${#TestSuite#${=context.getCurrentStep().getLabel()}} 这意味着我可以将相同的属性值放在每个测试步骤。
    【解决方案2】:

    我认为这是你想要的:

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

    我让它比它需要的更详细一点。我不认为 -Pro 会帮助你,除非我误解了你的需要。

    【讨论】:

    • 谢谢@SiKing - 但是在单个属性值中是否可以使用多行脚本?我现在已经解决了这个问题,但想知道是否可以使用更大的脚本。
    • 就像我说的:我让这个比它需要的更冗长。您可以将以上内容组合成一条线:${=testRunner.testCase.setPropertyValue('info', context.expand( '${#Project#' + context.currentStep.name + '}' ))};小心嵌套引号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2022-07-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多