使用soapui开源版。我知道这个问题非常基础,但不知何故错过了某些内容而无法将参数值传递给template test case
。
测试用例中有多个测试步骤。并且有多个不同数据的测试。所以,这可以通过不同的方式完成。我正在尝试第二种方法。还看了一下soapui的documentation,没有提到这样的事情。
basicTestCaseTemplate
。假设它有3个soap请求步骤,并且每个请求都使用属性并使用属性扩展而不是静态测试值,例如${#TestCase#ID}
。然后使用名为Run Test Case
的测试步骤在不同的测试用例中使用上述模板案例,从此处传递ID值。但是,值ID不会传递给templateTestCase
的请求。基本上想重用测试步骤。
有什么想法吗?请注意,我可以使用groovy步骤而不是Run Test Case
作为替代方法,如文档所述。但我认为,这是一个非常基本的东西,应该可以工作或做一些错误。
答案 0 :(得分:1)
可能与您的 SOAPUI 版本有关,我尝试使用 SOAPUI 5.0.0 重现您的问题,因此我创建了一个 TestSuite 其中包含两个 TestCases 。
在第一个 TestCase 中,我只需添加一个测试步骤SOAP请求,在您使用属性扩展${#TestCase#ID}
注释follow属性时,它会使用它。此外,我添加了此测试用例的自定义属性标签ID
属性original ID
作为值:
在第二个 TestCase 中,我创建了一个 Run TestCase 步骤,并在那里指定模板 TestCase 作为 TestCase 跑。此 TestStep 自动识别 TestCase ID属性,并允许我在此上下文中为其指定不同的值:
现在如果我在 http log 标签中运行 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 的自定义属性标签上明确添加该属性,那么运行TestCase步骤不允许您选择设置属性值(即使您在请求中使用了属性扩展)。我认为你的问题可能存在于此。
希望它有所帮助,