我正在为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
这当然有效,但我希望能够双向调用它,以验证它们是否正常工作。
我错过了什么吗?
答案 0 :(得分:11)
我不是任何方式的soapui专家,但刚刚完成了一个非常类似的场景,所以这可能会帮助你。
第1部分:创建一个参数化的资源
在我的服务中,我有一个名为stuff的资源:
http://{host}/stuff
我使用以下值创建子资源:
Resource Name: Get stuff by ID Resource Path/Endpoint: {stuffId}
在单击“确定”之前,单击“提取参数” - 这将使用以下条目填充“参数”表:
Name | Default value | Style | Location stuffId | stuffId | TEMPLATE | RESOURCE
然后点击确定。您现在拥有一个允许您动态提供ID的资源:
http://{host}/stuff/{id}
你需要重复这个来创建上面的B参数(或者你可以创建A和B作为单个资源的两个参数,如果你从不调用/ stuff / A而不提供B)。
第2部分:创建测试用例
现在在测试用例中,您需要检索A,传输属性,然后使用属性向上述资源发送请求:
使用在第一部分中创建的新的paramatized资源创建新请求。在id的位置,将以这种格式保存A值的属性引用:
${propertyName}
我可能做错了什么,但我的测试最初因“缺少源属性”而导致属性转移失败。在PropertyTransfer步骤的Source中,我需要将属性设置为ResponseAsXml
希望这有帮助!