Apidog 测试中的测试场景是基本单元,类似于 Postman 中的 Collection。当你需要连续发送多个请求、构建连续的测试场景,或使用不同测试数据重复请求时,可以创建一个测试场景,并将必要的请求添加到其中。测试场景的优势#
使用 Apidog 中的测试场景,你可以高效满足一系列 API 测试需求:| 功能 | 描述 |
|---|
| 顺序请 求执行 | 按指定顺序组织并执行多个请求,以模拟用户交互或流程流转 |
| 测试报告 | 自动生成报告,提供断言和单个请求结果的详细可视化展示 |
| CI/CD 集成 | 将测试场景集成到 CI/CD 流水线中,确保在开发周期内进行自动化测试,便于及早发现问题 |
| 性能测试 | 在不同负载下评估 API 性能,并生成趋势分析,以识别响应行为随时间的变化 |
| 动态参数测试 | 使用动态生成的参数多次执行请求,以测试 API 如何处理可变输入 |
| 预定义测试数据 | 使用预设数据进行请求,以模拟真实操作条件,并根据预期输出验证 API 响应 |
| 请求间数据传递 | 自动将一个请求的输出数据传递给另一个请求,这对于测试需要在调用之间保持状态的 API 至关重要 |
| 逻辑请求关系 | 配置 if、for 和 foreach 等逻辑条件,以根据先前请求的结果或特定条件管理执行流程 |
这些功能使你能够创建灵活且有效的测试环境,从 而促进稳健、高质量的 API 开发。创建测试场景#
打开 Apidog 后,导航到“Tests”模块,然后点击搜索栏旁边的 + 来创建新的测试场景。为其选择合适的目录,并设置优先级以完成创建。添加测试步骤#
在 Apidog 中设置好测试场景后,你可以开始向其中填充请求。添加请求有多种方式,每种方式都面向不同的需求和灵活性:关联端点规格的请求#
从端点规格导入#
你可以将当前项目中的端点规格作为步骤导入到测试场景中。导入端点时有两种模式:“Manual”和“Automated”。如需更详细的说明,请参阅从端点/端点用例同步数据。在“Manual”模式下,项目内端点文档的修改不会立即影响测试步骤中的端点。只有当测试人员启用“Manual”按钮时,才会同步测试数据。需要注意的是,即使点击“Manual Sync”,对测试步骤数据所做的更改也不会更新端点文档。相反,点击此按钮会让测试场景从端点文档中获取信息用于同步。在“Automated”模式下,项目内端点文档的任何更改都会同步更新到测试步骤中。从端点用例导入#
你可以选择从当前项目或其他项目导入端点用例。导入端点用例时有两种模式:“Copy” 和 “Reference”。当以 “Copy” 方式导入端点用例时,端点用例中的参数也会被复制到测试步骤中。它们彼此独立,各自的更改不会影响其他部分。可以选择手动同步。当以 “Reference” 方式导入端点用例时,请求将直接使用原项目中的端点用例。如果测试步骤引用自某个用例,你会看到一条提示,说明修改此步骤也会影响原始端点用例以及任何其他使用该用例的步骤。不与 API 规格关联的独立请求#
这些请求不会响应 API 规格的变化而更新。它们允许更高程度的自定义:添加自定义请求#
在工作流程中,你可能需要调用项目外部的端点,例如第三方支付端点。你可以在测试步骤中添加自定义 API 请求。自定义请求可以是任何 HTTP 请求,包括常见的 GET、POST、PUT、DELETE 等。从 cURL 添加#
在实际工作流程中,许多端点请求会以 cURL 命令行的形式呈现。你可以一键将 cURL 请求导入到测试步骤中。引用其他测试场景#
包含其他测试场景中的步骤#
你可以通过从同一项目内的其他测试场景导入,来克隆测试步骤或流程控制条件。引用其他测试场景#
你可以将其他测试场景引用为一个测试步骤。有两种使用场景:1.
如果你的业务流程中有一些通用、可复用的 API 测试步骤,可以将这些步骤编排成一个小型测试场景,然后在其他更大的测试场景中直接引用它。
2.
如果你需要对整个产品的主流程进行回归测试,可以在测试场景中引用各个子测试场景进行组装,并一键完成所有主流程的测试回归工作。
为防止无限循环以及测试场景无法正常停止运行的情况,引用其他测试场景的功能不能引用原始测试场景本身。
编排测试场景#
点击任意测试步骤都会进入编排模式。在此模式下,你将拥有更大的操作页面,以便更好、更高效地填写每个测试步骤的详细内容。页面左侧是测试场景的整体流程,右侧是所选测试步骤的详细信息。端点请求和测试流程控制组件会有不同的展示面板。在此模式下,你可以使用“⬆️”和“⬇️”键在所选测试步骤之间快速切换。在编排模式中,你可以编辑多个步骤,然后点击左上角的“Save All”按钮保存所有更改。如果某个步骤存在未保存的更改,该步骤会在左侧列表栏中用一个圆点标记。请记得始终保存你所做的更改。