7

我正在为 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

这当然可行,但我希望能够以两种方式调用它,以验证它们都在工作。

我错过了什么吗?

4

1 回答 1

11

无论如何,我都不是soapui专家,但刚刚经历了一个非常相似的场景,所以这可能会对你有所帮助。

第 1 部分:创建参数化资源
在我的服务中,我有一个名为 stuff 的资源:

http://{host}/stuff

我创建了一个具有以下值的子资源:

    资源名称:通过 ID 获取内容
    资源路径/端点:{stuffId}

在单击确定之前,单击提取参数 - 这将使用如下条目填充参数表:

    姓名 | 默认值 | 风格 | 地点
    东西ID | 东西ID | 模板 | 资源

然后单击确定。您现在拥有一个允许您动态提供 id 的资源:

http://{host}/stuff/{id}

您需要重复此操作以创建上面的 B 参数(或者,如果您从不调用 /stuff/A 而不提供 B,则可以将 A 和 B 创建为单个资源的两个参数)。

第 2 部分:创建测试用例
现在在测试用例中,您需要检索 A,传输属性,然后使用属性向上述资源发送请求:

  1. 在测试用例中,创建请求以检索包含 A 的响应
  2. 右键单击测试用例并添加一个属性步骤。添加一个属性来存储 A 的值。
  3. 从 Outline 视图的响应中,右键单击 A 的值并选择“Transfer to > Property”,选择刚刚创建的属性并点击确定
  4. 使用第一部分中创建的新参数化资源创建一个新请求。在 id 的位置,放置对持有 A 值的属性的引用,格式如下:

    ${propertyName}
    

我可能做错了什么,但我的测试最初在“缺少源属性”的属性转移上失败。在 Source are of PropertyTransfer 步骤中,我需要将属性设置为 ResponseAsXml

希望这可以帮助!

于 2012-10-24T08:36:17.047 回答