Files
ccdi/docs/tests/records/2026-04-22-bidding-info-maintenance-browser-test-record.md

171 lines
6.0 KiB
Markdown
Raw Normal View History

2026-07-02 16:48:17 +08:00
# 2026-04-22 招投标信息维护真实页面综合测试记录
## 1. 测试目标
- 在真实浏览器中进入“信息维护-招投标信息维护”页面,验证页面可访问、列表可加载、无明显前端报错。
- 覆盖招投标信息维护核心业务链路:
- 列表加载
- 条件查询
- 详情查看
- 新增
- 编辑
- 删除
- 导入模板下载
- 双 Sheet Excel 导入
- 导入失败记录查看
- 测试结束后清理本轮新增/导入成功数据,并关闭测试过程启动的前端进程与浏览器会话。
## 2. 测试环境
- 前端地址:`http://localhost:62319`
- 后端地址:`http://127.0.0.1:62318`
- Mock 服务:`http://127.0.0.1:8000`
- 前端 Node 版本:`nvm use 14.21.3`
- 浏览器Playwright headed 模式真实浏览器
- 登录方式:通过真实登录页使用预填测试账号 `admin / admin123` 登录后进入页面
- 测试页面:`http://localhost:62319/maintain/purchaseTransaction`
## 3. 测试文件
- 页面下载模板:
- `/Users/wkc/Desktop/ccdi/ccdi/output/playwright/bidding-maintenance-test/.playwright-cli/招投标信息维护导入模板-1776842565558.xlsx`
- 生成导入样本:
- `/Users/wkc/Desktop/ccdi/ccdi/output/spreadsheet/bidding_info_import_browser_mixed.xlsx`
- Playwright 上传副本:
- `/Users/wkc/Desktop/ccdi/ccdi/output/playwright/bidding-maintenance-test/bidding_info_import_browser_mixed.xlsx`
## 4. 页面测试过程与结果
### 4.1 页面进入与基础加载
- 从真实登录页登录后,通过顶部菜单进入“信息维护-招投标信息维护”。
- 页面面包屑、菜单高亮、列表列头显示正常。
- 关键列表列正常展示:
- `中标供应商`
- `参与供应商数`
- `预算金额(元)`
- Playwright 网络面板确认首屏关键请求均返回 `200`
- `/dev-api/getInfo`
- `/dev-api/getRouters`
- `/dev-api/ccdi/purchaseTransaction/list`
- Playwright 控制台未发现 warning。
### 4.2 详情查看
- 打开首条现有记录详情:
- `LSFXMOCKP2PUR001`
- 验证通过:
- 基本信息、金额信息、重要日期、申请人信息正常展示
- 供应商明细表正常展示
- 供应商排序、中标标识、统一信用代码、联系人、联系电话、银行账户展示正确
### 4.3 新增
- 新增测试单据:
- 采购事项ID`AUTOBID20260422151036`
- 项目名称:`自动化招投标测试项目-1036`
- 新增时录入两条供应商:
- `杭州自动化供应商A有限公司`
- `杭州自动化供应商B有限公司`
- 将第 2 条供应商标记为中标后提交成功。
- 列表校验通过:
- 新增记录进入列表首行
- `中标供应商` 显示为 `杭州自动化供应商B有限公司`
- `参与供应商数` 显示为 `2`
- `预算金额(元)`、申请人、申请部门、申请日期与录入一致
### 4.4 新增后详情复验
- 打开新增记录详情后验证通过:
- 两条供应商都在详情表中展示
- 第 1 条显示 `参标`
- 第 2 条显示 `中标`
- 排序、联系人、联系电话、银行账户与录入一致
- 全部重要日期、采购负责人信息正确回显
### 4.5 编辑
- 编辑同一条测试单据,修改内容:
- 项目名称改为 `自动化招投标测试项目-1036-已改`
- 标的物名称改为 `服务器及配件-1036-复核`
- 预算金额改为 `258000`
- 将中标供应商从 `杭州自动化供应商B有限公司` 切换为 `杭州自动化供应商A有限公司`
- 保存后列表校验通过:
- 项目名称、标的物名称、预算金额已更新
- `中标供应商` 摘要同步更新为 `杭州自动化供应商A有限公司`
- `参与供应商数` 仍为 `2`
### 4.6 条件查询
- 以编辑后的项目名称 `自动化招投标测试项目-1036-已改` 进行查询。
- 查询结果:
- 分页总数显示 `共 1 条`
- 列表首条采购事项ID为 `AUTOBID20260422151036`
- 说明项目名称条件查询可正常命中目标记录。
### 4.7 导入模板下载
- 在真实页面导入弹窗中点击“下载模板”。
- 下载结果正常,模板包含两个 Sheet
- `招投标主信息`
- `供应商明细`
### 4.8 导入
- 使用自制双 Sheet 测试文件 `bidding_info_import_browser_mixed.xlsx` 发起导入。
- 测试文件包含 2 个采购事项ID
- 成功样本:`IMPBID20260422152321A`
- 失败样本:`IMPBID20260422152321B`
- 导入后页面结果验证通过:
- 成功样本进入列表
-`中标供应商` 显示为 `导入供应商乙有限公司`
-`参与供应商数` 显示为 `2`
- 页面出现“查看导入失败记录”按钮
### 4.9 导入失败记录
- 打开“查看导入失败记录”弹窗。
- 页面失败记录命中:
- 采购事项ID`IMPBID20260422152321B`
- 项目名称:`导入失败项目-152321`
- 标的物名称:`失败样例设备-152321`
- 失败原因:`申请人工号必须为7位数字`
- 说明导入失败记录分页、失败原因展示链路正常。
### 4.10 删除与清理
- 通过真实页面删除以下两条本轮测试产生的成功数据:
- `AUTOBID20260422151036`
- `IMPBID20260422152321A`
- 删除时均经过页面二次确认弹窗,删除成功后搜索结果回到 `共 0 条`
- 清理本地导入任务缓存:
- 已移除 `localStorage` 中的 `purchase_transaction_import_last_task`
- 页面刷新后,“查看导入失败记录”按钮已消失。
- 最终列表总数恢复为:
- `共 2004 条`
## 5. 结论
- 招投标信息维护模块在真实页面下的核心链路测试通过。
- 本次已覆盖:
- 页面进入与真实登录
- 列表展示
- 条件查询
- 详情查看
- 新增
- 编辑
- 删除
- 导入模板下载
- 双 Sheet 导入
- 导入失败记录查看
- 本轮测试未发现阻断性缺陷。
- 本轮新增和导入成功的数据已清理,列表总数已回到测试前水平。
## 6. 测试收尾
- 已清理本轮新增/导入成功业务数据。
- 已清理前端本地导入任务缓存。
- 待测试完成后关闭:
- Playwright 浏览器会话
- 前端 `npm run dev` 进程