前言
Postman 是一款API接口调试工具,做过 Web 接口或多或少应该接触过。
通过它可以完成 Http 接口的调试,测试同学也可以基于此做一些自动化测试。另外 Postman 还提供其他高级功能,不过需要另外收费,毕竟商业公司还是要恰饭啊。
刚开始小黑哥使用的 Chrome 应用版本,配合 Postman Interceptor 插件,可以测试一些需要登录信息的接口。后来 Postman 停止 Chrome 应用版本,基于 Electron 开发 mac/windows/linux 应用版本。
通过这种方式,Postman 做到跨平台使用。不过这样就带来一些麻烦,每次换个电脑都需要重新下载,安装。对于性能差点的电脑,安装可能都会失败,运行起来也会很缓慢。
国外一名叫做 Liyas Thomas 使用 Postman 做 API 测试的时候,电脑性能不好,正好无法运行 Postman。这就让小哥很不爽,于是小哥拿起电脑,使用 Vue+Html+Css,自己动手撸了一个 API 接口调试工具 postwoman,Github 地址:https://github.com/liyasthomas/postwoman。
postwoman 无需下载客户端应用,只要使用浏览器打开 postwoman.io,就可以体验。另外可以安装 PWA 应用,离线也可以使用。
postwoman 主要特性:
- 轻量级:采用简约的 UI 设计
- 快:实时发送请求与获取/复制相应
- 跨平台:借助于浏览器,支持跨平台,多客户端使用
主要功能
HTTP 调试
主要功能:
- 支持 Get,Post,Head,Put ,DELETE,CONNECT 等方法
- 支持自定义 Header 请求头
- 支持输入 ? Authentication 认证功能
- 支持导入/导出 curl
- 可以设置请求参数
这部分功能基本与 Postman 一致,所以从 Postman 迁移过来上手,没有太多学习成本。
如果你以前没用过 Postman,那也没关系。postwoman 自带运行 demo,很快可以上手。
websocket
支持调试 websocket,可以发送与接收数据。
GraphQL
支持 GraphQL API 查询。
自定义配置
支持多种主题:Kinda Dark (默认), Clearly White, Just Black and System theme,另外可以搭配设置突出颜色。总体来说这个 UI 颜值还是比较高的。
PWA
PWA: Progressive Web Apps(渐进式 Web 应用),可以让 Web 网页服务具备原生 App 的使用体验,不需要额外打包或签名,可以离线运行。不论是从外观还是执行效果来看,都与一般应用程序无异,安装完成之后,可以直接在桌面点击运行。
主要特性:
- 离线运行
- 更低内存/CPU 使用率
- 桌面 PWA 支持
Collections/History
postwoman 本地会保存的执行历史请求记录,我们可以根据需要保存请求到 Collections 中。另外可以使用 Github/Google 登录,历史记录与 Collections 都可以实时同步到云端。
国际化
页面拉取到最后,可以切换语言。目前简体中文还只是个空壳,即使切换到简体中文,网站还是显示英文,应该是还没有完成中文翻译。各位感兴趣的小伙伴,可以上去贡献一份力量。
定制开发
我们可以选择下载 postwoman 源码,定制化开发,增加适合自己团队的功能,部署在公司内网。postwoman 提供是三种方式:
npm 本地构建运行
git clone git@github.com:liyasthomas/postwoman.git
npm install
npm run dev
docker-compose
git clone git@github.com:liyasthomas/postwoman.git
docker-compose up
docker
#pull
docker pull liyasthomas/postwoman
#run
docker run -p 3000:3000 liyasthomas/postwoman:latest
#build
docker build -t postwoman:latest
以上三种方式运行之后,浏览器打开 http://localhost:3000 进行体验
总结
总得来说,postwoman 作为一款高颜值的 API 调试工具,主打高性能、便捷性,功能性上也不输给 Postman。如果你觉得 Postman 安装麻烦,运行缓慢,不妨体验一下 postwoman。
欢迎关注我的公众号:程序通事,获得日常干货推送。如果您对我的专题内容感兴趣,也可以关注我的博客:studyidea.cn