无论如何,我都不是soapui专家,但刚刚经历了一个非常相似的场景,所以这可能会对你有所帮助。
第 1 部分:创建参数化资源
在我的服务中,我有一个名为 stuff 的资源:
http://{host}/stuff
我创建了一个具有以下值的子资源:
资源名称:通过 ID 获取内容
资源路径/端点:{stuffId}
在单击确定之前,单击提取参数 - 这将使用如下条目填充参数表:
姓名 | 默认值 | 风格 | 地点
东西ID | 东西ID | 模板 | 资源
然后单击确定。您现在拥有一个允许您动态提供 id 的资源:
http://{host}/stuff/{id}
您需要重复此操作以创建上面的 B 参数(或者,如果您从不调用 /stuff/A 而不提供 B,则可以将 A 和 B 创建为单个资源的两个参数)。
第 2 部分:创建测试用例
现在在测试用例中,您需要检索 A,传输属性,然后使用属性向上述资源发送请求:
- 在测试用例中,创建请求以检索包含 A 的响应
- 右键单击测试用例并添加一个属性步骤。添加一个属性来存储 A 的值。
- 从 Outline 视图的响应中,右键单击 A 的值并选择“Transfer to > Property”,选择刚刚创建的属性并点击确定
使用第一部分中创建的新参数化资源创建一个新请求。在 id 的位置,放置对持有 A 值的属性的引用,格式如下:
${propertyName}
我可能做错了什么,但我的测试最初在“缺少源属性”的属性转移上失败。在 Source are of PropertyTransfer 步骤中,我需要将属性设置为 ResponseAsXml
希望这可以帮助!