邮递员:更高级的数据驱动测试-一种应该如何构造和运行测试?

我有很多在Postman中为API编写自动化测试套件的经验。我一直使用数据驱动的测试,因此对于Postmans在该领域的局限性总是感到有些沮丧。当我说数据驱动时,我试图实现两个目标。首先,我想使测试与测试数据脱钩,但更重要的是,我希望能够对测试进行参数化,以便使用代表不同场景/案例的不同数据对每个测试进行迭代。我有一些API端点,我遇到了数十次,但是使用了不同的数据。我正在寻找有关构建和执行测试的更好方法的建议。我将在下面概述这些问题。

在Postman中,您可以针对所选环境和/或数据文件运行收集。这里的问题是您只能传递一个数据文件来进行完整的收集。从技术上来说,虽然您可以将所有必需的数据存储在单个文件中,但为简洁起见,可能会变得肿,实际上最好在Postman UI中的测试中对数据进行硬编码。

您可以做的是将收集测试组织到子目录中,然后选择要运行的各个子目录,每个子目录都使用自己的数据。同样,您可以将测试分为单个集合。这里最大的问题是,运行整个测试套件不再需要单击按钮,而是必须遍历测试的每个子集合并运行它们。将子集合链接到测试数据也可能会令人沮丧。同样重要的是,您再也无法获得一份简明扼要的报告了。

到目前为止,我的解决方法是使用Newman来对特定测试或具有特定数据文件的测试组进行命中。这使我能够分离出测试数据以匹配集合,也意味着我可以一口气启动所有测试(通过一口气触发所有命令)。问题是当我这样做时,我仍然只运行子集合,并且希望最终得到一个报告,就好像所有测试是同时从一个集合中运行一样。

我的第二种解决方法是仅用代码编写测试,但这不是理想的解决方案,因为它使测试套件更具技术性。我们技术水平较低的测试人员将无法为该套件做出贡献,因此需要始终有技术人员来维护API测试。

我看过pm.iterationData,可以想象在每个测试之前创建一个预请求脚本来加载该测试的迭代数据,但是感觉有些棘手。我不知道这是否有可能。

谢谢

gaoxizhangya 回答:邮递员:更高级的数据驱动测试-一种应该如何构造和运行测试?

试用vREST NG。它无缝支持开箱即用的CSV文件。它将解决以下问题:

  1. 每个API测试用例都可以与其自己的CSV文件链接。
  2. 更易于参数化查询参数,表单参数,请求正文等。
  3. 无需对任何数据进行硬编码。
  4. 无缝集成,无需任何特殊的技巧即可支持DDT。
  5. 与CSV文件实时集成。即只是链接您的CSV文件。测试将在执行过程中始终获取最新的CSV文件数据。不能一次又一次上传CSV文件。
  6. 您最后将只有一个报告。
  7. 它允许您在CSV文件中编写API输入数据和API响应验证数据(状态代码,期望的响应主体,期望的模式名称)。
  8. 最后不需要特殊的技术技能。

我还在LinkedIn上写了一篇文章,该文章将逐步说明如何执行数据驱动的测试。 https://www.linkedin.com/pulse/swagger-excel-sheets-wonderful-way-validating-rest-apis-aggarwal/

本文链接:https://www.f2er.com/3030161.html

大家都在问