我正在为 soapUI 4.5 中的 REST API 创建一个测试用例,我将使用步骤 X 中的内容在步骤 Y 中进行新调用。
理想情况下,我会使用一些参数创建 REST 请求,比如 A 和 B,并说这些参数应该在 URL 中使用:
http://myapi.com/v1/stuff/A/B
然后我会做一个属性转移步骤,并简单地将从步骤 X 中提取的值设置为 A 和 B。
看起来soapUI 只允许我创建查询字符串参数,如下所示:
http://myapi.com/v1/stuff?ParamA=A&ParamB=B
这当然有效,但我希望能够以两种方式调用它,以验证它们都在工作。
我错过了什么吗?
最佳答案
我无论如何都不是soapui专家,但刚刚经历了一个非常相似的场景,所以这可能会帮助你。
第 1 部分:创建参数化资源
在我的服务中,我有一个名为 stuff 的资源:
http://{host}/stuff
我创建了一个具有以下值的子资源:
Resource Name: Get stuff by ID Resource Path/Endpoint: {stuffId}
and before clicking ok, click Extract Params - this will populate the Parameters table with an entry like:
Name | Default value | Style | Location stuffId | stuffId | TEMPLATE | RESOURCE
then click ok. You now have a resource that allows you to dynamically supply an id:
http://{host}/stuff/{id}
您需要重复此操作以创建上面的 B 参数(或者,如果您从不调用/stuff/A 而不提供 B,则可以将 A 和 B 创建为单个资源的两个参数)。
第 2 部分:创建测试用例
现在在测试用例中,您需要检索 A,传输属性,然后使用该属性向上述资源发送请求:
${propertyName}
我可能做错了什么,但我的测试最初在“缺少源属性”的属性转移上失败。在 Source 是 PropertyTransfer 步骤中,我需要将属性设置为 ResponseAsXml
希望这可以帮助!
关于rest - 如何将参数作为 SOAP UI REST 请求中路径的一部分添加到 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12930530/