Apifox-接口调用、自动化测试工具
Apifox简介
Apifox 的定位是Postman + Swagger + Mock + JMeter,具有API文档管理、API调试、API Mock、API 自动化测试等功能。可以通过一种工具解决之前使用多种工具的数据同步问题。高效、及时、准确!
安装
Apifox的安装非常方便,直接下载安装包解压安装即可,下载地址:https://www.apifox.cn/
官方非常贴心地提供了示例项目,直接打开即可体验Apifox的功能,看下界面还是很漂亮的;
我们自己使用的话首先需要新建团队,便于团队成员之间协同工作;
然后在团队中新建项目,新建成功后我们就可以开始使用Apifox的强大功能了!
API文档导入
Apifox的API文档导入功能非常强大,支持包括Swagger、Postman、YApi、ShowDoc等多达20种工具的导入。接下来我们通过使用之前mall-tiny-swagger项目中的接口,来体验下它的导入功能!
首先我们选择新建接口按钮,选择导入;
然后打开导入界面,选择Swagger->URL导入,输入Swagger的数据URL;
导入时将显示导入预览,显示要导入的接口和数据模型,Apifox将会把我们接口返回的实体类转换为数据模型,以便进行复用;
导入成功后界面效果如下,Apifox将查看文档和修改文档做了区分,方便我们管理接口文档。
接口管理
虽然从Swagger中导入的接口文档已经很详细了,但是为了体验Apifox更为强大的功能,我们有时候还是需要编辑下接口信息的。
接口设计
看下Apifox的请求参数界面,非常详细!
再看下Apifox返回结果界面,支持折叠,这个很多工具都是没有的;
再看下Apifox的修改文档界面,支持添加状态、分组和标签。
接口调试
我们再来体验下Apifox的调试功能,比Postman更强大!
在我们开发接口时,很多时候需要分不同的环境,Apifox默认给我们分了测试环境、正式环境、Mock服务,这三个基本也够用了;
在调试接口之前,我们得先设置好环境所对应的前置URL,比如这里我们设置了测试环境的;
在Apifox中我们可以使用接口用例来调试我们的接口,接口用例可以保存我们输入的参数,以便之后测试使用;
Apifox支持在接口调用前后做自定义操作,比如我们可以在后置操作中添加一个断言,返回结果中code等于200表示操作成功;
此时我们输错密码来调用下接口,断言会直接提示我们结果和预期不符合;
有些接口我们需要传入Authorization头才能访问;
这种访问我们可以通过环境变量来实现,首先在登录接口中添加后置操作,选择提取变量,将返回的token提取到环境变量AUTH_TOKEN中;
然后修改接口文档,在Header中设置需要传入Authorization头;
接下来在接口用例中通过表达式使用Authorization头即可正常访问需要登录认证的接口了。
使用脚本
Apifox的自定义前置操作和后置操作非常强大,不仅支持简单的断言和提取变量,还能支持编写JS脚本。
例如之前我们判断操作成功,断言code等于200可以使用脚本这样实现;
此时我们输错密码来调用下接口,断言会直接提示我们结果和预期不符合。
Mock数据
在我们后端接口没有开发完成,前端开发需要数据时,往往可以通过Mock来提供数据,Apifox的Mock数据功能也是很强大的。
Apifox号称能根据你数据模型中的字段名称智能Mock,让我们来看看它的规则;
其实默认的Mock规则有时候并不是很完善,比如我们来看下它Mock的数据;
此时我们可以在数据模型中修改,可以让Mock的数据更加人性化一点,比如我们可以将各种状态设置为枚举类型;
还可以将logo字段通过@image这种方式设置为图片类型;
重新设置一下之后,人性化多了;
接下来只需把环境改为Mock服务就可以调用Mock数据的接口了!
测试管理
Apifox不仅能支持接口调试,还支持创建测试用例进行批量测试以及性能测试。
首先我们可以在测试管理中创建测试用例;
之后选择从接口用例导入,选择好需要导入的接口用例;
选择好运行环境后,点击运行进行批量测试;
测试完成后即可显示测试报告;
如果你想进行性能测试的话,在测试界面选择好线程数即可;
测试完成后,可以通过导出报告来查看更为详细的报告信息。
主题设置
个人比较习惯暗色主题,Apifox也是可以选择亮色主题和主色的,直接在设置中可以进行切换。
总结
Apifox确实是一款界面漂亮、功能强大的API接口工具。Postman有的接口调试功能它基本都有,还集成了接口文档管理、数据Mock、自动化测试等功能,强烈建议大家尝试下!
最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
相关文章:
Apifox-接口调用、自动化测试工具
Apifox简介 Apifox 的定位是Postman Swagger Mock JMeter,具有API文档管理、API调试、API Mock、API 自动化测试等功能。可以通过一种工具解决之前使用多种工具的数据同步问题。高效、及时、准确! 安装 Apifox的安装非常方便,直接下载安…...
Vue一个项目兼容每个省份的个性化需求
开发环境及打包指令 后拼上省份区划"serve:henan": "yarn && vue-cli-service serve -o --encryptSM2 --zone41","serve:hunan": "yarn && vue-cli-service serve -o --encryptSM2 --zone43","serve:guizhou&quo…...
npm install报错 npm ERR! 的解决办法
以下是四种常见的npm ERR及解决方式错误一、npm ERR! A complete log of this run can be found in:npm ERR!C:\Users\nanyi\AppData\Roaming\npm-cache_logs\2021-09-17T08_58_23_413Z-debug.l查看错误日志,错误日志就在上面展示的C:\Users…这里如果发现错误日志里…...
echarts修改饼图,环形图的圆环宽度,大小
echarts修改环形图的圆环宽度,大小 环形图圆环的大小需要通过series-pie. radius属性来修改 radius 饼图的半径。 Array.<number|string>:数组的第一项是内半径,第二项是外半径。每一项遵从上述 number string 的描述。 把数组的第…...
小白系列Vite-Vue3-TypeScript:010-封装svg
上一篇我们介绍了ViteVue3TypeScript项目中mockjs的安装和配置i。本篇我们来介绍封装SVG图标组件。svg特征Preloading所有图标都是在项目运行时生成的,只需要操作一次dom即可。高性能内置缓存,仅在文件被修改时才会重新生成。安装插件vite-plugin-svg-ic…...
卷严重、难度高、激励少,如何适应空投市场新变化
自从空投交互从2020年开始之后,不少人都开始加入到空投交互的行列中,一些项目也因为“格局”的因素,在项目正式上线前都会给早期参与者空投代币,以此吸引大家的关注。但是在越来越多的人加入到撸空投行列之中后,现在整…...
基于Java与JSP的文件上传和下载
概念 当用户在前端页面点击文件上传后,用户上传的文件数据提交给服务器端,实现保存。 文件上传步骤 提交方式: 提供form表单,method必须是post。因为post请求无数据限制。 <form method"post"></form>…...
Gromacs中的g_mmpbsa计算带电底物与蛋白的结合能不准确
g_mmpbsa计算带电底物与蛋白的结合能总是不准确 TOC 在做的两个项目中,利用g_mmpbsa计算带电底物与蛋白的结合能结果非常不可靠,底物带两个硫酸根离子,g_mmpbsa在计算带电的底物与酶的结合能时总是不准确,因此后续若底物带电&…...
【mmrotate】旋转目标检测之训练DOTA数据集
every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 mmrotate训练DOTA数据集记录 1. 正文 1.1 数据准备 数据介绍部分,参考DOTA数据介绍,官方提供了裁剪工具development kit。这里…...
图基本概念
图:顶点和边的集合。无向图:每条边都是无方向的有向图:每条边都是有方向的完全图:任意两个点都有一条边相连稀疏图:有很少边或弧的图稠密图:有较多边或弧的图网:边/弧带权的图邻接:有…...
机器学习基础
一、基本概念 1 学习的概念 1975年图灵奖获得者、1978年诺贝尔经济学奖获得者、著名学者赫伯特.西蒙 (Herbert Simon) 曾下过一个定义: 如果一个系统,能够通过执行某个过程,就此改进了它的性能,那么这个过程就是学习.由此可看出,…...
FreeRTOS-Tickless低功耗模式 | FreeRTOS十四
目录 说明: 一、低功耗模式简介 1.1、STM32低功耗模式 二、Tickless模式 2.1、Tickless模式如何功耗 2.2、Tickless模式设计思想 2.3、为了降低功耗,又不影响系统运行,怎么能做到呢? 三、Tickless模式修改配置 3.1、配置…...
实现了统一消息中心的微服务基础框架 JVS,快点赞收藏
一、开源项目简介基于JVS(基于spring cloud封装)的基础开源框架,实现了基于多对多租户能力的管理系统。二、基础框架实现功能支持数据管理支持分布式定时任务支持分布式日志采集支持系统监控支持动态配置中心支持模板消息支持链路跟踪支持邮件…...
VMware 安装 OpenWrt 旁路由并配置 PassWall
1、准备 OpenWrt 镜像包 我已经转好了 vmdk 格式的,更多的可以去恩山论坛下载 OpenWrtvmdk格式-虚拟化文档类资源-CSDN下载 也可以在这个平台在线定制 OpenWrt固件下载与在线定制编译 2、网络选择 NAT 模式 3、创建虚拟机,选择自定义方式 4、一直下…...
R语言GD包地理探测器分析时报错、得不到结果等情况的解决方案
本文介绍在利用R语言的GD包,实现自变量最优离散化方法选取与执行、地理探测器(Geodetector)操作时,出现各类报错信息、长时间得不到结果等情况的解决方案。 在之前的文章R语言GD包基于栅格图像实现地理探测器与连续参数的自动离散…...
嵌入式开发:你需要知道的5种简单
传达嵌入式软件体系结构设计意图通常伴随着基于嵌入式开发人员经验的假设。你可以从资源受限的基于微控制器的系统的角度来看架构设计。如何设计架构将取决于系统的嵌入式软件分类。有许多不同的方法可以对嵌入式软件进行分类。我发现有五种简单的嵌入式软件分类可以帮助我调整…...
MVC与MVVM
MVC与MVVM举例说明MVCMVVM两者比较MVC <!DOCTYPE html> <html><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>mvc案例</title><link rel"styleshe…...
Cortex-M0异常和中断
目录1.概念2.异常类型3.异常优先级定义4.向量表5.异常流程概述接受异常请求压栈和出栈异常返回指令末尾连锁延迟到达6.EXC_RETURN7.异常入口流程的细节压栈取出向量并更新PC寄存器更新8.异常退出流程的细节1.概念 异常是能够引起程序流偏离正常流程的事件,当异常发…...
数据库(6)--存储过程
一、学习目标 熟悉存储过程的定义和使用,熟练运用 select ,update ,insert ,delete 命令完成对学生信息数据库的查询、更新、添加、删除操作。 二、学习内容 学生(学号,年龄,性别,系名) 课程(…...
c++ 指针、引用和常量
指针、引用和常量的关系_夜悊的博客-CSDN博客 1. ① 指针是对象,引用不是对象(在此可以理解为变量,一个变量是一个对象) 指针不必须初始化引用只是为一个已经存在的对象所起的另一个名字(别名)ÿ…...
1、HAL库UART 中断|DMA 自动回显接收数据
1、实现代码: stm32f4xx_hal_conf.h文件开启UART宏定义 #define HAL_UART_MODULE_ENABLED添加stm32f4xx_hal_uart.c和stm32f4xx_hal_dma.c到自己工程; 编写好的代码:usart_Driver.c /***************************************************…...
NPOI - ConditionalFormattingRule
NPOI 给xls(xlsx)创建条件格式 获取 XSSFSheetConditionalFormatting 对象 初始化 IWorkbook _workbook new XSSFWorkbook(); ISheet _dataSheet _workbook.GetSheet("template"); ISheetConditionalFormatting fcs _dataSheet.SheetConditionalFormatting;调用…...
JavaのString类这一篇就够了(包含StringBuffer_Builder)
1.🥗String类简介 在我们写代码的时候,String总是充斥着前前后后。 但你会不会经常力不从心, “这个*** 字符串怎么** 转换不成功啊” “*** 这个字符串到底是常量还是对象啊” “这*** 字符串内存结构到底* * * 是什么啊” “为啥我的字符串…...
C# dataGridView 导出表格 xls NPOI 2.4.1 版本
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; try { SaveFileDialog fileDialog new SaveFileDialog(); fileDialog.Filter “Excel(97-2003)|*.xls”; if (fileDialog.ShowDialog() System.Windows.Forms.DialogResult.Cancel) { return; } //不允许dataGridView…...
秒杀项目的消息推送
目录 一、创建消费者 二、创建订单链路配置 1.定义RabbitMQ配置类 2.创建RabbitmqOrderConfig配置类 三、如何实现RabbitMQ重复投递机制 1.开启发送者消息确认模式 2.消息发送确认 ① 创建ConfirmCallBacker确认模式 ② 创建ReturnCallBack退回模式 3.创建生产者 …...
最近开发及 vue3 几个小总结
只是单纯记录一下最近维护了几个项目之后的感触,也只是在自己现在水平上面的一些感觉。发发牢骚,水水文章 是否过度封装 可能水平不够吧,在 axios 封装的时候,只是把响应和拦截还有一些全局的配置封装了一下,并没有加…...
代谢组学分享-花青素通过调节氨基酸代谢改善糖尿病肾病的肾功能
代谢组学文献分享,文章标题:Anthocyanin improves kidney function in diabetic kidney disease by regulating amino acid metabolism 发表期刊:Journal of Translational Medicine 影响因子:8.44 作者单位:中山大…...
超简单!pytorch入门教程:Tensor
超简单!pytorch入门教程:Tensor 一、pytorch安装 安装pytorch之前,需要安装好python(废话),还没安装过python的宝宝请先移步到廖雪峰的python教程,待安装熟悉完之后,再过来这边。 …...
如何使用COCO数据集,注意事项
COCO数据集可用来训练目标检测,分类,实例分割等。 下面简单说下如何使用这个数据集, 数据集下载可用如下的代码进行,以2017为例。 # Download the image data. cd ./images echo "Downloading MSCOCO train images ...&quo…...
金三银四跳槽季,JAVA面试撸题就来【笑小枫】微信小程序吧~
JAVA面试撸题就来【笑小枫】微信小程序啦~ 疫情已过,金三银四即将到来,小伙伴们是否有跳槽的打算呢?不管有没有,技术不能丢,让我们一起来撸题吧。 博主最近整理了一批面试题,包括JAVA基础、多线程与锁、Red…...
有初中生做的网站吗/想做推广哪个平台好
04年IM软件评测:表情贴图(转)测试项目三 聊天辅助之表情贴图 朗玛UC UC的表情图标看起来比较可爱,无论是创意和颜色选取都属于上乘之作,它的默认贴图总数高达80个了,软件支持自定义表情贴图上传,还能够进行聊天表情贴…...
有做浏览单的网站/站长工具网站测速
mysql如何字段引用和防止出现数据库关键字 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 数据库中…...
wordpress浮动标签云/小程序开发需要哪些技术
ListView的下拉刷新很常见,很多开源的框架都能做到这个效果,当然也可以自己去实现。本篇案例是基于xlistview的。 布局: <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android" xmlns:tools"http:/…...
用手机怎样制作网站/南宁seo排名首页
交流电源有多种定义。 定义一:通过数字接口控制的开关电源(它强调的是交流电源的“通信”功能)。 定义二:具有数字控制功能的开关电源(它强调的是交流电源的“数控”功能)。 定义三:具有数字监测功能的开关电源(它强调的是交流电源对温度等参…...
wordpress 容易/网上营销方式和方法
函数的嵌套: 在函数内部定义函数就是函数的嵌套 def func1(): pass def func2(): pass 闭包: example: def funcx(x): def funcy&…...
做家装网站源码/百度免费资源网站
在安防行业急速发展的今天,随着对图像分辨率、帧率、图像智能检测等方面需求的不断提高,进而在编码、传输、存储、解码等一系列过程中,迫使对算法和芯片也提出了更高的要求。海思在算法和芯片方面有着多年的行业经验,而雄迈在安防…...