51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 843|回复: 1
打印 上一主题 下一主题

领导Apipost 我用上“瘾”了

[复制链接]
  • TA的每日心情
    无聊
    2024-10-29 09:20
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2022-8-10 14:45:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、引言

            今天是小编在家管控的第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-中文版接口调试与文档管理工具















    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 10:10 , Processed in 0.068099 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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