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

Automated tests 当开发人员将新请求更新到api时,如何更新Postman集合,automated-tests,swagger,postman,web-api-testing,Automated Tests,Swagger,Postman,Web Api Testing,我有我的API文档,它们有不同的端点或请求。 我在swagger中使用API中的swagger.json链接将它们作为集合导入Postman,然后在那里添加测试用例 但有一件事让我感到困惑:如果开发人员向API添加更多的请求,我如何才能导入新的请求而不影响测试用例 例如: 在一个例子中,我有一个API,其中包含65个从Swagger UI导入的请求,并编写了测试用例。 几天后,我使用相同的链接导入,请求数更改为69,这意味着添加了4个新请求,但Postman用测试用例替换了整个集合。如果有自动过

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

但有一件事让我感到困惑:如果开发人员向API添加更多的请求,我如何才能导入新的请求而不影响测试用例

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

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

更现实的做法是以JSON格式导出当前集合,使用diff工具区分这两个文件,以便在几次操作中添加新请求,然后重新导入自己的JSON文件。。。这就是我要做的

Alex

如一篇文章所述,目前没有简单的解决方案。你现在所能做的就是合并邮递员之外的请求。毕竟,Postman集合实际上只是JSON数据,可以这样操作

  • 将旧请求导出到集合文件2.0或更新版本
  • 以相同的方式导出新收藏
  • 合并两个JSON文件
  • 将新文件导入回Postman
  • 我为第3步做了一个简单的手动助手(参见下面的代码),但是它可以很容易地用您喜欢的脚本语言实现自动化。步骤1、2和4可以使用自动化

    函数执行(){
    collection=JSON.parse($(“.collection”).val();
    swagger=JSON.parse($(“.swagger”).val();
    result=JSON.stringify($.extend(true,{},swagger,collection));
    $(“.result”).val(result);
    }
    
    
    收藏:

    昂首阔步:

    结果:

    执行