|
|
1 тиждень тому | |
|---|---|---|
| .. | ||
| README.md | 1 тиждень тому | |
| api_client.py | 1 тиждень тому | |
| config.py | 1 тиждень тому | |
| conftest.py | 1 тиждень тому | |
| requirements.txt | 1 тиждень тому | |
| run_all.bat | 1 тиждень тому | |
| run_all.sh | 1 тиждень тому | |
| test_admin_flow.py | 1 тиждень тому | |
| test_consumer_flow.py | 1 тиждень тому | |
| test_full_chain.py | 1 тиждень тому | |
| test_seller_flow.py | 1 тиждень тому | |
# 巴清农资商城 · 端到端(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
双击 run_all.bat
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 就能看到完整的测试报告,包含:
直接用浏览器双击打开即可。
| 编号 | 用例 | 描述 |
|---|---|---|
| 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 | 平台管理链路 | 查看待审核商品数 → 待审核入驻数 |
因为测试脚本默认不处理验证码。
解决方案一(推荐):关闭验证码
sql
UPDATE sys_config SET config_value = 'false' WHERE config_key = 'sys.account.captchaEnabled';
解决方案二:开启验证码模式
config.py 中 CAPTCHA_ENABLED = True管理后台的默认账号是 admin / admin123,如果改过,去 config.py 里改成正确的。
商家账号需要先在后台创建:
消费者流程的加购、下单需要系统中已有审核通过的商品。
解决方案:
下单前需要先有收货地址。测试脚本中 TC08 会自动创建一个地址。 如果报错说明之前一步失败了,先排查 TC08。
某些测试会检查前置条件(如是否有在售商品),没有数据时会自动跳过,这是正常行为。 系统中数据越完整,能跑通的用例越多。
运行完成后,report.html 就在 e2e-test/ 目录下,双击打开。
在部署机器上执行测试前,请确认:
http://127.0.0.1:8020)python --version 确认)