我在 Swagger 中有我的 API 文档,它们有不同的端点或请求。
我用了 swagger.json
从我的 API 在 Swagger 中链接以将它们作为集合导入 Postman,然后在那里添加测试用例。
但我对一件事感到困惑,如果开发人员向 API 添加更多请求,我如何在不影响测试用例的情况下导入新请求。
例如:
在一种情况下,我有一个包含 65 个请求的 API,我从 Swagger UI 导入并编写了测试用例。
然后几天后,我使用相同的链接导入,请求数量更改为 69,这意味着添加了 4 个新请求,但 Postman 用测试用例替换了整个集合。
最佳答案
正如在 related question 中发布的那样, 没有直接的解决方案 目前。您现在所能做的就是合并 Postman 之外的请求。毕竟,Postman 集合实际上只是 JSON 数据,可以这样操作。
我为第 3 步制作了一个简单的手动助手(请参阅下面的代码),但它可以使用您喜欢的脚本语言轻松实现自动化。步骤 1、2 和 4 可以通过 Newman 自动化.
function execute() {
collection = JSON.parse($(".collection").val());
swagger = JSON.parse($(".swagger").val());
result = JSON.stringify($.extend(true, {}, swagger, collection));
$(".result").val(result);
}
<html><body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<br>Collection: <br> <textarea class="collection"></textarea>
<br>Swagger: <br> <textarea class="swagger"></textarea>
<br>Result: <br> <textarea class="result"></textarea>
<br>
<button onClick="execute()">EXECUTE</button>
</body></html>
关于automated-tests - 当开发人员将新请求更新到 api 时,如何更新 Postman 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45884018/