Automation 邮递员:更高级的数据驱动测试-如何构建和运行测试?

Automation 邮递员:更高级的数据驱动测试-如何构建和运行测试?,automation,postman,data-driven-tests,postman-collection-runner,postman-testcase,Automation,Postman,Data Driven Tests,Postman Collection Runner,Postman Testcase,我有很多在Postman中为API编写自动化测试套件的经验。我一直使用数据驱动测试,因此,我总是对邮递员在这方面的局限性感到有点沮丧。当我说数据驱动时,我试图实现两个目标。首先,我希望将测试与测试数据分离,但更重要的是,我希望能够对我的测试进行参数化,以便使用表示不同场景/案例的不同数据对每个测试进行迭代。我有一些API端点,我打了几十次,但数据不同。我正在寻找更好的方法来组织和执行我的测试的建议。我将概述以下问题 在Postman中,您可以针对选定的环境和/或数据文件运行集合。这里的问题是,一

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

在Postman中,您可以针对选定的环境和/或数据文件运行集合。这里的问题是,一个完整的集合只能传递一个数据文件。虽然从技术上讲,您可以在单个文件中包含所有必需的数据,但为了简洁起见,最好在Postman UI中的测试中硬编码您的数据

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

到目前为止,我的解决方法是使用Newman使用特定的数据文件点击特定的测试或测试组。这允许我分离测试数据以匹配集合,也意味着我可以一次性启动所有测试(通过一次性启动所有命令)。问题是,在执行此操作时,我仍然只是在运行子集合,并且希望最终得到一个报告,就好像所有测试都是同时从一个集合运行一样

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

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


谢谢

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

  • 每个API测试用例都可以链接到自己的CSV文件
  • 更容易参数化查询参数、表单参数、请求正文等
  • 无需硬编码任何数据
  • 无缝集成,无需进行特殊的黑客攻击即可支持DDT
  • 与CSV文件的实时集成。ie只是链接你的CSV文件。测试将始终在执行时拾取最新的CSV文件数据。没有一次又一次上传CSV文件
  • 最后你会有一份报告
  • 它允许您在CSV文件中写入API输入数据和API响应验证数据(状态代码、预期响应正文、预期模式名称)
  • 最后,不需要特殊的技术技能
  • 我还写了一篇关于LinkedIn的文章,将提供关于如何执行数据驱动测试的逐步说明。

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

  • 每个API测试用例都可以链接到自己的CSV文件
  • 更容易参数化查询参数、表单参数、请求正文等
  • 无需硬编码任何数据
  • 无缝集成,无需进行特殊的黑客攻击即可支持DDT
  • 与CSV文件的实时集成。ie只是链接你的CSV文件。测试将始终在执行时拾取最新的CSV文件数据。没有一次又一次上传CSV文件
  • 最后你会有一份报告
  • 它允许您在CSV文件中写入API输入数据和API响应验证数据(状态代码、预期响应正文、预期模式名称)
  • 最后,不需要特殊的技术技能
  • 我还写了一篇关于LinkedIn的文章,将提供关于如何执行数据驱动测试的逐步说明。