当前位置:   article > 正文

postman的“替代者”postwoman功能体验_postman替代工具

postman替代工具

在平时的工作中,无论是开发工程师还是测试工程师,在做接口测试时都应该用过postman。postman起初是chrome上面的一个插件,后来逐步演变成桌面应用程序,使用起来也便捷方便了不少。

postman除了能请求接口这样的基本功能外,还有一些高级的用法,比如:设置环境变量、对接口返回值进行断言测试、设置接口前置和后置脚本、Mock接口、接口运行器设置接口循环执行次数(注意,这里的执行并不是并发执行,而是顺序执行)等等。不过在真实的工作场景中,我们更希望整个团队能共享同一份接口配置,这样有助于接口联调和测试,提高工作效率。

在postman中增加了Team的概念,可以为每个团队创建对应的工作空间,然后可以邀请对应的同事加入到team中,这样所有人都可以看到team 工作空间下的接口。只不过postman对普通版本做了限制,对team中接口的数量、Mock接口调用次数等都是有明确次数要求的。如下图所示:

对于目前的项目,接口数量分分钟都能达到上限,因此为了比较好的体验,付费是个选择。但是postman的收费相对比较贵,价格表如下图所示:

postwoman就是为了对抗postman的收费而出现的:“你收费,我偏不收费,不仅不收费,我还开源”。在github上postwoman的描述信息是:“A free, fast and beautiful API request builder (web alternative to Postman) used by 62k+ developers.”。翻译成汉语就是:“一个开源、快速并且漂亮的接口请求器,已经被6万2千的开发者使用,是Postman的一个web端的替代方案”。

接下来我们来看看postwoman的使用体验以及功能设计,是否真的如它说的这么厉害:

安装postwoman

postwoman主要是使用vue开发的,它有两种安装方式,一种是使用命令行npm命令进行安装,另外一种是使用docker。我个人推荐大家使用docker的方式安装,没啥,主要是方便,不需要再去装其他工具。可以直接拉取postwoman的镜像,然后运行即可,命令如下:

  1. $ docker pull liyasthomas/postwoman # 拉取postwoman的镜像
  2. $ docker run -p 3000:3000 liyasthomas/postwoman # 启动镜像

执行完之后,如果没有报错,就可以直接访问postwoman了,默认的端口号是3000,如果你在自己电脑上部署,可以直接通过http://ip:3000进行访问。其主页面如下所示:

postwoman的主功能介绍

postwoman主要有五大功能(如上图所示),分别是:

  • Home(首页)
  • RealTime(实时请求)
  • GraphQL(API查询语言)
  • Document(文档/接口描述)
  • Settings(设置)

下面分别对上面的这5个大类功能做介绍:

Home(首页)

首页主要是对普通的http(s)接口进行请求和管理。这和postman的请求接口的功能类似,都可以创建Collections集合、创建环境变量、编写Pre-request Script和对结果进行断言校验的Tests等等。

不过,需要注意的是,postwoman并没有使用数据库,但会将用户创建的数据保存到浏览器的local Storage中。也就是说如果你清除了浏览器缓存,那么之前保存在local storage数据也将被清理掉。

需要说明一点,postwoman可以使用github和Google账号登录,但是我本地验证的时候没办法拉起来登录授权页面(F12看的应该是某个接口请求失败,网络原因),大家可以自己在本地实验下。

RealTime(实时请求)

这个应该是postwoman特有的功能,可以用于长连接服务的请求验证,比如:WebSocket(以wss://开头)、SSE、http://Socket.IO、MQTT。这其中我们应该对WebSocket和MQTT比较熟悉,MQTT请求的界面展示如下所示:

可以看到如果mqtt连接建立之后,还可以订阅某个topic,或者向某个topic发送Message,这个功能在平时工作中还是比较常用的。比如:之前MQTT都是下载一个专门的桌面工具才能正常操作和查看。

GraphQL(API查询语言)

这里牵扯到一个知识点GraphQL,它是一种由facebook提出的用于API查询的语言。GraphQL有什么使用场景呢?比如我们在平时的工作中会碰到某些接口,我们想要请求某个信息,但是它却返回了很多额外的信息。比如:一个商品菜单请求接口,本来只需要返回商品的基本信息等,但是它有可能会将商品的创建者、用户评论、详细描述等信息一并返回。

造成这种情况的原因有很多,比如为了兼容PC端和移动端接口,所以接口越设计越庞大。或者某些奇葩的需求,需要根据不同的条件,商品展示不同的样式内容等。那能不能根据我们请求参数的不同,返回不同的内容呢?GraphQL就是用来干这个的,它官方文档有一句话:“ask exactly what you want.”。

在postwoman中举了一个具体的例子,如下图所示:

Document(文档/接口描述)

这个功能可以将任何导出的postwoman collection导入进来,然后以文档的形式查看,如下所示:

个人感觉这个功能设计用处不是特别大,我唯一想到的场景是,可以将其他人导出的collection导入进来,我们可以查看基本的接口定义。

Settings(设置)

设置模块没有什么特别的地方,都是比较基础的配置,比如:可以配置账号登录、整体界面的主题色、设置启用代理。

总结

坦白讲,postwoman并没有我想象中的那么强大,我起初以为它应该提供PostMan付费版的所有功能,这样对抗postman才有意思。不过postwoman也有一些好用的功能,比如:可以测试mqtt和websocket、支持GraphQL。另外,postwoman比较好的一点是它是开源的,因此我们可以基于它做一些定制化,制定适合公司自己的接口测试平台。

但是postwoman最让我失望的是它没有用到数据库,只是将接口数据存到了localStorage中,这样会非常不方便,没办法做到团队间数据同步。另外,它也没有提供对接口做数据权限的控制(没用到数据库,也没办法控制其实)。

不过,如果你仅仅是自己使用,并且不想再安装个postman客户端软件,那么postwoman也是不错的选择。

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

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

图片

整套资料获取

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/141677
推荐阅读
相关标签
  

闽ICP备14008679号