问题描述
接口测试时,每次都需要手动登录获取token,先登录系统,从浏览器中复制token,再到apifox的接口上把token帖上去,然后才能去测试具体的接口;更麻烦的是,切换环境的时候,token也要换,又要把上面的步骤重做一遍。能不能在运行接口用例前自动完成登录获取token?
解决方案
使用Apifox进行接口测试,通过前置操作,创建公共脚本模拟登录,自动获取token并填充到接口请求头中,这样就可以实现每次调用接口自动登录获取最新token了。详细步骤如下:
- 定义环境变量。分别在开发环境和测试环境中设置登录的用户名及密码。
- 在项目设置>>公共脚本中新建脚本>>保存
脚本如下:// 定义用户名变量 var username; // 获取环境里变量:前置URL、用户类型 const baseUrl = pm.environment.get('BASE_URL'); const userType = pm.environment.get('userType'); // 根据用户类型的值取相应的用户名 switch (userType) { case '1': username = pm.environment.get('user01'); break; // 使用break关键字来阻止代码自动地向下一个case运行 case '2':