cod*_*nja 5 automated-tests swagger postman web-api-testing
我在 Swagger 中有我的 API 文档,它们有不同的端点或请求。我使用swagger.jsonSwagger 中 API 的链接将它们作为集合导入 Postman,然后在那里添加测试用例。
但我对一件事感到困惑,如果开发人员向 API 添加更多请求,我如何在不影响测试用例的情况下导入新请求。
例如:
在一种情况下,我有一个带有 65 个请求的 API,我从 Swagger UI 导入并编写了测试用例。然后几天后,我使用相同的链接导入,请求数量更改为 69,这意味着添加了 4 个新请求,但 Postman 用测试用例替换了整个集合。
正如在相关问题中发布的那样,目前没有简单的解决方案。您现在所能做的就是合并 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);
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
我很感兴趣是否有一个自动流程,但恐怕它不存在。您必须将 JSON 作为副本导入(这是由 Postman 提议的,因为您的集合已经存在),然后复制新请求并将它们集成到您当前的集合中。如果发生大量更新,这可能会很痛苦。
以 JSON 格式导出当前集合,使用 diff 工具比较两个文件以便在一些操作中添加新请求,然后重新导入您自己的 JSON 文件可能更现实......这就是我要做的。
亚历克斯
| 归档时间: |
|
| 查看次数: |
8190 次 |
| 最近记录: |