如何玩转国产神器:接口一体化协作平台Apifox!
前言:Apifox是什么?
简介: 简单来说,Apifox = swagger + mock + postman+Jmeter,是API 文档、API 调试、API Mock、API 自动化测试一体化协作平台。可以把接口开发过程中各角色的工作,例api设计者、后端开发、前端开发、测试人员协同到一个Apifox平台完成。

工具使用界面的各个功能都直接提供“使用帮助文档”的快捷入口,同时也提供了演示项目来练习,对于新手非常友好。

下载安装: 官网下载软件包,支持 Windows、Mac、Linux系统,同时也可web操作。安装按照指引完成即可。
1、Apifox导入抓包数据开展接口测试
场景: 公司要求你做接口测试或性能测试,但开发并未提供接口文档给你,怎么去做?
之前解决方式: 抓包 --> 分析抓包的接口数据-->使用postman或jmeter一项项信息填入-->执行接口
Apifox解决方式: 抓包 -->copy为cURL命令-->在apifox导入,快速生成接口信息-->直接执行
1)通过浏览器F12开发者工具,点击抓到的登录接口信息-->右键-->复制值->复制为cURL命令

2)在Apifox选择导入抓包数据,粘贴复制的cURL命令-->确定。

3)生成快捷请求,请求信息自动填写,点击发送可查看结果。接口调试成功后,可点击保存为接口或快捷请求。

2、导入swagger生成接口,开展接口测试
场景: 开发定义的接口在swagger,使用接口工具例用Jmeter需要将swagger信息一项项填入工具,再去执行。可直接利用Apifox导入swagger自动生成接口,且接口定义好后,调试、执行一次性解决,不需要多次配置数据。
示例: swagger地址 http://api.lemonban.com:8788/futureloan/doc.html
1)打开Apifox,选择导入-->URL导入-->填入swagger信息-->提交。请注意导入地址非swagger地址,需要填写的是json或yaml数据文件的URL。

2)按照提示操作下一步,导入成功后,在接口管理可查看到所有导入的接口,每个接口信息跟swagger平台一致。导入后可直接进行后续的接口脚本调试,执行等操作。

3、接口测试--单接口
无论是开发在Apifox平台直接定义的接口,还是抓包导入,亦或是swagger导入,定义好的接口,可以直接在界面点击运行,进行接口执行。
1)执行前提:需配置接口前置url-->进入环境管理-->测试环境,进行配置。

2)点击运行,在运行界面的接口请求信息会自动填写,body参数会依据接口定义的长度类型自动生成,如果不符合可再修改。发送的数据,可保存为用例,方便自己后续操作或者其他团队人员直接使用。

4、接口自动化测试
在执行接口时,实际业务需要多个接口串联执行,有些接口需要依赖到其他接口的返回数据,还有些需要从数据库获取数据等等。这种情况下我们可以使用Apifox中的接口自动化测试板块,支持测试用例及测试套件。
示例: 注册->登录->充值接口串联执行
1)新建接口用例-->点击详情-->添加用例步骤-->选择接口用例导入


2)针对添加的接口步骤,需要处理关联、参数化等操作,点击每个接口详情,进行相关配置。
注册设置:

登录设置:


充值设置:


3)点击用例界面的运行,显示执行报告如下,点击每个接口执行的更多详情,可查看请求、响应的详细信息。每一次运行的报错,可点击自动化测试-测试报告查看。

总结
Apifox的功能使用远不止以上这些,以上主要整理对于测试人员的主要应用。关于Apifox的更多应用大家可以关注官网提供的使用文档。当然为了便于大家对于这款工具的学习,我也同步录制了一套平台使用教程,含项目实操。

如何玩转国产神器:接口一体化协作平台Apifox!的更多相关文章
- 宝藏发现之API接口高效协作神器Apifox
概述 背景 Apifox官方地址 https://www.apifox.cn/ 前面文章我们已经围绕微服务展开,缺少一个关键前置流程,那就是API接口设计,而在API接口设计开始前本篇先推荐一个非常好 ...
- Bugku-CTF分析篇-中国菜刀(国产神器)
中国菜刀 国产神器
- #研发解决方案#研发协作平台CloudEngine
Cloud Engine:大杀器如何炼成 郑昀(微博:http://weibo.com/yunzheng) 创建于2016/6/18 最后更新于2016/6/19 点击查看我的<如何从零搭建一个 ...
- [持续交付实践] 研发协作平台:DevOps背景下的组织结构
前言 今年以来做的事情越来越杂,负责的技术方向越来越广,精力越来越分散(创业公司的典型特点),编码的时间越来越少,有时候也会觉得很疲惫没办法专注一个事情. 除了技术方向上的实践,组织上如何组建一个最优 ...
- Y事业部打造一体化质量管理平台
互联网企业质量管理的困惑 作为互联网时代的互联网企业,我们的研发模式和传统模式相比,最显著的不同在于发布节奏加快了,这个加快不是快了10%,20%,50%,而是加快了几倍,甚至几十倍,上百倍.面对加快 ...
- 京东Y事业部打造一体化质量管理平台
互联网企业质量管理的困惑 作为互联网时代的互联网企业,我们的研发模式和传统模式相比,最显著的不同在于发布节奏加快了,这个加快不是快了10%,20%,50%,而是加快了几倍,甚至几十倍,上百倍.面对加快 ...
- 企业如何建立一体化数据分析平台?还是得说说那几家BI工具
近年来,BI工具和报表工具犹如一股春风,吹遍了大江南北,成为了众多企业的发展利器,受到了企业决策者的拥戴.同时,在企业信息化需求日益旺盛的市场里也孕育了不少BI工具与报表工具厂商.商业智能的应用在国外 ...
- 国内外开源与 SaaS ,团队协作平台、项目管理工具整理
整理一些开源与 SaaS ,团队协作平台.项目管理工具.还有哪些比较好的工具,可以推荐下? 名称 地址 备注 asana https://asana.com/ 国外 basecamp https:// ...
- Google协作平台
本博文的主要内容有 .Google协作平台的介绍 1.Google协作平台的介绍 https://zh.wikipedia.org/wiki/Google%E5%8D%8F%E4%BD%9C%E5%B ...
- 现代汽车加入Linux 基金会和 AGL协作平台
1月4日,现代汽车宣布已加入 Linux 基金会和其旗下的非营利协作平台 Automotive Grade Linux(AGL),现代汽车公司副总裁兼信息娱乐技术中心负责人 Paul Choo 表示: ...
随机推荐
- Linux用户管理2
passwd给用户修改密码 用户自己给自己设置密码直接passwd root用户给普通用户设置密码passwd 用户名 --stdin从标准输入获取信息 echo "1" | pa ...
- 使用Microsoft Network Monitor 抓包分析文件上传
Microsoft 自己提供了一个官方的抓包工具,可以比较方便的在windows平台抓包,并可以提供协议关键字正则.安装包位置:\\192.168.10.248\public\ghw\tools\MN ...
- php【websocket】
在PHP中,开发者需要考虑的东西比较多,从socket的连接.建立.绑定.监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的.下面就简单介绍一下,可供参考 一.socket协议的简介 ...
- 9.15 2020 实验 2:Mininet 实验——拓扑的命令脚本生成
一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. ...
- Think Python 学习笔记
#!/usr/bin/env python# coding: utf-8# # Think Python 学习笔记# 1.关于异或计算符# In[2]:6^2# 2.关于函数# 注意:变量名称不能用数 ...
- Spring AOP的动态代理原理和XML与注解配置
AOP 实现底层就是对上面的动态代理的代码进行了封装,封装后我们只需要对需要关注的部分进行代码编写,并通过配置的方式完成指定目标的方法增强. 相关术语: Target(目标对象):代理的目标对象 Pr ...
- 去除python中数据的0值
import numpy as np a = [0, 1, 2] a = np.array(a) a = a[a != 0].tolist() print(a) //a = [1, 2]
- SpringSecurity登录验证,多个用户表
在开始之前我想感叹一句,技术久了不回头看看真的会忘记的,这次公司让我重新开发一个程序,项目架构为单体多模块开发,其中有个需求就是需要不同用户表进行登录,且不同表的用户名.手机号都可以重复. 这样的需求 ...
- Vue-router 中hash模式和history模式的关系
Vue-router 中hash模式和history模式的关系 众所周知,vue+vue-router能够构建一个SPA单页面应用, 打包后只会生成一个index.html文件,而项目内页面的切换其实 ...
- Appium--滑动屏幕、不常用API
1.滑动屏幕api #滑动屏幕 size = driver.get_window_size() #获取屏幕大小 width = size.get('width') #宽 height = size.g ...