首页 文章

当新请求被开发人员更新到api时,如何更新Postman集合

提问于
浏览
2

我在Swagger中有我的API文档,它有不同的 endpoints 或请求 . 我使用Swagger中我的API的 swagger.json 链接将它们作为集合导入Postman,然后在那里添加测试用例 .

但我很困惑,如果开发人员向API添加更多请求,我如何导入新请求而不影响测试用例 .

例如:
在一个案例中,我有一个API,其中包含65个从Swagger UI导入的请求和编写的测试用例 . 然后几天后我使用相同的链接导入,请求数量更改为69,这意味着添加了4个新请求,但Postman用测试用例替换了整个集合 .

2 回答

  • 0

    我会感兴趣,如果有一个自动过程,但我担心它不存在 . 您必须将JSON作为副本导入(由Postman提出,因为您的集合已经存在),然后复制新请求并将它们集成到当前集合中 . 如果发生了很多更新,这可能是一个真正的痛苦 .

    使用JSON导出当前集合可能更为现实,使用diff工具对这两个文件进行区分,以便在一些操作中添加新请求,然后重新导入您自己的JSON文件......这就是我要做的 .

    亚历克斯

  • 0

    至于发布在related questionthere is no straightforward solution 现在 . 你现在所能做的就是合并Postman之外的请求 . 毕竟,Postman集合实际上只是JSON数据,可以这样操作 .

    • 将旧请求导出到2.0或更高版本的集合文件

    • 以同样的方式导出新集合

    • 合并两个JSON文件 .

    • 将新文件导回Postman .

    我为第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>
    

相关问题