热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

程序员的摸鱼加速器!

​ 最近趁摸鱼时间体验了一款神器,堪称后端前端们的摸鱼加速器,测试们的寿命催化剂。那就是:Apifox。中国自主研发的集文档、接口调试、Mock、接口自动化测试一体的协作平台。一套

 

最近趁摸鱼时间体验了一款神器,堪称后端前端们的摸鱼加速器,测试们的寿命催化剂。

那就是:Apifox。中国自主研发的集文档、接口调试、Mock、接口自动化测试一体的协作平台。

一套系统、一份数据,可解决多个系统之间的数据同步问题。

定义好接口文档,则接口调试、数据Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试也可以同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!

编辑

已有的API工具,例如postman,fiddler等,虽然功能也很强大,但是食用起来还是比较的繁琐,面对少量的接口还好说,要是面对大量的接口,需要耗费一定时间和精力去分门别类建立规范文档,添加相应的接口,Mock数据测试......

或许因为习惯性的问题,难以移步新的软件工具,但是这款Apifox工具一旦你接触之后,你就可能停不下来并爱上它。以下是亲测体验:

Swagger接口导入Apifox

先前接口服务通常配置开源Swagger,来统一前后端用于生成文档和代码的工具,它使用 yaml/json 作为描述语言。通过 OpenAPI Specification 来描述 API,最后使用 Codegen 根据不同的配置来生成各种 language、library 的 Code、Docs。

这个功能出现之后,已经成为了不少拥护者爱戴,接口分门别类,请求的参数和输出参数一目了然。

但当接口数量堆积一定数量之后,测试的累赘随处可见,无法快速定位到目标接口,测试的数据痕迹无法保留,切换接口版本需要重新输入token和参数,无法mock数据,需要手动“张三”,“123”......Umm

所以,使用Apifox,以上的问题通通可以解决。

编辑

首先,我们通过Swagger文档的json格式地址导入到Apifox。这成功的快感着实让人眼前一亮。

编辑

在项目概览的位置,有一个自动导入功能,可以看到选择导入的频率,亲测每隔3小时之后就会更新接口。

默认选项OpenApi(Swagger),输入名称和Swagger的json地址,在高级选项里最好勾选接口路径加上basePath,因为接口域名地址我们可以在全局配置,然后指定在你建立的项目文件夹里,另外接口的覆盖模式也可以由自己选择。

导入之后,发现接口按照Controller的命名为分组导入,相应数据模型也会导入,请求接口的时候按照原有的接口实体进行调用。

编辑

Apifox 全局变量配置

前面提到过,导入接口文档的时候,选择【接口路径加上basePath】,此时我们看到调用接口的地址是一个半路径,现在我们通过全局变量的方式来补全接口。

编辑

右上角点击管理全局变量,添加接口服务名称和接口的地址。

在接口的目录里的服务(前置url)添加接口地址。我们的项目可能会包含多个接口服务,我们按每个接口服务为分组,相应的文件夹里选择自己的接口地址,然后所有子级的文件夹的前置url都继承自父类(感叹面向对象发挥到了极致)。

然后,就可以请求了?你是否会发现,我们的接口里会有授权token以及特殊头部?难道我们每个接口请求都要手动配置一遍吗?先生多虑了,我们来看。

我们以token为例子,首先在全局添加一个变量:om_token,然后在授权接口里调用之后,点击【后置操作】,添加之后选择【提取变量】。

注意,此处的变量名称要和全局变量的一致,然后通过表达式:$.属性名 进行提取变量赋值给全局变量。

成功之后,会在控制台里看到已经赋值给om_token了,在全局变量管理里也能看到token的值。

然后使用,在接口的总目录里,点击【Auth】,选择【Bearar Token】,Token的值选择刚刚配置的变量名【om_token】。这里可能不同的接口有不同的token类型,只需选择对应的接口文件夹里配置对应的token变量即可。

通过全局变量,我们可以把固定不变的参数都可以通过全局变量或者提取变量的方式来实现呢。

编辑

到了这里我们已经把接口的环境搭建好了,现在可以实现调用。此处一个完整的接口调用就完成了。

编辑

比如Put,Post请求需要传递实体的,我们可以通过自动生成Mock数据进行请求,而不用通过我们自己手动输入张三,李四啦。

编辑

Apifox 自动测试组件

我们还可以实现自动化测试,自行选择单元测试或者集成测试。

在左侧菜单【自动化测试】里右键分组添加【测试用例】,选择从接口中导入,选择需要测试的接口,下边可以选择【绑定】接口,就会两边同步更改,相应的接口测试数据也会同步测试。

编辑

导入测试的接口之后呢,右侧可以选择测试的频次,也支持压力测试。

编辑

配置之后,可以查看对应的测试报告,成功和失败的数据,以及接口调用的时间。咱们是不是可以开发一个功能之后,配置一些压力测试数据,让他自己跑我们就可以摸鱼刷水去了?

编辑

咱作为一名严谨的码农,一些测试用例自然要考虑全,我们可以在mock参数的时候 ,值可以配置动态变量,例如等价类划分、边界值法、因果图、判定表,正交排列。

编辑

编辑

当然,还可以生成请求代码;还能发布到Api Hub共享;查看一些知名开源Api接口。参照大佬们的开源接口文档,瞬间知道什么是世界的参差。

能够看到他们的接口API定义是很严谨,很完善的,从中也能借鉴不少规范。

编辑

目前体验的都是在开发过程中实际用到的功能,其功能远不止这些。还能链接数据库,通过sql脚本来测试开发,且支持多种语言,有兴趣的伙伴可以自行体验。

编辑

Apifox 下载地址

软件完全免费,复制下面的链接,粘贴到浏览器打开即可下载,

官网地址:www.apifox.cn



推荐阅读
  • 《Spring Boot开发:从0到1》大纲结构
    《SpringBoot开发:从0到1》大纲结构v2.0第一部分SpringBoot基础第1章SpringBoot史前简述1.1J2EE(Java2Pla ... [详细]
  • php实现用户注册登录界面的方法:1、创建log.php登录主界面;2、设置register.php注册主界面;3、通过mysqli_connect连接数据库并进行相应的数据操作即可。 ... [详细]
  • 第三方登录之微信扫码登录
    文章目录1.申请微信接入:2.项目环境搭建:3.后端Controller接口:4.HTML页面代码:5.测试结果࿱ ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 使用Postman调试API遇到“400 Bad Request”问题
    问题今日使用Postman调试一个临时接手的API,参照调用程序代码填充好请求头、请求体参数(post),Postman客 ... [详细]
  • 一、介绍:在测试和开发中,有一款API测试工具一直占据着武林盟主的地位,那就是声名远播的Google公司的Postman。Postman原先是Chrome浏览器的一个插件,后面发展 ... [详细]
  • postmain报400_Postman测试@RequestBody发送请求时报400错误
    postman测试requestbody时碰到400错误图1原因:传参数如果不使用RequestBody,在使用Postman进行Post请求时,通常做 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 解决文件名过长下载失败问题的jQuery方案
    本文介绍了使用jQuery解决文件名过长导致下载失败的问题。原方案中存在文件名部分丢失的问题,通过动态生成隐藏域表单并提交的方式来解决。详细的解决方案和代码示例在文章中给出。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • k8shelm官网:https:helm.sh点击charts:https:artifacthub.iopackagessearch?sortrelevance&page11.1h ... [详细]
  • 背景后端使用Nginx并更改本地host文件,起本地服务。将aaa.bbbb.com代理至本地IP地址(10.26.36.156)。使用$.ajax调用后端restful接口,要求 ... [详细]
  • 那么多优秀的自动化测试工具,而你只知道Selenium?
    如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成 ... [详细]
author-avatar
秀珍冠秋晓雯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有