测试日期:2026 年 7 月 — 2026 年 8 月

报告日期:2026 年 8 月 17 日

一、项目背景

   电商平台系统,采用 PHP + MySQL 架构,通过 MVC 路由组织页面,已部署至云服务器(http://49.235.61.184)提供线上访问。系统覆盖用户注册登录、商品分类浏览、关键词搜索、商品详情展示、加入购物车、结算下单等完整电商核心业务流程。

  本次测试对平台的核心业务链路开展 Selenium 黑盒自动化测试,覆盖注册、登录、首页导航、分类浏览与搜索、商品详情、购物流程 6 大模块,并区分登录 / 未登录两种状态验证系统行为差异,共设计 18 个测试场景。

测试环境

项目 内容
操作系统 Windows 11
浏览器 Microsoft Edge
Selenium 4.45.0
Python 3.13
被测地址 http://49.235.61.184
测试类型 黑盒功能测试

二、项目功能

被测电商平台主要提供以下功能:

  1. 注册:用户名唯一性校验、密码格式校验(6~18 位)、同意协议勾选,注册成功后自动跳转用户中心。
  2. 登录:账号存在性校验、密码正确性校验,登录成功后进入用户中心,支持退出登录。
  3. 首页导航:登录后可进入个人中心、我的商城、我的收藏;未登录时首页展示登录按钮,点击跳转登录页。
  4. 分类浏览与搜索:按商品分类浏览列表、关键词搜索商品、结果筛选与排序。
  5. 商品详情:展示商品标题、价格、销量、规格、图片,提供立即购买、加入购物车、收藏操作;未登录操作时弹出登录窗口拦截。
  6. 购物流程:浏览商品 → 选规格加购 → 购物车全选结算 → 提交订单 → 支付方式选择;未登录直接访问结算页会被重定向到登录页。

三、测试计划

一)功能测试

用例设计使用思维导图整理,每个模块拆出正常和异常两类场景,同时区分登录和未登录两种状态,具体方法:

  • 等价类划分:账号、密码、手机号、邮箱等输入项,分别取有效值和无效值;
  • 边界值:密码长度限制 6~18 位,测了 5 位和 19 位两个边界;
  • 场景法:按用户完整购物过程串起来跑,注册 → 登录 → 浏览 → 搜索 → 加购 → 结算 → 下单;
  • 状态迁移:同一个页面在登录 / 未登录下的行为差异。

总体数据

项目 数量
场景总数 18
模块数 6
通过 18
失败 0
通过率 100%

1. 注册模块(3 个用例)

图1:注册失败 — 未勾选同意协议

图2:注册成功

编号 场景 预期结果 结果
01 用户名留空直接提交 提示用户名格式错误 通过
02 密码只输 5 位 提示“密码格式 6~18 个字符之间” 通过
03 填写正确的用户名和密码 注册成功,跳转用户中心 通过

注册模块共 3 个用例,分别覆盖密码边界值、空用户名、正常注册流程。每次使用随机用户名避免重复注册报错。

2. 登录模块(4 个用例)

图3:登录失败 — 密码错误提示

图4:登录成功,跳转至首页

编号 场景 预期结果 结果
04 不存在的账号 提示“账号不存在” 通过
05 密码只输 5 位 提示“密码格式 6~18 个字符之间” 通过
06 输入正确账号和错误密码 提示“密码错误” 通过
07 正确账号 + 正确密码 登录成功,跳转用户中心 通过

3. 首页模块(4 个用例)

  首页模块主要验证登录状态下各个入口的跳转是否正确,以及未登录时首页的基本布局,确保每个链接都能正常点击跳转。

图5:首页 — 已登录状态全貌

编号 场景 预期结果 结果
08 登录后点“个人中心” 跳转个人中心,头像区域正常显示 通过
09 登录后点“我的商城” 跳转我的商城页 通过
10 登录后点“我的收藏” 跳转收藏页 通过
11 未登录状态下首页 登录按钮可见,点击跳转登录页 通过

4. 分类与搜索模块(3 个用例)

  分类和搜索测了 3 个场景。搜索用的关键词是“iphone”,返回结果后顺便验证了筛选和排序功能是否可用。

图6:商品列表 — 搜索 iPhone 结果

编号 场景 预期结果 结果
12 登录后点分类浏览 商品列表正常加载,名称和价格显示无误 通过
13 登录后搜索“iphone” 搜索结果正确返回,筛选和排序功能可用 通过
14 未登录浏览分类页 分类 tab、商品列表、搜索框均可见 通过

5. 商品详情模块(4 个用例)

  商品详情页测了 4 个场景,其中 3 个是未登录状态下的拦截场景。未登录时点购买、加购、收藏都会弹登录窗,这个是预期行为,不是 bug。

图7:商品详情 — 未登录弹窗拦截

编号 场景 预期结果 结果
15 登录后打开商品详情 标题/价格/销量/规格/图片/购买按钮/购物车按钮均正常 通过
16 未登录点“立即购买” 弹出登录窗 通过
17 未登录点“加入购物车” 弹出登录窗 通过
18 未登录点“收藏” 弹出登录窗 通过

6. 购物流程模块(5 个用例)

  购物流程是整个测试里场景最多的模块,覆盖从浏览商品到提交订单的完整过程。下单后跳转到支付页,但测试服务器没配支付通道,所以看到支付方式选择页就算下单成功。

图8:购物流程 — 商品详情加购

图9:支付方式选择页 — 支付通道为空

编号 场景 预期结果 结果
19 登录后浏览商品详情 商品名称和售价正常显示 通过
20 选规格 + 加入购物车 弹出成功提示,购物车图标数字 +1 通过
21 购物车全选 + 点结算 进入结算页,地址和商品信息正确 通过
22 提交订单 进入支付方式选择页 通过
23 未登录直接访问结算页 被重定向到登录页 通过

截图清单

测试过程中每个场景都自动截了图,共计 32 张,存在 images/日期/ 目录下,按测试方法名命名。完整清单:

测试方法 张数 截图内容
RegisterFailTest 2 未勾选协议提示、密码过短提示
RegisterSucTest 2 注册前、注册后跳转用户中心
LoginFailTest 6 提示“密码错误”
LoginSucTest 2 登录前、登录后跳转用户中心
HomePageTestByLogin 4 首页、个人中心、我的商城、我的收藏
HomePageTestNoLogin 1 登录按钮 + 跳转登录页
ListTestByLogin 2 分类浏览、搜索结果
ListTestNoLogin 1 未登录分类页
DetailTestByLogin 1 已登录商品详情页
DetailTestNoLogin 4 购买弹窗、购物车弹窗、收藏弹窗×2
EditTestByLogin 6 商品页、加购、购物车全选、结算页、提交后支付页×2
EditTestNoLogin 1 未登录重定向到登录页

二)自动化测试

  代码按功能模块组织,浏览器操作封装在公共工具类里,各模块测试类直接完成元素操作与断言,由统一入口按业务顺序编排执行。结构如下:

  • common/Utils.py:封装浏览器驱动管理(单例 MallDriver)、元素等待与点击(wait_and_click)、等待与输入(wait_and_send_keys,基于 WebDriverWait 显式等待)、自动截图(按日期和方法名分类保存到 images/日期/ 目录)等重复操作;
  • tests/ 目录:按业务模块拆分,每个模块一个文件、一个类,如 MallRegister.py(注册)、MallLogin.py(登录)、MallHomePage.py(首页)、MallList.py(分类/搜索)、MallDetail.py(商品详情)、MallEdit.py(购物流程);
  • RunTest.py:测试主入口,按“注册 → 登录 → 已登录各模块 → 退出登录 → 未登录各模块”的业务顺序编排执行;
  • 断言方式:使用 Python 原生 assert 校验预期结果,每个测试方法执行后自动截图存档,便于失败时快速定位;执行成功时静默输出,退出码为 0。

四、难点

  1. 浏览器驱动下载失败:webdriver_manager 从境外 CDN 下载 msedgedriver 在国内网络下经常失败。解决:去掉 webdriver_manager,改用 Selenium 4.45 内置的 Selenium Manager 自动管理驱动,无需手动下载。
  2. Edge 浏览器启动崩溃:Edge 150+ 版本下部分启动参数(--remote-debugging-port 等)会导致 msedgedriver 崩溃。解决:精简启动参数,仅保留必要的 --disable-gpu,驱动稳定运行。
  3. 结算页依赖购物车 Session:最初直接访问结算页 URL,页面读取不到购物车 Session 数据,显示“商品信息为空”。解决:用例改为走完整用户流程——商品页 → 加购 → 关闭弹窗 → 购物车页 → 全选 → 结算,与真实用户操作一致。
  4. 加购弹窗遮挡:加入购物车后弹出成功提示窗覆盖页面,影响后续元素点击。解决:先关闭弹窗再进行下一步操作。
  5. 购物车商品默认未勾选:进入购物车页显示“已选商品 0 件”。解决:点击“全选”后再结算。
  6. 支付通道未配置:提交订单后跳转到支付方式选择页,但支付方式列表为空——测试服务器未配置支付宝/微信通道。测试以“看到支付方式选择页”作为下单成功的标准。
  7. 截图管理:每个测试方法执行后自动截图,按日期和方法名分类存储。本次共生成 32 张截图,主要用于失败时快速定位问题页面。

五、测试结论

  18 个场景全部通过,通过率 100%,无失败用例。核心业务链路(注册 → 登录 → 浏览 → 搜索 → 加购 → 结算 → 下单)全部跑通,无阻塞性缺陷。自动化脚本可一键回归,系统迭代后几分钟即可完成全量验证,替代人工逐页点检。

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐