我会一步一步来。
我有一个节点 js 程序,它引用一个 swagger 规范 json 文件并将其转换为 Postman 可导入集合文件(也是 JSON 格式)。我正在使用“swagger2-postman-generator”npm 库来执行此操作。
对于测试,我使用了这个在线可用的 petstrore 规范,并且代码运行良好。参考链接: http: //petstore.swagger.io/
我想更进一步,为每个请求自动将邮递员测试添加到导出的邮递员集合中。
我的要求:
代码应该从 swagger JSON 中读取每个请求的响应代码规范。基本上它应该阅读每个请求的以下部分。
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/ApiResponse"
}
}
}
并创建相应的邮递员测试并将其添加到导出的 JSON 中。
例子:
- 对于 /pet/{petId}/uploadImage,预期的响应代码是 200。
- 对于 /pet,预期的响应代码是 405。
我必须将 Swagger 转换为 Postman Collection 的代码是:
const Swagger2Postman = require("swagger2-postman-generator");
var collectionJson = Swagger2Postman
.convertSwagger()
.fromUrl("http://petstore.swagger.io/v2/swagger.json")
.toPostmanCollectionFile("test_petstore_today.json")
const collectionJSONToday = require("./test_petstore_today.json");
console.log(collectionJSONToday);