apifox进行简单的登录-登出接口自动化
最后保存即可2、在登录接口提取变量之后,需要在登出接口里引用,我这里的idtoken放到header里面,在提取变量中定义的【变量名称】是token,因此引用需要使用该名称,格式为{{token}}再填写uid、did其他信息即可ps:如果我们不确定通过{{token}}是否能调取登录接口的值,可以添加前置操作-自定义脚本,先把获取到的idtoken打印出来,发送接口后,检查控制台是否打印了idt
以登录–登出为例
调通单个接口
1、在【接口管理】中调通单个接口,可以通过抓包方式获取登录的请求体

2、将request里内容全部复制到apifox-body-json,接口地址、请求方式、header里的参数如uid之类的填写好(参照接口文档),点击【发送】按钮测试是否成功

3、登出接口也是同样的操作,直接复制charles的request,再把其他字段补充完成,具体操作参照接口文档,我这里需要在header里添加id-token(就是登录接口response里的)、did(抓包或者看logicat日志)
PS:查看logcat日志步骤
a、usb线连接手机和电脑,选择“传输文件”,可以使用mac自带的终端工具,输入以下命令获取以连接的设备名
adb devices
b、输入以下命令查看设备的日志信息
adb -s 设备名 logcat | grep 'flutter'
登录-登出自动化
1、在【自动化测试】模块下创建测试目录,点击【添加步骤】,选择【从接口中导入】,勾选在【接口管理】中已经调试通过的登录、登出接口
2、导入过来的测试集是和【接口管理】中的接口属于绑定关系,即在【自动化测试】中修改了内容惠同步到【接口管理】里,可以点击详情进行解除关联
登录-登出自动化
思路
登录接口的response会产生idtoken,这个idtoken会作为登出接口的入参,而每次登录产生不同的idtoken,所以需要在登录接口添加一个后置操作:提取变量,将response的idtoken作为一个变量提取出来,供登出接口调用
步骤
1、在登录接口中添加后置操作,选择【提取变量】
变量名称:自定义,最好有意义的名称
提取来源:因为idtoken产生于response json中,因此选择response json
提取范围:我们本次只需要提取idtoken,不需要全部,因此选择【提取部分】
JSONPath 表达式:观察idtoken位于response的具体位置,$ 表示根目录,data字段中的idtoken,因此表达式为$.data.idToken
最后保存即可
2、在登录接口提取变量之后,需要在登出接口里引用,
我这里的idtoken放到header里面,在提取变量中定义的【变量名称】是token,因此引用需要使用该名称,格式为{{token}}
再填写uid、did其他信息即可

ps:如果我们不确定通过{{token}}是否能调取登录接口的值,可以添加前置操作-自定义脚本,先把获取到的idtoken打印出来,发送接口后,检查控制台是否打印了idtoken即可
var idToken = pm.variables.get("token");
console.log(idToken)
3、以上操作都完成后,可以勾选登录和登出接口,点击右侧的【运行】按钮进行测试
最终的执行结果,可以点击【更多详情】查看具体接口的信息
如:登出接口的控制台确实打印出了idtoken,证明我们添加的前置、后置操作是生效的
另外,登出接口我也添加了断言,根据接口文档,请求成功的返回值应该是:
{
"code": 0,
"msg": "success",
"traceId": "1c09d9c6f4094803a20956c5f02a3bb4"
}
因此可以验证response中的msg是否等于success,在后置操作中选择断言,按照如下内容填写即可,JSONPath表达式和上面的逻辑一致,根目录下面的msg字段 等于 success
然后保存即可,发送请求就能看到断言的结果啦
更多推荐

所有评论(0)