【问题标题】:How to pass arguments to soapui test case from another test case which using Run Test Case step如何从另一个使用运行测试用例步骤的测试用例将参数传递给soapui测试用例
【发布时间】:2016-05-02 10:40:03
【问题描述】:

使用soapui开源版。我知道这个问题非常基本,但不知何故遗漏了一些东西,无法将参数值传递给template test case。

一个测试用例中有多个测试步骤。并且有多个测试具有不同的数据。所以,这可以通过不同的方式来完成。我正在尝试第二种方法。还看了soapui的documentation,没有人提到过这样的事情。

  1. 创建包含所有必需步骤的测试用例。多次克隆测试用例并更改数据。这不是聪明的方法。
  2. 创建一个测试用例,命名为basicTestCaseTemplate。假设它有 3 个soap 请求步骤,并且每个请求都使用一个属性并使用属性扩展而不是静态测试值,例如${#TestCase#ID}。然后使用名为Run Test Case 的测试步骤在不同的测试用例中使用上述模板用例,从这里传递ID 的值。但是,值 ID 不会传递给 templateTestCase 的请求。基本上想重用测试步骤。 有什么想法吗?

请注意,我可以使用 groovy step 而不是 Run Test Case 作为替代方案,如文档所述。但我认为,这是非常基本的事情,应该可以工作或犯一些琐碎的错误。

【问题讨论】:

    标签: soapui


    【解决方案1】:

    可能与您的 SOAPUI 版本有关,我尝试使用 SOAPUI 5.0.0 重现您的问题,因此我创建了一个 TestSuite其中包含两个 TestCases。

    在第一个 TestCase 中,我只是添加了一个 Test Step SOAP 请求,当您使用属性扩展 ${#TestCase#ID} 评论后续属性时,它会在他的请求中使用它。此外,我在此 Test Case 的 Custom Properties 选项卡上添加了 ID 属性,并将 original ID 作为值:

    在第二个 TestCase 中,我创建了一个 Run TestCase 步骤,并在那里将模板 TestCase 指定为 TestCase em> 运行。 TestStep 自动识别 TestCase ID 属性 并允许我在此上下文中为其分配不同的值:

    现在,如果我在 http 日志 选项卡中运行 Run TestCase,我可以看到带有修改后的 ID 的请求:

    Wed May 04 13:24:15 CEST 2016:DEBUG:>> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:oasis:names:tc:dss:1.0:profiles:archive">[\n]"
    Wed May 04 13:24:15 CEST 2016:DEBUG:>> "   <soapenv:Body>[\n]"
    Wed May 04 13:24:15 CEST 2016:DEBUG:>> "   [0x9]different ID from Run TestCase step[\n]"
    Wed May 04 13:24:15 CEST 2016:DEBUG:>> "   </soapenv:Body>[\n]"
    Wed May 04 13:24:15 CEST 2016:DEBUG:>> "</soapenv:Envelope>"
    

    注意:似乎如果您没有在模板 TestCase 的 Custom property 选项卡上显式添加属性,则 Run TestCase 步骤不要给你设置属性值的选项(即使你在请求上使用属性扩展)。我认为您的问题可能出在此。

    希望对你有帮助,

    【讨论】:

    • 谢谢@albciff。得知我忽略了您在屏幕截图中显示的运行测试用例步骤的参数。也适用于 4.5.1。但是,也想使用 Template 的返回属性值,有些不太确定。
    • 恰好做了一个带有返回值的sample project。如果您有任何反馈,我欢迎您。
    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多