Postman有啥好用的替代品?

2024-11-03   出处: www.reddit.com  作/译者:r/softwaretesting/Ares

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

“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/。

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

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

网友8:

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

网友9:

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

网友10:

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

网友11:

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

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

网友12:

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

网友13:

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

网友14:

curl

网友15:

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

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

网友16:

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

网友17:

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

网友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

网友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还有哪些好用的测试工具呢?欢迎在评论区进行评论。


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
147° /1472 人阅读/0 条评论 发表评论

登录 后发表评论