SOAtest 可以从 WADL 或 RAML 定义或 URL 测试 RESTful 服务。
章节目录:
在 WADL 可用时测试 RESTful 服务
Parasoft SOAtest 可以通过 REST 客户端工具来测试 RESTful 服务。在下一个示例中,您将使用该工具来测试 ParaBank 贷款请求 API。
当您能够访问描述服务功能的 WADL(Web 应用程序描述语言)时,SOAtest 可以以类似于解析 WSDL 的方式创建一套功能测试。在下一个示例中,您将使用 ParaBank 的 WADL 创建测试。
若要使用 WADL 测试 RESTful 服务:
- 请确保本地托管的 ParaBank 应用程序(在设置 ParaBank中说明)正在运行,以便您可以访问 WADL。
- 右键点击任意一个测试套件: 在之前的教程中创建的测试套件测试用例资源浏览器节点,并选择新建 > 测试套件。
- 选择 REST> WADL,点击下一步。
- 在 WADL URL 字段中,输入
http://localhost:8080/parabank/services/bank?_wadl&_type=xml
,启用创建测试用于在 WADL 上验证和执行策略,然后点击完成。 - 注意,增加了三个测试来检查 WADL:
- 测试 1: Schema 有效性:根据 W3C 的 WADL 模式在 WADL 上运行 XML 验证。
- 测试 2: 语义有效性:检查 WADL 的正确性,方法是像实际的服务消费者那样解析和使用它,但是要严格遵守标准。
- 测试 3: WADL 回归:为 WADL 创建回归控制,以便可以监控 WSDL 文档中的更改。
- 注意,已经创建了一个新的测试套件,其中包含与 WADL 提供的服务相对应的子测试套件和 REST 客户端工具。
- 双击在测试套件: accounts 下创建的新的 REST 客户端工具。所有 Path 参数已自动传播;然而,要从 ParaBank 检索一个有效的结果,我们必须提供一个有效的帐户 ID。
- 进入 Path 表,然后在 accountId 下输入有效的帐户 ID
12345
。
注意,12345 现在被附加到 URL 中。 - 保存并运行 REST 客户端。
- 双击附加到 REST 客户端的通讯报文查看器并打开响应选项卡。您将看到,ParaBank 服务器返回帐户 #12345 的帐户详细信息。
从 OpenAPI/Swagger 或 RAML 定义中生成测试
请参阅 从 OpenAPI/Swagger 定义中创建测试和从 RAML 定义中创建测试。
使用 URL 测试 RESTful 服务
这个示例还演示了如何在无法访问描述完整应用程序功能的 WADL 时测试 RESTful 服务。
若要使用 URL 测试 RESTful 服务:
- 点击一个测试套件: 测试套件测试用例浏览器节点,然后点击工具栏中的添加测试套件。
- 在添加测试向导中,选择空,点击完成。
- 双击新建的测试套件,在名称字段中输入
REST 示例
,保存并关闭测试套件编辑器。 - 点击测试套件: REST 示例测试用例浏览器节点,然后点击工具栏中的添加测试或输出。
- 在左侧选择标准测试之后,在右侧选择 REST 客户端,然后点击完成。将添加一个新的 REST 客户端工具,并打开其编辑器。
- 将工具重命名为
负载请求 (JSON 响应)
。 - 注意,服务定义默认设置为无。大多数 RESTful 服务都是纯粹的基于 GET 的服务,它们由一个 URL 和一个查询组成;它们通常使用 XML 或 JSON 响应有效负载进行响应。
- 在 URL 字段中输入
http://localhost:8080/parabank/services/bank/requestLoan?customerId=1&fromAccountId=12345&amount=100&downPayment=1
,然后从方法下拉框选择 POST 向 RESTful 服务提供请求。 - 注意,SOAtest 已经用路径模板和查询参数自动填充了表。如果希望添加其他参数,可以在这里这样做。
- 在HTTP 选项选项卡中,选择 HTTP 标题,点击添加,然后添加一个带有
Accept
名称和application/json
值的新头部。如果省略了该头部,服务响应将是 XML 格式的。一旦添加,服务响应将是 JSON 格式。 - 保存 REST 客户端编辑器。
- 运行测试并在通讯报文查看器中查看通讯报文。注意,如果想要 JSON 消息的图形表示,可以从字面量视图切换到树视图。
字面量视图:
树视图: