Name Last Update
..
__pycache__ Loading commit data...
.token.json Loading commit data...
README.md Loading commit data...
__init__.py Loading commit data...
client.py Loading commit data...
run_all_tests.py Loading commit data...
test_auth.py Loading commit data...
test_dicts.py Loading commit data...
test_menus.py Loading commit data...
test_roles.py Loading commit data...
test_users.py Loading commit data...

API 测试脚本

基于 Python 3.7.8 的 Apple ERP 系统 API 接口测试脚本。

环境要求

  • Python 3.7.8+
  • requests 库
pip install requests

配置

  • 默认API基地址:http://localhost:8083
  • 默认登录账号:admin
  • 默认登录密码:password

可通过环境变量 API_BASE_URL 修改基地址:

export API_BASE_URL=http://your-server:8083

使用方法

1. 单独运行测试

# 登录测试(获取并保存token)
python test_auth.py

# 用户管理测试
python test_users.py

# 角色管理测试
python test_roles.py

# 菜单管理测试
python test_menus.py

# 字典管理测试
python test_dicts.py

# 产品信息管理测试
python test_products.py

# 订单管理测试
python test_orders.py

2. 一键运行所有测试

python run_all_tests.py

3. 自定义登录账号

python test_auth.py your_username your_password

测试内容

认证管理 (test_auth.py)

  • 用户登录
  • 获取并保存JWT token
  • 打印token供后续使用

用户管理 (test_users.py)

  • 获取用户列表
  • 新增用户(含模拟数据)
  • 编辑用户信息
  • 重置用户密码
  • 修改用户状态
  • 删除用户

角色管理 (test_roles.py)

  • 获取角色列表
  • 新增角色(含模拟数据)
  • 编辑角色信息
  • 修改角色状态
  • 删除角色

菜单管理 (test_menus.py)

  • 获取菜单列表(占位实现,需根据实际接口调整)

字典管理 (test_dicts.py)

  • 获取字典列表(占位实现,需根据实际接口调整)

产品信息管理 (test_products.py)

  • 分页查询产品列表
  • 获取产品详情
  • 新增产品
  • 修改产品信息
  • 修改产品状态
  • 修改返利标识
  • 获取所有产品
  • 删除产品
  • 批量删除产品
  • 参数验证测试

订单管理 (test_orders.py)

  • 分页查询订单列表
  • 获取订单详情
  • 新增订单(含订单明细)
  • 修改订单信息
  • 修改订单出库状态
  • 修改订单开票状态
  • 修改订单返利计算状态
  • 删除订单
  • 批量删除订单

注意事项

  1. Token管理:登录成功后,token会自动保存到 .token.json 文件中,后续请求会自动携带。

  2. 模拟数据:用户和角色测试使用随机生成的模拟数据,避免与现有数据冲突。

  3. 菜单和字典:由于API文档中未找到明确的接口定义,当前为占位实现。如有具体接口路径,请修改对应脚本。

  4. 产品管理:产品测试包含完整的CRUD操作,会自动创建和清理测试数据,避免影响生产数据。

  5. 错误处理:脚本包含基本的错误处理和状态码检查。

文件说明

  • client.py - API客户端封装类
  • test_auth.py - 认证登录测试
  • test_users.py - 用户管理测试
  • test_roles.py - 角色管理测试
  • test_menus.py - 菜单管理测试(占位)
  • test_dicts.py - 字典管理测试(占位)
  • test_products.py - 产品信息管理测试
  • test_orders.py - 订单管理测试
  • run_all_tests.py - 一键运行所有测试
  • .token.json - 自动生成的token存储文件(运行后产生)

扩展

如需添加更多接口测试,可参考现有脚本结构:

  1. 创建新的测试文件
  2. 使用 ApiClient 类进行请求
  3. 添加模拟数据生成
  4. 包含错误处理和状态检查