Postman有哪些好用的替代品?

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:


某网站上有人提了一个问题:

“Postman体积庞大,运行缓慢,且充斥着我不需要的功能,有没有轻量级的替代品?”

我需要一款用于测试API的软件,我希望它能像Postman那样拥有json格式的请求集合,但我不想注册账号、探索其他API、邀请他人到我的个人资料、分享心情或做类似的事情。我只想要简单地通过GET、POST方法,以及设置请求头、请求体、认证信息等,向外部IP或本地服务器发送API请求。我尝试过Insomnia,但它既庞大又缓慢。这类应用是怎么回事?我只是想进行API调用,为什么它们要包含这么多冗余功能?

有没有轻量级且实用的替代软件?大家有什么建议吗?

提前感谢。

以下是一些网友的回复:

网友1:

Bruno 是一个完全免费的替代选择,非常适合进行探索性 API 测试。对于 API 测试,我个人更喜欢基于代码的测试框架。我使用 Supertest 与 Mocha 和 Chai 一起进行测试。

网友2:

Bruno 是最接近 Postman 的开源替代方案。但就个人而言,我会选择使用 Playwright API,但这需要更深入的知识。

网友3:

我之前从未听说过 Bruno,我希望大家能附上链接。

第一个提到它的人可以贴上一个 URL,这样就不用让成千上万的人去搜索了,我帮大家找到了链接:https://www.usebruno.com/。我顺便说一下,它看起来不错。

另外,我还喜欢这个https://www.thunderclient.com/ VS Code 的扩展。

网友4:

使用 Python 中的 requests 库并编写脚本。

网友5:

我也是,用 requests 库还没搞出啥大成果,但最近加了几个新测试,它们很快就运行起来了。我需要在我现有的基础上进行扩展,不仅仅是检查成功响应和返回的数据,但对我来说,这比使用 Postman 感觉顺畅多了。

网友6:

是的,我刚创建了一个 pytest 测试套件,用于断言状态码和正确的响应体。

网友7:

我也是,等我有机会的时候,我的下一步是研究 pytest-schema,并且看一下这个 Data Factory 文档:https://playwrightsolutions.com/the-definitive-guide-to-api-testcreating-a-datafactory-to-manage-test-data/。[1]

我的响应可能会根据数据的不同而有所不同,而就目前而言,我的日常测试只确保为正确的用户请求提供了响应。

我很享受学习和做这些事情的过程,但是争取时间却很难。我要处理的项目太多了,以至于无法对每个项目都给予应有的关注。

网友8:

为什么选择 Python?任何现代语言都可以。

网友9:

我只是恰好使用 Python 进行 API 测试,但你说得对,任何语言都可以使用。

网友10:

是的,任何基于代码的工具都可以。

网友11:

把这个作为你进入基于代码的 API 测试的门户,所有工具都是免费的。你基本上已经知道如何编写请求和断言了。它可以帮你成为自动化测试工程师,这将大大增加你的就业机会和收入。

然后......把你的代码提交到 GitHub,现在你可以轻松地分享它了。你还能获得更多有助于简历建设的技能。

网友12:

还有以前叫 postwoman:https://hoppscotch.io/

网友13:

有些人使用 Insomnia(https://insomnia.rest/[2])。我个人更喜欢HTTP文件(https://learn.microsoft.com/en-gb/aspnet/core/test/http-files)[3]。

网友14:

curl

网友15:

我最喜欢使用 curl 的一个功能就是能够将确切的请求粘贴到 Slack、电子邮件等通讯工具中,而其他人无需任何专有软件就可以执行它。

https://www.keycdn.com/support/popular-curl-examples[4]

网友16:

我喜欢 jetbrains 的 .http 文件实现。它本质上只是一个 curl 格式化工具。

网友17:

来自老版 Insomnia 的创作者:https://yaak.app”[5]

网友18:

太棒了。这就是我现在正在使用的。

网友19:

我更喜欢这个:https://httpie.io/

网友20:

我也推荐Curl。

网友21:

我发现自己写点东西更容易些。

网友22:

VS Code 的 Rest Client 插件。可以轻松地将 .http 文件添加到源代码中,为了防止密码泄露,你可以从设置、环境或包含的文件中导入凭据。可以使用 JsonPath/XPath 来解析出值,并将其传递给后续调用。

https://marketplace.visualstudio.com/items?itemName=humao.rest-client[6]

网友23:

Cypress 也能很好地完成这项任务,你可以调用一个接口,然后在自动化浏览器中显示响应。

网友24:

使用行为驱动开发(BDD)...

网友25:

Playwright + 客户端 API 生成器。

网友26:

请告诉我更多关于第二部分的信息好吗?

网友27:

你可以使用这个强大的工具,根据 Swagger 定义生成完整的客户端 API:

https://openapi-generator.tech/

然后,你可以构建一个包装器,并在 Playwright 测试中使用它。这意味着你不需要创建新的端点或更改名称等,只需要一个脚本来下载 Swagger 文件并调用生成器。

说实话,这非常强大,是一个很好的组合。不过,至少对于这个生成器来说,不好的地方在于它的错误信息,简直就是一团糟。

网友28:

听起来真的很酷。不过我想我需要找一份指南,因为他们在网站上的说明看起来并不那么直接明了。

不知道它是否能在 Kotlin 中的 Rest Assured 中使用。

网友29:

我用 Python 写了一个测试生成器,它可以读取一个 Swagger 文件,并输出 Robot Framework 测试,同时还包括模式验证。根据 API 的复杂程度,这些测试可能需要一些调整,但是当一个 API 需要生成数百个测试时,它为我节省了大量时间。

网友30:

嗯,这是个好主意,我的朋友,谢谢!我会试试的。

各位同学,在你们平时的工作中,除了Postman还有哪些好用的测试工具呢?欢迎在评论区进行评论。

引用链接

[1] https://playwrightsolutions.com/the-definitive-guide-to-api-testcreating-a-datafactory-to-manage-test-data/。: https://playwrightsolutions.com/the-definitive-guide-to-api-testcreating-a-datafactory-to-manage-test-data/%E3%80%82
[2] https://insomnia.rest/: https://insomnia.rest/%EF%BC%89%E3%80%82%E6%88%91%E4%B8%AA%E4%BA%BA%E6%9B%B4%E5%96%9C%E6%AC%A2
[3] https://learn.microsoft.com/en-gb/aspnet/core/test/http-files): https://learn.microsoft.com/en-gb/aspnet/core/test/http-files%EF%BC%89%E3%80%82
[4] https://www.keycdn.com/support/popular-curl-examples: https://www.keycdn.com/support/popular-curl-examples%EF%BC%88%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E5%85%B3%E4%BA%8E
[5] https://yaak.app”: https://yaak.xn--app-9o0a/
[6] https://marketplace.visualstudio.com/items?itemName=humao.rest-client: https://marketplace.visualstudio.com/items?itemName=humao.rest-client%EF%BC%88%E8%BF%99%E6%98%AF

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值