选择合适的运行方式#
Apidog 提供了多种运行测试场景的方式,适用于不同的测试需求。此方法从本地机器发起,适用于小规模、快速测试。当开发和测试同时进行时尤其有效,便于实时监控和即时调整。此方法非常适合处理大规模数据或迭代场景,可提供更快的执行速度。它能够离线运行,适用于资源受限或不需要图形用户界面的环境。这种执行方式集成在 CI/CD 流水线中,非常适合自动化集成和持续部署流程。它尤其适用于需要频繁运行测试以确认每次代码更新后 API 稳定性的场景。团队可以在自己的服务器上设置 Apidog Runner,利用更强大的计算资源进行测试。此方法支持定时任务,非常适合需要定期测试或测试需求较大的场景。在测试场景中,如果使用了环境/全局变量,这些变量的实际值可能会因所选择的执行方式而不同,从而导致测试结果不一致。了解更多。 快速开始#
3
你将看到一份测试报告,其中显示当前运行的通过率、执行时间及其他数据等信息。你可以展开每个请求以查看校验和断言。
测试场景中的运行选项#
在 Apidog 中运行测试场景时,可以配置多项设置和选项,以便根据特定需求定制测试执行。指定场景中的请求应指向的服务(base URL)以及要使用的变量集。更多详细信息请参阅环境和服务。请注意,自定义请求拥有自己的完整 URL,与导入的步骤不同,它们不会指向此上下文中设置的环境。测试数据#
测试场景支持导入外部测试数据集。测试场景运行时,系统会遍历数据文件中的所有数据集,并将数据集中的数据分配给相应的变量,详情请参阅数据驱动测试。迭代次数#
如果需要处理大量数据,建议使用 Apidog CLI 执行,而不是使用 Apidog 客户端,以优化性能。以多线程执行所有步骤,线程之间的数据保持隔离,以防止相互干扰。请注意,此功能处于 Beta 阶段,可能需要进一步的性能优化。对于严格的负载测试,建议改用性能测试功能。
CLI 不支持线程。运行于#
实际消耗硬件资源来运行测试场景的机器。测试场景中发起的所有请求都将从此处指定的机器发送。因此,请求机器的网络环境差异可能会导致测试结果不同。此设置不会作为测试场景运行配置的一部分保存。每次默认都会使用本地机器运行测试场景。此外,此设置在批量运行或 CLI 执行期间不会生效。在这些情况下,请求将使用当前机器的资源发起。
指定机器运行测试场景时,如果测试场景涉及文件(例如发送文件、数据库连接、外部程序、SSL 证书等),所有必需文件都必须存储在指定机器的本地,才能正常使用。启用此功能后,手动测试场景完成后会向指定接收人发送通知。通知将包含测试结果概览以及详细报告链接。你可以配置是在测试完成后立即发送通知,还是仅在发生失败时发送,以帮助减少 不必要的提醒。更多详细信息请参阅通知设置。通过启用 Advanced Settings 右侧的“Share”选项,每次测试场景运行后生成的测试报告都会自动与项目中的其他成员共享。你可以在 Test Reports 部分的 Shared 选项卡下查看团队内已共享的所有测试报告。更多详细信息请参阅测试报告。高级设置#
出错时#
配置测试应如何处理错误,错误可能包括断言失败、数据格式校验失败、服务器错误等。选项包括:设置发送每个步骤之间的暂停时间,以管理和控制执行速度。保存请求/响应#
默认情况下,Apidog 会保存每个请求和响应。在请求或响应非常大(可能达到数 MB)的情况下,它们可能会占用大量磁盘空间。你可以启用此选项,不保存每个请求和响应,而仅保存断言和校验结果。或者,你也可以选择仅保存失败的请求和响应,以节省空间。保留变量值#
此选项默认启用,确保全局和环境变量在测试期间被修改时,其当前值会保留最后一次修改的结果。如果禁用此选项,测试运行后全局和环境变量不会发生变化;它们将保留运行前的值。使用已存储的 Cookie 运行#
在 Apidog 的右下角, Cookies 图标可进入 Cookie 管理。Apidog 会在发起 API 请求时自动保存 Cookie。如果你希望在测试场景执行期间使用已保存的 Cookie,请启用此选项。运行后保存 Cookie#
与上文类似,如果你希望在执行测试场景后更新已保存的 Cookie,请启用此选项。通过在 Apidog 中配置这些高级设置,你可以精细调整测试执行,以满足你的特定测试需求,确保测试运行高效且精准。测试场景设计模式下的运行时设置#
如果你处于测试场景设计模式,相关运行时配置会折叠到“Run”按钮右侧。将鼠标悬停在此设置按钮上,即可查看该测试场景的详细运行时配置。运行功能测试#
运行功能测试后,你将被引导到测试场景执行页面。下图中的饼图提供了测试结果概览,并会在测试场景运行时实时更新。在饼图下方,你会看到正在执行的详细测试步骤,并在运行期间显示每个步骤的状态。功能测试运行完成后,你可以点击相关端点,查看其在测试期间的指标和状态。这包括端点名称、请求方法、请求 URL、响应状态码、响应时间、响应内容、数据校验和断言结果。更多详细信息请参阅测试报告。在不同运行方式中使用环境/全局变量的规则#
环境变量和全局变量是持久化的,这意味着它们可以被保存,以便在多次运行或不同测试场景中长期使用。但是,实际使用的变量值可能会根据所选运行 方式而有所不同。例如:如果测试场景使用环境变量 Token,它在客户端内执行时可能运行成功,但使用自托管 Runner 运行时可能失败,因为 Token 的值不正确。出现这种差异的原因是,执行时环境变量 Token 的实际值取自客户端内本地存储的值。然而,在自托管 Runner 中运行时,Runner 没有相同的本地存储 Token,从而导致失败。为了解决此问题,Apidog 提供了一组规则,用于管理不同运行方式下环境/全局变量的值:| 运行方式 | 环境/全局变量用法 | 变量存储位置 |
|---|
| 本地(客户端、Web) | 使用环境/全局变量的当前值执行。 | 存储在本地。可以手动修改,或通过前置/后置处理器更新。可在 Environment Management > Environment/Global Variables > Current Values 中查看。 |
| CLI、CI/CD | 对于实时在线执行:- 使用环境/全局变量的初始值执行 (默认)。
- 通过
--variables path 选项,指定使用运行测试场景的机器上某个文件中存储的环境/全局变量值。了解更多。
- 使用导出文件中包含的环境/全局变量值执行。
| - 初始值存储在 Apidog Cloud 中,并且只能在客户端内手动修改。
- 存储在由
--variables path 选项指定的文件中,可手动修改,或通过前置/后置处理器更新。 - 存储在导出文件中。可以手动修改,或通过前置/后置处理器更新。
|
| 自托管 Runner | - 使用环境/全局变量的初始值执行 (默认)。
- 使用 Runner 内本地存储的值执行。 了解更多。
| - 初始值存储在 Apidog Cloud 中,并且只能在客户端内手动修改。
- 存储在指定的 Runner 内。可以手动修改,或通过前置/后置处理器更新。可通过产品用户界面查看,或在 Runner 内的
/opt/runner/variables 文件中查看。
|
运行包含来自其他项目端点的测试场景#
当测试场景包含从其他项目导入的端点时,这些端点在执行期间的请求 URL 由你在 Environment associations 中设置的配置决定。如果当前项目的“Develop Env”关联到另一个项目的“Prod Env”,那么使用“Develop Env”运行测试场景时,导入的端点将被发送到“Prod Env”中的 URL。所有其他端点将使用当前项目“Develop Env”中的 URL。实现各种测试#
上述步骤代表了测试场景的基本执行。在设置测试场景时,你可以结合各种高级设置来满足多样化的测试需求。数据驱动测试: 使用多样化的数据集进行测试,以验证系统在各种场景下的行为。 性能测试: 在不同负载条件下评估系统性能,以评估可扩展性和响应能力。 定时任务: 建立结构化计划,详细说明测试活动的范围、方法和时间安排。