Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 903|回复: 0
打印 上一主题 下一主题

Apipost 一款值得使用的利器

[复制链接]

1228

主题

1997

帖子

7578

积分

认证用户组

Rank: 5Rank: 5

积分
7578
跳转到指定楼层
楼主
发表于 2022-12-25 17:24:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、引言
        今天是小编在家管控的第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 就可以了

         只需要使用{{}} 来引用对应的环境变量,就可以达到参数依赖的效果了。

3、Websocket
        实际问题:

        在实际工作中,有时候会使用到ws,然后服务端开发好了,需要多个客户端测试怎么办?

        之前小编的方案就是:百度去找一个工具去使用。



         解决方法:

        在全新Apipost6.1版本重点推出Websocket测试功能,也是一个很实用的功能,



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-中文版接口调试与文档管理工具
————————————————
版权声明:本文为CSDN博主「IT贱男」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38111957/article/details/124337664

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-29 08:26 , Processed in 0.055802 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表