# ApiPost工具使用操作指南
文档作者:Tim
初始创建:2019.04 (ApiPost版本V1.x)
最近修订:2020.04 (ApiPost版本V2.6.0 For Win) 升级后版本3.1.3
版本号:V0.3.2
1 ApiPost概述
1.1 绪论
提升开发、测试团队效率;
可直接生成文档的API调试、管理工具。
1.2 简介
ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。
支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具。
1.3 软件版权
商帮科技 版权所有
计算机软件著作登记号:2019SR0087419 豫ICP备18020487号
2 工具安装与登录
2.1 软件安装
根据附录下载网址,选择相应版本下载安装。
图2-1 下载安装
2.2 登录
2.2.1 客户端登录
Windows 版本,打开。
图2-2 客户端登录界面
登录后
图 登录信息
2.2.2 网站登录
参加附录网址登录在线网站
图2-3 Web登录界面
2.3 软件升级
启动客户端时,如果有升级版本,会提示:
完成下载
立即安装
运行
按提示,下一步
同意协议,下一步
填写信息,下一步
默认安装路径,下一步
根据实际选择,下一步
总结,下一步
完成
开始菜单,图标已经更新
重新运行(启动)客户端
登录窗口,表示升级成功。
新版本主界面:
3 工具使用
3.1 初级篇
3.1.1 项目管理
项目管理菜单
图3-1 项目管理
3.1.1.1 新建项目
图3-2 新建项目
3.1.1.2 管理项目
选择后打开浏览器页面
图3-3 管理项目
3.1.1.3 切换项目
图3-4 切换项目
3.1.2 团队协作
选择右上角连接
在浏览器中管理。
图3-5 团队成员
3.1.2.1 邀请成员加入
图3-6 邀请成员
3.1.2.2 对成员进行管理
图3-7 管理成员
3.1.2.3 设置成员权限
图3-8 权限设置
3.1.2.4 同步数据
同步其他成员更新的数据
图3-9 同步数据
图3-10 确定同步
注意:同步前最好先保存数据。
3.1.3 消息提醒
点击右上角铃铛图标
图3-11 消息提醒
3.1.4 接口测试与管理
3.1.4.1 历史记录
图3-12 历史记录
3.1.4.2 接口列表
图3-13 接口列表
3.1.4.3 新建接口
点击+
号
图3-14 新建接口
图3-15 编辑接口
选择【发送】,可以发送请求查看结果。
3.1.4.4 保存接口
选择【保存(至)】可以发送请求查看结果或保存。
红点表示修改后未保存。
默认保存位置
图3-16 保存接口
3.1.4.5 编辑接口
左边列表单击相应接口,直接修改
图3-17 编辑接口
编辑后注意及时保存。
3.1.4.6 删除接口
图3-18 删除接口
3.1.5 常用接口方法
一般项目接口请求只用到GET&POST方法。
图3-19 请求方法
3.2 高级篇
3.2.1 接口组织与管理
为方便管理,可以通过文件夹(分组)形式组织各模块不能功能接口。
3.2.1.1 新建目录
选择父目录
输入目录名称
保存。
3.2.1.2 新建子目录
选择刚才新建的附件管理目录
同上,输入名称保存
关闭取消新建。
3.2.1.3 编辑目录
单击选择目录名称后面的 ...
,选择编辑目录
可以修改父目录和/或目录名称
保存或关闭。
3.2.1.4 删除目录
单击选择目录名称后面的 ...
,选择删除目录
确认或取消。
3.2.2 环境与变量
对于一些常见的参数,我们可以将其定义成变量,以便达到一处改动,全部改动的目的。
例如我们请求的URL域名,完全可以将其设置为变量,在URL栏只输入路由即可。这样的话,我们可以通过控制变量的值,来达到请求不同域名、相同路由的API接口(比如可以用来快速切换开发环境和生产环境)。(来自:官方说明)
一般地,我们可以定义“测试环境”和“生产环境”或者“本地开发环境”等。
3.2.2.1 新建环境
右上角点击选择
新建环境
输入环境名称、变量名和初始值,可以是IP或者域名,保存。
参考:
ApiPost V3 如何设置一个变量 https://doc.apipost.cn/b4d4b5afe8428a4a
3.2.2.2 切换环境
选择刚才新建的环境
提示切换成功
3.2.2.3 查看编辑环境
点击眼睛图标
修改变量url
保存。
3.2.2.4 删除环境
点击垃圾桶图标
确认或取消
3.2.2.5 环境变量的使用
我们把上面的功能接口测试URL修改一下:
把原来写死的服务器如http://localhost 或 127.0.0.1之类的改为通用环境变量。
通过切换环境,就可以连接不同接口服务器。
url的取值上面已经定义。
3.2.2.6 查看当前已定义的变量
点击右上角的“变量管理器”进行查看当前已定义的变量。
3.2.2.7 变量的MD5加密
ApiPost 支持变量的md5加密发送:
$.md5()
如下图所示:
3.2.2.8 变量的base64编码
ApiPost 支持变量的base64编码发送:
$.base64.encode()
$.base64.decode()
如下图所示:
3.2.3 接口参数依赖
ApiPost V3版本的参数依赖处理方式同旧版雷同。
什么是接口参数依赖:
接口参数依赖又称作接口依赖,简单点说就是后面的接口要用到前面的接口产生的数据。
比如:我们一个接口B需要A接口返回的参数token作为自己的请求参数。常见的场景如:访问一个需要登陆才能浏览的接口。(来自:官方说明)
参考:
ApiPost自动化测试基础之:接口参数依赖的情景处理 https://doc.apipost.cn/0b7073bc11916c6c
3.2.3.1 依赖登录的接口测试
前后端分离开发,项目后台功能接口很多是依赖登录Session才能请求返回结果的,所以调试时必须特殊处理。绝对不能削足适履,在后台通过修改代码取消登录来进行前期测试(虽然也是一个有效的办法,但作者认为不是一个好办法)。
原理:利用ApiPost发送Cookie,使服务器识别已登录用户的Cookie。
以下以DotNet项目为例说明。
比如:获取用户列表的接口需要先登录认证。如图:
利用ApiPost的环境变量,可以解决这种需要先登录再请求的接口依赖情况。
所以要先做一次登录接口请求,如下:
将登录接口返回的.AspNetCore.Session(这个是SessionID,PHPSESSID是针对PHP作为后端接口的SessionID变量名,其他语言的变量名可能不同)设为环境变量。
接着返回用户列表接口,点击【发送】按钮旁边的三角,选择【带Cookie】,输入 PHPSESSID=。
此举是为了利用登录接口返回的Cookie伪造请求的PHPSESSID。
AspDotNetCore变量如下
再次运行获取用户列表,
OK.
4 常见问题FAQ
后续遇到典型问题可以补充在这里。
4.1 无法访问
问题描述:点击发送后,出现无法访问。
解决办法:
正如提示,原因可能多样或以上多个。没有固定方法,只能一个个排查。
5 附录
5.1 名词术语
- 环境变量
环境变量仅在当前已选中环境生效,当您切换了右上角的当前环境后,环境变量则失效。
常见的使用场景如上面举的例子,我们可以定义开发环境和生产环境,从而指定不同的URL来区分接口请求地址的不同。
- 全局变量
全局变量不受当前环境的影响,只要是在同一个项目下,该变量都会生效。
环境变量和全局变量的调用方法都是一样的。
- 复杂变量
ApiPost脚本定义复杂变量。
ApiPost 支持自定义函数来定义复杂的变量。如下图:
- mock**变量**
ApiPost 支持mock.js变量(官网:http://mockjs.com/)。如下图:定一个mock对象,含数字、手机号、邮箱、中文名等。然后通过
apt.variables.set("mock_email", _mock_data.list[0].email);
取第一条数据的email信息。
5.2 最佳实践(推荐)
- 建议:变量名统一用小写。
5.3 参考资源
1) 官网 https://www.apipost.cn/
2) 官方文档 https://doc.apipost.cn/
3) 在线登录 https://my.apipost.cn/
4) 软件安装下载 https://www.apipost.cn/download.html
5.4 引用书目
文中参考或引用的书目及互联网资源出处,著作权归原作者所有,列表如下:
- 使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?