邮递员:从 GET 响应生成 POST 请求正文

问题描述

我通过应用以下文章中的步骤为我的应用生成 API 和集合:The hidden gem: Postman API and Documentation feature

您可以尝试使用测试端点,例如https://petstore.swagger.io用户:测试,通过:abc123)。

这是我尝试生成的示例 json 主体:

{
    "name": "{{$randomLoremSentence}}","description": "{{$randomAdjective}}","productUuid": "{{productUuid}}","address": "{{$randomLoremSentence}}"
}

但是,我正在寻找一种实用的方法来为 Postman 请求生成 json 正文。有没有合适的方法呢?还是我必须手动构建每个请求?我认为必须有一个更聪明的方法。有什么想法吗?

解决方法

JSON 响应正文不是在 POSTMAN 中创建的,而是由来自 Web API HTTP 请求的响应生成的。

执行的 API 方法决定了响应。

确定响应及其结构后,您可以在 POSTMAN 集合中创建请求和测试脚本。

使用示例输入手动测试每个 HTTP 请求,然后将其复制到现有集合中,然后为每个测试用例编写测试脚本,将任何输入参数模板化为 URL 查询字符串或 具有全局或集合范围变量的 JSON 请求正文。

在您确定如何参数化和模板化每个请求(以及测试脚本和预请求脚本)后,您将能够 实现测试脚本以使用 BDD 表达式对 JSON 响应内容创建断言。

我建议您查看 POSTMAN 文档,网址为

https://learning.postman.com/docs/writing-scripts/test-scripts/ https://learning.postman.com/docs/writing-scripts/script-references/test-examples/

因为它展示了一些关于如何创建基本测试的非常好的示例,然后使用 JavaScript、Chai BDD 语言和 POSTMAN Collection Runner 将其自动化。

这是基于我使用 POSTMAN 的经验。我不知道任何简单的方法 从 API Swagger 定义中自动创建请求和测试脚本,因为每个 API 方法响应都可能具有基于不同输入的任意数量的潜在响应,因此(我认为)必须由测试人员手动构建。