我正在忙于测试一些 Web API,并尝试使用 Postman 来自动化执行这些操作。
据我所知,Postman 中的测试脚本始终与单个请求绑定,因此如果我想针对同一请求测试不同的场景,我必须针对每个场景复制该请求,每个副本都有不同的测试脚本。我想避免这种情况。
示例:我有一个获取特定资源的请求,并且我想测试是否使用访问令牌:
- 请求无访问令牌:预期状态为 401
- 具有有效访问令牌的请求:预期状态为 200
其他示例:我在服务器上创建了一些资源,然后尝试再次创建相同的东西:
- 第一次:预期状态 200
- 第二次:预期状态 409
我找到了一些相关问题,但它们似乎都涉及大量脚本,基本上就是编写自己的测试运行器环境。作为开发人员,我不介意编写脚本,但在这种情况下,我想专注于编写实际测试。
所以我的问题是:Postman 可以做到这一点吗,或者它可能不是这项工作的最佳工具?
您无需对任何请求进行多次复制。只需根据所有需要的情况调整您的响应后脚本即可。
如果第一个请求成功,则设置一个指示创建状态的集合变量:
并在脚本的开头读取值来改变流程:
调用该请求两次。
与上面的情况类似,但使用
{{accessToken}}
语法在请求标头或正文中表示accessToken
集合变量。然后在响应后脚本中检查变量是否为空,同样将两种情况分开并测试正确的响应代码。accessToken
然后运行输入有效值并将其清空的请求。如果你不知道如何自动化数据,这里有文档。TLDR:在收集运行器中使用这样的 JSON 数据文件: