一、引言
今天是小编在家管控的第22天,天气晴,心情可以,状态不错。
嗯,上海加油。
今天小编来推荐一款利器。
二、主角登场
Apipost 是一个支持模拟POST、GET、PUT常见的HTTP请求,支持团队协作,并可直接生成并导出接口文档的API调试、管理工具。
你可以把这款利器看成这样的组合:
Apipost = Postman + Swagger + Mock
Postman和Swagger大家应该都很熟悉了吧,Mock这边小编和大家简单介绍一下,Mock其实就是模拟接口所返回参数的工具,方便快速帮助走完整体流程,在一些特殊的环境下,可以帮助我们进行程序调试。举个例子,A公司和B公司,有合作关系,现在项目都已经上线了。然后B公司把他们的测试环境关闭了,但是A公司可能他内部需求调整需要使用B公司的测试环境来进行走程序流程。这个时候该怎么办呢? Mock就是一个很好的方式,A公司可以在Mock工具里定义B公司程序所返回的结果,这样由之前调用B公司的测试地址,改成为调用Mock测试地址,从而达到模拟的效果,而今天推荐的Apipost就提供了Mock工具,详细点小编在后面为大家详细的讲解。
整体上,我们认识Apipost它所具备的基本能力,那为什么小编要给大家推荐这款?
小编公司刚好Postman、Swagger、Mock三个功能都有使用,三个功能,对应着三个产品,接口调试小编需要下载Postman、使用Swagger对代码有侵入性,而且Swagger最后显示出来文档效果着实不咋地、使用Mock需要额外去下载一个Mock工具,进行私有化部署,占用服务器资源、域名资源等等。
Apipost 就把这三点集中于一身,低成本做长期主义的事情,小编就分着三个维度,给大家讲讲Apipost它和其他产品对比的一个优势。
三、Apipost VS Postman
跟Postman对比,官方写的是:
尊重并超越,站在巨人的肩膀上、下一个时代的接力
1、团队协作
首先Apipost基本上涵盖了Postman的核心功能,在这基础上Apipost有一个核心的优势就是,它有较好的团队成员可实时协作,这时候有小伙伴就要说了:“Postman也有团队协作呀”,对,Postman确实也有,但是公司基本上都不怎么用,为什么?
首先Postman是印度软件,服务器实在境外的,有没有觉得Postman用起来会有点卡顿的时候,而且严重还会闪退。Postman的团队协作价格也不便宜了,公司也不会愿意为此付出公司的成本。
回到今天主角Apipost,首先是由我们国内团队研发出来的,服务器都是国内高速云服务器,并且团队协作价格方面是Postman的1/5。
** 实际问题:**
之前小编公司就有一个需求,涉及到一大堆接口测试,然后提交给测试人员,研发人员需要准备测试报文,研发人员在用Postman自测完成后,再把报文复制到文本中去,最后给到测试人员,这个时候就感觉真的太麻烦了,报文差不多就30多个。
这种工作感觉上就是没意义的,但是还要去做这个事情。 接下来小编就以这个案例,来讲讲如何使用Apipost来解决这个痛点,提高团队协作效率。
**解决方法**:
Apipost提供了很好的*团队管理、项目管理、协作管理*这三大模块。
团队管理整体上来说,就是隔离项目。设计的初衷是为了便于人员流动,您可以把它一个公司理解为一个团队。当人员离职或者更换公司时,可以通过新建团队和切换团队来实现不同公司间项目数据的隔离。
项目管理主要是为了隔离接口数据,可以把不同的业务创建成不同的项目,从而实现接口数据的隔离。
协作管理这个就很关键,在同一个项目中的人员,可以看到其他人的操作,并且可以支持在线协作,提高工作效率。
当然有些小伙伴可能就是想简简单单的去使用,不想搞这些管理的东西,Apipost也考虑到了并且支持*客户端支持不登录使用、客户端支持离线脱机使用。*
**操作流程**:
从软件左侧导航栏点击项目、或者团队,跳转到后台管理界面,然后进行注册。
一共三个步骤:创建团队、创建项目、邀请协作人员。
只要简单的操作几个步骤, 在软件工作台内切对应的团队和对应的项目,就可以一同协作了,再也不用把报文复制来,复制去。
不仅仅是协作,Apipost还提供了很好的管理功能,知道哪些API还在研发中,哪些已完成、需修改,包括协作日志。
小编感觉还有一个更好的作用,就是监督研发人员自测!!!
很多刚进公司的的初级研发人员,可能是着急实现需求,有时候都不会自测的,就提交给测试人员,或者是前端人员开始测试或者联调,结果问题很多,并且接口文档还需要自己写。
2、接口参数依赖
**实际问题:**
什么是参数依赖?
token就是一个很好例子,必须要先获取token,之后其他接口的请求,都需要带上token这个参数。
之前的做法就是先获取一次token,然后手动把token在其他接口改掉,其实这也是一个很繁琐的动作。
** 解决方法**:
Apipost提供了*预执行脚本、后执行脚本*这两个东西。
预执行脚本,就是在发送请求之前执行的脚本,可以生成一些当前时间戳等等。
后执行脚本,就是发送请求之后,获得了响应报文,执行的脚本。
这两者脚本就是通过JS语法来实现的,参数依赖就可以利用后执行脚本来实现。
使用后*执行脚本 + 变量设置*,就可以解决我们这个问题:
**操作流程**:
在获取token接口中,加上一个后执行脚本,把获得的token,设置到一个环境变量中,然后在其他接口直接引用变量即可。
通过console.log输出response,可以看到在response.json中,可以获得token参数。
然后点击“设置一个环境变量”,key 就是token 、 value就是reponse.json.token 就可以了![](https://img-blog.csdnimg.cn/06cc395c2e654f7eb2628720d845ef80.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASVTotLHnlLc=,size_20,color_FFFFFF,t_70,g_se,x_16)
只需要使用{{}} 来引用对应的环境变量,就可以达到参数依赖的效果了。![](https://img-blog.csdnimg.cn/4e8a1cfee5944e7e807fef01949d279b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASVTotLHnlLc=,size_20,color_FFFFFF,t_70,g_se,x_16)
3、Websocket
**实际问题:**
** **在实际工作中,有时候会使用到ws,然后服务端开发好了,需要多个客户端测试怎么办?
之前小编的方案就是:百度去找一个工具去使用。
**解决方法**:
在全新Apipost6.1版本重点推出***Websocket***测试功能,也是一个很实用的功能,![](https://img-blog.csdnimg.cn/4a3ba57e453f4073acdca3eccaa628e7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASVTotLHnlLc=,size_20,color_FFFFFF,t_70,g_se,x_16)
4、其他方面
Apipost也包含自动化测试流程、Apipost也支持web端、主题模式设置等功能。
小编我还是习惯白色的哈哈哈。
四、Apipost VS Swagger
**实际问题一:**
Swagger大家绝大同学都应该使用过,首先需要在项目中集成Swagger的相关依赖、然后在代码中使用注解进行配置。
最终打开了Swagger的文档,也会感觉很乱,不清爽。 当然Swagger不是仅仅是接口文档,它也直接支持进行调用,但是我们使用swagger主要不就是为了接口文档嘛? 聊到这里就能看出,不管是Swagger的使用成本、学习成本,还是有点高的。
**解决方法**:
Apipost就提供了一套很清爽的接口文档,并且是*****一键快速生成文档*****,而且对于文档的管控更加灵活,***可以设置文档的接口的查看权限、文档链接有效期,文档查看密码等***。
总的来就是,就是没有废话,没有装饰,简单明了,一眼就能过get到自己所需要的内容。
先建议设置一下,不然每个接口还需要额外手动去保存。
点击"分享文档",可以选择有效期、是否需要密码,然后直接打开外网链接就行了。
**实际问题二:**
那现在测试人员,或者前端人员,看到了文档,需要调用接口咋办? 一个个参数复制嘛?
这问题也是最常见碰到的问题,有时候接口文档可能是word,可能是其他格式文档,还得一个个去复制,字段有时候几十个,复制起来也很累。
**解决方法**:
如果使用的Apipost分享的文档,只需要点击复制接口,在软件中点击+,选择“粘贴接口/文本”,就整套都复制过来了,无需一个个进行设置。
五、Apipost VS Mock
Mock工具在给大家解释下,Mock就是一个工具,它能够定义一个请求的返回参数。再举个例子,就比如说,你是个前端工程师,页面都写好了,可是后端工程师生病请假了,那联调怎么办? 这个时候就可以用Mock工具,定义后台需要返回的参数,前端就直接调用Mock工具,拿到参数,完成联调。 到时候后台研发好了,直接把调用地址换成后台地址就好了。
**实际问题:**
Mock是公司经常所需要使用的东西,要么可以定义一个接口,然后在代码里面直接返回固定参数,也可以达到Mock的效果,但是这种方式很明显太笨了。
那就需要一个Mock工具,其实很有很多开源的Mock工具项目,之前小编公司,找了一个开源的Mock项目,然后私有化部署,然后进行使用。也占用服务器资源等等。
**解决方法**:
Apipost就提供了Mock工具的时候,它可以以低成本,轻量级的帮助我们解决Mock的问题。再也不需要额外的再去部署服务。
**操作流程**:
建议先对这个进行设置,因为Mock生成的地址是随机的,必须要有一个标识对应某一个API接口,这样设置了,就会自动以你在接口地址定义的路径对应上。
最后可以往这个Mock地址发起请求,就可以拿到对应的返回参数了。
六、最后总结
本文章以上就是小编在工作中所遇到的实际问题,如何利用Apipost解决问题为主介绍了这款工具。
使用下来整体感觉会比较舒服,尤其是那个分享接口文档,结构特别清晰,也如官方介绍所说"漂亮的文档",分享文档还有一个小编觉得很重要的功能:*文档归档机制*,就是为某一个时刻的文档进行快照操作,避免随着其他客户端进行修改保存而导致文档改变。
还有一个感受就是带来了方便,之前公司确实是找了三个不相干的产品结合使用,而Apipost最终合并到一个产品上,学习成本降低了,也给团队协作之间带来了便捷性。
总的来说使用Apipost 就是:*使用低成本做长期主义的事情*。
Apipost 还包含了其他功能:
*** 1、回收站***:Apipost回收站的意义是为了防止某些误删除操作导致的数据彻底丢失。
*2、**控制台***:Apipost控制台类似浏览器的console控制台。在这里可以进行查看请求的接口数据、查看脚本中的变量打印等。
***3、备份还原***:接口数据备份后,可以在任何时候回退到指定版本。防止误操作的情况。
***4、自动生成代码***:填写完接口请求参数后您就可以生成程序代码,包含了市场主流语言。
***5、Apipost脚本***:Apipost脚本是基于JavaScript语言的代码片段,可实现在接口请求或集合测试时添加动态行为。
***6、测试流程***:流程测试是针对一个接口集合的测试,选择相应的环境,可以作为一系列请求一起运行。
等等。
如果你感兴趣,就快去试试吧。
Apipost官网地址:Apipost-API 文档、调试、Mock、测试一体化协作平台
Apipost Web地址:Apipost-基于协作,不止于API文档、调试、Mock
客户端下载地址: 下载中心-Apipost-中文版接口调试与文档管理工具
版权归原作者 IT贱男 所有, 如有侵权,请联系我们删除。