共计 1495 个字符,预计需要花费 4 分钟才能阅读完成。
1. 背景介绍
在现代 Web 开发中,Token 认证已经成为一种常见的安全机制。它通过在用户登录后生成一个加密的 Token 字符串,后续请求时携带这个 Token 来验证身份,避免了频繁传输用户名密码的风险。

但在测试这类接口时,开发者常常会遇到几个痛点:
- 每次测试都需要先手动获取 Token
- 需要在多个接口间手动传递 Token
- 测试流程繁琐,效率低下
Apifox 作为一款强大的 API 工具,可以完美解决这些问题。下面我们就来看看如何利用 Apifox 高效测试带 Token 认证的登录接口。
2. Apifox 环境配置
2.1 创建新项目
- 打开 Apifox,点击左上角 ”+” 按钮
- 选择 ” 新建项目 ”
- 输入项目名称,比如 ” 用户认证测试 ”
- 点击 ” 创建 ” 按钮
2.2 设置环境变量
为了方便管理不同环境,我们可以设置环境变量:
- 点击左下角的 ” 环境 ” 按钮
- 点击 ”+” 添加新环境,例如 ” 开发环境 ”
-
在变量表中添加以下变量:
-
base_url: 你的 API 基础地址,如
http://api.example.com - username: 测试用户名
- password: 测试用户密码
3. 登录接口测试
3.1 创建登录接口
- 在项目中右键点击 ” 接口 ” 文件夹
- 选择 ” 新建接口 ”
- 命名为 ” 用户登录 ”
3.2 配置请求参数
在接口编辑页面配置以下信息:
- 请求方法:POST
- 请求 URL:
{{base_url}}/api/login - Body 选择 ”raw” 格式,类型为 JSON
- 输入请求体:
{"username": "{{username}}",
"password": "{{password}}"
}
3.3 发送测试请求
- 点击右上角的 ” 发送 ” 按钮
- 查看响应结果,确认返回了 Token
4. Token 的自动提取和传递
4.1 提取 Token
- 在登录接口的 ”Tests” 标签页
- 添加以下 JavaScript 脚本:
// 获取响应数据
const response = pm.response.json();
// 检查是否有 Token
if (response.data && response.data.token) {
// 将 Token 保存到环境变量
pm.environment.set("auth_token", response.data.token);
console.log("Token 已保存:" + response.data.token);
}
4.2 自动传递 Token
对于需要认证的接口,在 Headers 中添加:
- Key: Authorization
- Value: Bearer {{auth_token}}
这样每次请求都会自动带上最新的 Token。
5. 最佳实践
5.1 使用接口分组
建议将认证相关接口放在 ” 认证 ” 分组中,业务接口按模块分组。
5.2 创建 Mock 数据
可以为登录接口创建 Mock 数据,方便前端开发:
- 在接口编辑页面切换到 ”Mock” 标签
- 设置 Mock 规则
- 生成模拟 Token
5.3 批量测试
Apifox 支持自动化测试,可以创建测试套件:
- 先测试登录接口获取 Token
- 然后顺序测试需要认证的接口
- 最后生成测试报告
6. 常见问题解答
Q1: Token 没有正确保存
A: 检查响应数据结构是否匹配脚本中的路径,确认 Token 字段名正确。
Q2: 认证接口返回 401
A: 检查:
– Token 是否过期
– 请求头是否正确添加了 Authorization
– Token 前缀 (如 Bearer) 是否正确
Q3: 环境变量不生效
A: 确保:
1. 当前选择了正确的环境
2. 变量名拼写正确
3. 变量值已保存
动手实践
现在你已经掌握了 Apifox 测试 Token 接口的基本方法,建议立即动手尝试:
- 创建一个测试项目
- 配置登录接口
- 设置 Token 自动传递
- 测试几个需要认证的接口
如果在实践中遇到问题,欢迎在评论区分享你的经验和解决方案。
正文完
