# ApiPost工具使用操作指南

文档作者:Tim

初始创建:2019.04 (ApiPost版本V1.x)

最近修订:2020.04 (ApiPost版本V2.6.0 For Win) 升级后版本3.1.3

版本号:V0.3.2

fenghe img

1 ApiPost概述

1.1 绪论

提升开发、测试团队效率;

可直接生成文档的API调试、管理工具。

1.2 简介

ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。

支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具。

1.3 软件版权

商帮科技 版权所有

计算机软件著作登记号:2019SR0087419 豫ICP备18020487号

2 工具安装与登录

2.1 软件安装

根据附录下载网址,选择相应版本下载安装。

image-20201225170635218

图2-1 下载安装

2.2 登录

2.2.1 客户端登录

Windows 版本,打开。

image-20201225170731113

图2-2 客户端登录界面

登录后

image-20201225170757299

图 登录信息

2.2.2 网站登录

参加附录网址登录在线网站

image-20201225170829099

图2-3 Web登录界面

2.3 软件升级

启动客户端时,如果有升级版本,会提示:

image-20201225170855316

完成下载

image-20201225171513752

立即安装

image-20201225171536409

运行

image-20201225171602590

按提示,下一步

image-20201225171629978

同意协议,下一步

image-20201225171653657

填写信息,下一步

image-20201225171718883

默认安装路径,下一步

image-20201225171744779

根据实际选择,下一步

image-20201225171805578

总结,下一步

image-20201225171824512

完成

image-20201225171844904

开始菜单,图标已经更新

image-20201225171907425

重新运行(启动)客户端

image-20201225171926394

登录窗口,表示升级成功。

新版本主界面:

image-20201225171947952

3 工具使用

3.1 初级篇

3.1.1 项目管理

项目管理菜单

image-20201225172014745

图3-1 项目管理

3.1.1.1 新建项目

image-20201225172037668

图3-2 新建项目

3.1.1.2 管理项目

选择后打开浏览器页面

image-20201225172105419

图3-3 管理项目

3.1.1.3 切换项目

image-20201225172129622

图3-4 切换项目

3.1.2 团队协作

选择右上角连接

image-20201225172154133

在浏览器中管理。

image-20201225172218454

图3-5 团队成员

3.1.2.1 邀请成员加入

image-20201225172242801

image-20201225172304555

图3-6 邀请成员

3.1.2.2 对成员进行管理

image-20201225172330297

图3-7 管理成员

3.1.2.3 设置成员权限

image-20201225172409508

图3-8 权限设置

3.1.2.4 同步数据

同步其他成员更新的数据

image-20201225172435915

图3-9 同步数据

image-20201225172453530

图3-10 确定同步

注意:同步前最好先保存数据。

3.1.3 消息提醒

点击右上角铃铛图标

image-20201225172516378

图3-11 消息提醒

3.1.4 接口测试与管理

3.1.4.1 历史记录

image-20201225172539737

图3-12 历史记录

3.1.4.2 接口列表

image-20201225172601509

图3-13 接口列表

3.1.4.3 新建接口

点击+

image-20201225172635376

图3-14 新建接口

image-20201225172709449

图3-15 编辑接口

选择【发送】,可以发送请求查看结果。

3.1.4.4 保存接口

选择【保存(至)】可以发送请求查看结果或保存。

红点表示修改后未保存。

默认保存位置

image-20201225172754082

图3-16 保存接口

3.1.4.5 编辑接口

左边列表单击相应接口,直接修改

image-20201225172820131

图3-17 编辑接口

编辑后注意及时保存。

3.1.4.6 删除接口

image-20201225172838546

图3-18 删除接口

3.1.5 常用接口方法

一般项目接口请求只用到GET&POST方法。

image-20201225172902747

图3-19 请求方法

3.2 高级篇

3.2.1 接口组织与管理

为方便管理,可以通过文件夹(分组)形式组织各模块不能功能接口。

image-20201225172935269

3.2.1.1 新建目录

image-20201225173008678

选择父目录

image-20201225173028051

输入目录名称

image-20201225173046610

保存。

3.2.1.2 新建子目录

选择刚才新建的附件管理目录

image-20201225173111531

同上,输入名称保存

image-20201225173130866

关闭取消新建。

3.2.1.3 编辑目录

单击选择目录名称后面的 ... ,选择编辑目录

image-20201225173425251

可以修改父目录和/或目录名称

image-20201225173450058

保存或关闭。

3.2.1.4 删除目录

单击选择目录名称后面的 ... ,选择删除目录

image-20201225173520891

确认或取消。

image-20201225173538961

3.2.2 环境与变量

对于一些常见的参数,我们可以将其定义成变量,以便达到一处改动,全部改动的目的。

例如我们请求的URL域名,完全可以将其设置为变量,在URL栏只输入路由即可。这样的话,我们可以通过控制变量的值,来达到请求不同域名、相同路由的API接口(比如可以用来快速切换开发环境和生产环境)。(来自:官方说明)

一般地,我们可以定义“测试环境”和“生产环境”或者“本地开发环境”等。

3.2.2.1 新建环境

右上角点击选择

image-20201225173559795

新建环境

image-20201225173617748

输入环境名称、变量名和初始值,可以是IP或者域名,保存。

image-20201225173635746

参考:

ApiPost V3 如何设置一个变量 https://doc.apipost.cn/b4d4b5afe8428a4a

3.2.2.2 切换环境

选择刚才新建的环境

image-20201225173719703

提示切换成功

image-20201225173739339

3.2.2.3 查看编辑环境

点击眼睛图标

image-20201225173756405

修改变量url

image-20201225173811585

保存。

3.2.2.4 删除环境

点击垃圾桶图标

image-20201225173859272

确认或取消

image-20201225173917224

3.2.2.5 环境变量的使用

我们把上面的功能接口测试URL修改一下:

把原来写死的服务器如http://localhost 或 127.0.0.1之类的改为通用环境变量。

image-20201225173938023

通过切换环境,就可以连接不同接口服务器。

url的取值上面已经定义。

3.2.2.6 查看当前已定义的变量

点击右上角的“变量管理器”进行查看当前已定义的变量。

image-20201225174000496

3.2.2.7 变量的MD5加密

ApiPost 支持变量的md5加密发送:

$.md5()

如下图所示:

image-20201225174027255

3.2.2.8 变量的base64编码

ApiPost 支持变量的base64编码发送:

$.base64.encode()

$.base64.decode()

如下图所示:

image-20201225174046902

3.2.3 接口参数依赖

ApiPost V3版本的参数依赖处理方式同旧版雷同。

什么是接口参数依赖:

接口参数依赖又称作接口依赖,简单点说就是后面的接口要用到前面的接口产生的数据。

比如:我们一个接口B需要A接口返回的参数token作为自己的请求参数。常见的场景如:访问一个需要登陆才能浏览的接口。(来自:官方说明)

参考:

ApiPost自动化测试基础之:接口参数依赖的情景处理 https://doc.apipost.cn/0b7073bc11916c6c

3.2.3.1 依赖登录的接口测试

前后端分离开发,项目后台功能接口很多是依赖登录Session才能请求返回结果的,所以调试时必须特殊处理。绝对不能削足适履,在后台通过修改代码取消登录来进行前期测试(虽然也是一个有效的办法,但作者认为不是一个好办法)。

原理:利用ApiPost发送Cookie,使服务器识别已登录用户的Cookie。

以下以DotNet项目为例说明。

比如:获取用户列表的接口需要先登录认证。如图:

image-20201225174124973

利用ApiPost的环境变量,可以解决这种需要先登录再请求的接口依赖情况。

所以要先做一次登录接口请求,如下:

image-20201225174151375

image-20201225174209097

image-20201225174235172

image-20201225174250757

将登录接口返回的.AspNetCore.Session(这个是SessionID,PHPSESSID是针对PHP作为后端接口的SessionID变量名,其他语言的变量名可能不同)设为环境变量。

接着返回用户列表接口,点击【发送】按钮旁边的三角,选择【带Cookie】,输入 PHPSESSID=。

image-20201225174313704

此举是为了利用登录接口返回的Cookie伪造请求的PHPSESSID。

AspDotNetCore变量如下

image-20201225174339582

再次运行获取用户列表,

image-20201225174415959

OK.

4 常见问题FAQ

后续遇到典型问题可以补充在这里。

4.1 无法访问

问题描述:点击发送后,出现无法访问。

image-20201225174533079

解决办法:

正如提示,原因可能多样或以上多个。没有固定方法,只能一个个排查。

5 附录

5.1 名词术语

  • 环境变量

环境变量仅在当前已选中环境生效,当您切换了右上角的当前环境后,环境变量则失效。

常见的使用场景如上面举的例子,我们可以定义开发环境和生产环境,从而指定不同的URL来区分接口请求地址的不同。

  • 全局变量

全局变量不受当前环境的影响,只要是在同一个项目下,该变量都会生效。

环境变量和全局变量的调用方法都是一样的。

  • 复杂变量

ApiPost脚本定义复杂变量。

ApiPost 支持自定义函数来定义复杂的变量。如下图:

image-20201225174648396

  • mock**变量**

ApiPost 支持mock.js变量(官网:http://mockjs.com/)。如下图:定一个mock对象,含数字、手机号、邮箱、中文名等。然后通过

apt.variables.set("mock_email", _mock_data.list[0].email);

取第一条数据的email信息。

image-20201225174949279

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)?

https://www.cnblogs.com/phpwechat/p/10611522.html

https://www.jianshu.com/p/9d8626033efa

Copyright © 德和居 2021 粤ICP备20069867号 在CC-BY-NC-SA 4.0协议下授权使用,除非另有说明 all right reserved,powered by Gitbook本文修订时间: 2020-12-25 22:56:40

results matching ""

    No results matching ""

    results matching ""

      No results matching ""