巴青农资商城

xsh_1997 614d0857b3 测试用例 před 1 týdnem
..
README.md 614d0857b3 测试用例 před 1 týdnem
api_client.py 614d0857b3 测试用例 před 1 týdnem
config.py 614d0857b3 测试用例 před 1 týdnem
conftest.py 614d0857b3 测试用例 před 1 týdnem
requirements.txt 614d0857b3 测试用例 před 1 týdnem
run_all.bat 614d0857b3 测试用例 před 1 týdnem
run_all.sh 614d0857b3 测试用例 před 1 týdnem
test_admin_flow.py 614d0857b3 测试用例 před 1 týdnem
test_consumer_flow.py 614d0857b3 测试用例 před 1 týdnem
test_full_chain.py 614d0857b3 测试用例 před 1 týdnem
test_seller_flow.py 614d0857b3 测试用例 před 1 týdnem

README.md

# 巴清农资商城 · 端到端(E2E)测试套件

纯 HTTP 黑盒测试,完全不改 Java 项目代码。 直接在你的部署机器上跑,像用户一样发真实请求,测全链路联动。


目录结构

e2e-test/
├── README.md           ← 本文件:使用说明
├── requirements.txt    ← Python 依赖
├── config.py           ← 配置:API地址、账号密码(你改这里就行)
├── api_client.py       ← HTTP 客户端封装(不用动)
├── conftest.py         ← pytest 报告配置(不用动)
├── test_flows.py       ← 全部测试用例(23 条用例)
├── run_all.bat         ← 一键运行(Windows)
└── run_all.sh          ← 一键运行(Linux / macOS)

第一步:把整套文件拷贝到部署机器上

把 e2e-test/ 这个文件夹 整个拷贝到你的部署机器上

第二步:改配置

打开 config.py,改以下几个地方:

# 后端的 IP 和端口
API_BASE_URL = "http://127.0.0.1:8020"
# 如果是局域网其他机器: http://192.168.1.100:8020
# 如果是同一台机器:  http://127.0.0.1:8020

# 管理员账号
ADMIN_USERNAME = "admin"
ADMIN_PASSWORD = "admin123"

# 商家账号(需要先手动在后台创建)
SELLER_USERNAME = "seller"
SELLER_PASSWORD = "123456"
SELLER_SHOP_ID = 1

# 是否开启验证码(建议关闭)
CAPTCHA_ENABLED = False

第三步:运行测试

Windows 系统

双击 run_all.bat

Linux / macOS 系统

chmod +x run_all.sh
./run_all.sh

手动运行(任选一种)

# 全部测试
pytest test_flows.py -v --html=report.html --self-contained-html

# 只跑某一组
pytest test_flows.py -v -k "TestPlatformAdmin" --html=report.html
pytest test_flows.py -v -k "TestMemberFlow" --html=report.html
pytest test_flows.py -v -k "TestSellerFlow" --html=report.html

# 只跑单个用例
pytest test_flows.py -v -k "test_06_home_page" --html=report.html

第四步:查看报告

运行完成后,打开 report.html 就能看到完整的测试报告,包含:

  • 所有测试通过/失败状态
  • 每个用例的执行时间
  • 失败时的详细错误日志
  • 环境信息

直接用浏览器双击打开即可。


测试用例清单(23 条)

平台管理员流程

编号 用例 描述
TC01 管理员登录信息 验证登录成功,返回用户信息和权限
TC02 入驻申请列表 查看商户入驻申请列表
TC03 待审核入驻数量 查看有多少待审核的入驻申请
TC04 待审核商品数量 查看有多少待审核的商品
TC05 平台商品列表 查看所有商品列表

消费者端流程

编号 用例 描述
TC06 首页浏览 查看 Banner、分类、热销商品
TC07 会员注册登录 注册新用户,登录获取 token
TC08 新增收货地址 添加一个默认收货地址
TC09 搜索商品 按关键词搜索商品
TC10 加购商品 将商品加入购物车
TC11 订单预览 预览订单信息
TC12 提交订单 提交订单并获取订单 ID
TC13 查看订单 查看订单详情
TC14 模拟支付 调用支付接口
TC15 确认收货 确认收货完成订单

商家端流程

编号 用例 描述
TC16 商品分类选项 获取商家可用的商品分类
TC17 运费模板选项 获取运费模板列表
TC18 商家订单列表 查看商家所有订单
TC19 商家商品列表 查看商家所有商品

全链路串联测试

编号 用例 描述
TC20 管理员审核入驻 找到待审核的入驻申请,审核通过
TC21 消费者购买链路 浏览首页 → 查看商品详情
TC22 商家管理链路 查看商品 → 查看订单
TC23 平台管理链路 查看待审核商品数 → 待审核入驻数

常见问题

Q: 登录报错 "验证码错误"

因为测试脚本默认不处理验证码。

解决方案一(推荐):关闭验证码

  1. 登录管理后台 → 系统管理 → 系统配置
  2. 找到"验证码开关",关闭
  3. 或者直接在数据库执行: sql UPDATE sys_config SET config_value = 'false' WHERE config_key = 'sys.account.captchaEnabled';

解决方案二:开启验证码模式

  1. 修改 config.pyCAPTCHA_ENABLED = True
  2. 目前验证码模式需要配合手动答题,暂不完全自动化

Q: 登录报错 "账号不存在"

管理后台的默认账号是 admin / admin123,如果改过,去 config.py 里改成正确的。

商家账号需要先在后台创建:

  1. 用管理员登录后台
  2. 系统管理 → 用户管理 → 新增用户
  3. 分配商家角色

Q: 测试报错 "没有在售商品"

消费者流程的加购、下单需要系统中已有审核通过的商品。

解决方案:

  1. 先用管理员后台创建一个商品分类
  2. 创建一个商家账号
  3. 发布商品 → 提交审核 → 审核通过

Q: 测试报错 "没有收货地址"

下单前需要先有收货地址。测试脚本中 TC08 会自动创建一个地址。 如果报错说明之前一步失败了,先排查 TC08。

Q: 测试全部跳过(SKIP)

某些测试会检查前置条件(如是否有在售商品),没有数据时会自动跳过,这是正常行为。 系统中数据越完整,能跑通的用例越多。

Q: 报告在哪里?

运行完成后,report.html 就在 e2e-test/ 目录下,双击打开。


先决条件清单

在部署机器上执行测试前,请确认:

  • 后端服务已启动(Spring Boot 运行中)
  • 能通过浏览器访问后端 API(如 http://127.0.0.1:8020
  • Python 3.8+ 已安装(运行 python --version 确认)
  • 已在 config.py 中修改正确的 API 地址
  • 已在 config.py 中修改正确的管理员/商家账号
  • (推荐)验证码已关闭
  • 系统中有基本的测试数据(商品分类、商家、商品等)