一.接口设计(接口文档)
1.接口设计即定义接口文档规范(如接口路径、参数、返回值、数据结构等)
2.和Postman不一样,[Apifox]是区分接口设计和接口运行两个概念的
3.接口设计:新建接口界面或接口详情里的编辑界面,用途是定义接口文档规范,而不是运行接口
3.1.所以该界面是只能定义接口基本信息、参数名及参数说明等,而不能设置参数值
3.2.参数值、前置脚本/后置脚本 等信息请在接口运行界面或接口用例界面填写
4.接口运行:接口详情里的运行界面,用途是临时调试接口,运行完后,需要点击保存为用例
4.1.才能将填写的参数值、前置脚本/后置脚本等信息保存下来
4.2.否则关闭tab后,这些信息将会丢失
二.快速上手
1.点击左侧搜索框旁边的 + 号按钮即可打开新建窗口,也可使用 快捷键 Ctrl(⌘) + N
2.在打开的窗口中,直接定义接口相关信息
3.接口路径:以斜杠/起始的接口path部分,如/pets、/pets/{id}
3.3.1.接口路径建议不要包含HTTP协议及域名
这部分建议在环境管理的前置URL里设置,接口调试时的URL会自动加上当前环境的前置URL
3.3.2.特殊情况需在接口路径要带上HTTP协议及域名的,系统也能支持,但不建议这么做
接口调试时,系统如检测到接口路径是以http://或https://起始的,会自动忽略当前环境里前置URL
3.3.3.Apifox中的Path参数是以大括号包裹起来表示,而非冒号起始表示
正确示例:/pets/{id},错误示例/pets/:id。
3.3.4.接口路径不可包含Query参数(即URL中?后的参数),Query参数在下方请求参数部分填写
二.团队管理
1.成员权限分成两个部分:团队权限和成员权限
1.1.团队权限指成员对团队操作的权限,项目权限指成员对项目操作的权限
2.权限管理
3.项目权限
4.使用说明
4.1.当需要修改权限或查看成员权限时,可以点击左上角的项目名称 ,进入团队页面
4.2.在对应的项目下点击成员/权限tab,点击对应成员的设置
4.2.1.就可以看到该成员在该项目内的团队权限和项目权限,并根据需要进行修改
三.团队协作流程
1.前端(或后端)在[Apifox]上定好接口文档初稿
2.前后端一起评审、完善接口文档,定好接口用例
3.前端使用系统根据接口文档自动生成的Mock数据进入开发,无需手写mock规则
4.后端使用接口用例调试开发中接口,只要所有接口用例调试通过,接口就开发完成
4.1.如开发过程中接口有变化,调试的时候就自动更新文档,零成本的保障了接口维护的及时性
5.后端每次调试完一个功能就保存为一个接口用例
6.测试人员 直接使用接口用例测试接口
7.所有接口开发完成后,测试人员(也可以是后端)使用集合测试功能进行多接口集成测试,完整测试整个接口调用流程
8.前后端 都开发完,前端从Mock数据切换到正式数据,联调通常都会非常顺利
8.1.因为前后端双方都完全遵守接口定义的规范
四.导入数据
1.功能说明
1.1.支持导入OpenApi(原Swagger)、Postman、HAR、RAML、RAP2、JMeter、YApi
Eolinker、NEI、DOClever、ApiPost 、Apizza 、DOCWAY、ShowDoc、apiDoc、I/O Docs
WADL、Google Discovery等数据格式,方便旧项目迁移
2.手动导入
2.1.打开项目设置面板,点击手动导入 ,可选择文件导入或URL导入
2.1.1.以导入Apifox为例内容包括:接口、数据模型、环境、测试用例、测试套件
五.导出数据
1.支持直接导出OpenAPI(原Swagger)、HTML、Markdown、Apifox等数据格式
2.OpenAPI(Swagger)支持导出3.1、3.0、2.0版本
3.OpenAPI(Swagger)支持导出离线文件,或直接打开URL
4.导出PDF、Word方法
4.1.目前还不支持直接导出PDF、Word等其他格式数据,但可使用外部工具将Markdown转为对应格式
4.2.如使用[Typora]即可将Markdown导出为 PDF、Word 、OpenOffice、Epub等格式
六.Mock语法
1.基本写法
1.1.自动转换是使用javascript语言默认数据转换方法进行转换
1.2.如现有Mock语法无法满足需求,建议使用正则表达式@regexp来实现灵活的定制
2.正则表达式
3.注意
3.1.Apifox版本号大于等于1.0.12才支持正则表达式
3.2.regexp参数必须以/起始和结尾
七.脚本
1.脚本可实现的功能
1.1.测试(断言)请求返回结果的正确性(后置脚本)
1.2.动态修改接口请求参数,如增加接口签名参数等(前置脚本)
1.3.接口请求之间传递数据(使用脚本操作变量)
1.4.脚本可以直接 调用其他语言编写的程序
1.4.1.支持java、python、js、BeanShell、go、shell、ruby等语言编写的外部程序
2.使用方式
2.1.在将请求发送到服务器之前,使用前置脚本
2.2.收到响应后,使用后置脚本(断言测试)
3.全局脚本和分组脚本
3.1.支持全局设置(在项目概览里设置)前置操作、后置操作,设置后项目里的所有接口运行时都会生效
3.2.支持分组里设置前置操作、后置操作,设置后分组里的所有接口运行时都会生效
4.接口请求的执行流程
[全局前置脚本]-[分组前置脚本]-[接口前置脚本]-[发送接口请求]-[返回接口结果]-[全局后置脚本]-[分组后置脚本]-[接口后置脚本]
5.调试脚本
5.1.调试脚本可以在前置脚本和后置脚本里编写,使用console.log('hello')方式将调试信息写入控制台,打开控制台即可查看
八.快捷键