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