Files
Yb-QaAutomationHub/output/test_cases/安徽运八需求_测试用例.md
T
xst acdb441507 feat: /qe-fleet run 安徽运八需求 + 系统坑修复
系统修复:
- fleet_runner.py: Windows UTF-8 编码兼容(reconfigure stdout/stderr)
- fleet_runner.py: run 命令自动生成合并清单供导出使用
- fleet_manifest.py: 新增 save_merged_manifest() 保存统一清单
- fleet_config.yml: 修复 YAML keywords 格式(block sequence → flow sequence)
- 恢复被误删的知识库文件(payment_flow_cases, marketing_activity_cases)

QE Fleet 产物 (安徽运八需求):
- 153个测试点 + 53条可执行测试用例
- 需求分析/风险评估/测试策略/质量裁决(PASS)
- Excel 导出 + 版本快照 v2
- 确认结论文件已归档
2026-07-13 09:49:54 +08:00

64 lines
22 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安徽运八需求 测试用例
> 生成时间: 2026-07-13
> 基于: 测试点矩阵、需求文档、风险评估报告、项目画像、历史缺陷、易漏场景清单
> 验证标准: 每条用例同时覆盖 UI 反馈 + 数据状态变化
| 用例编号 | 模块 | 用例标题 | 优先级 | 类型 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 | 备注 |
| :--- | :--- | :--- | :---: | :--- | :--- | :--- | :--- | :--- | :--- |
| TC-DB-001 | 上报运单看板 | 多条件组合查询(运单号模糊+上报阶段+核验状态+申诉状态) | P1 | 功能测试 | 1.已登录超管账号 2.系统存在多条不同状态的上报运单 | 1.进入看板 2.输入运单号部分字符 3.选上报阶段=第一次上报 4.选核验状态=通过 5.选申诉状态=未申诉 6.点查询 | 运单号部分字符、筛选条件组合 | UI:列表仅展示满足所有条件的运单,筛选条件保持选中。数据:后端返回结果AND匹配所有条件 | |
| TC-DB-002 | 上报运单看板 | 重置按钮清空所有查询条件 | P2 | 功能测试 | 已设置任意查询条件 | 1.设置多个筛选条件 2.点重置按钮 | 任意筛选条件 | UI:所有条件恢复默认,列表刷新为全量数据。数据:查询接口参数为空或默认值 | |
| TC-DB-003 | 上报运单看板 | 查询结果为空时显示友好提示 | P2 | 功能测试 | 已登录 | 1.输入不存在的运单号 2.点查询 | 运单号=NOTEXIST999999 | UI:显示空状态提示图标+文案,不显示空白表格或报错。数据:接口返回空数组,HTTP 200 | |
| TC-DB-004 | 上报运单看板 | 列表字段完整性与异常项差异化展示 | P1 | 功能测试 | 1.存在核验通过运单 2.存在核验异常运单 | 1.进入看板 2.查看表头 3.对比两种状态运单行 | 核验通过运单、核验异常运单 | UI:表头含14个字段;通过行异常项为空;异常行异常项显示具体原因;合同金额千分位+2位小数。数据:接口字段与UI一一对应 | 合TP-DB-011, TP-DB-015 |
| TC-DB-005 | 上报运单看板 | 导出Excel内容与筛选结果一致 | P2 | 功能测试 | 已设置筛选条件使结果集约50条 | 1.设置筛选条件 2.点导出 3.下载并打开Excel | 50条筛选结果 | UI:导出按钮可点击,下载Excel包含所有列表字段。数据:Excel行数=筛选结果数,字段顺序一致,金额为数字格式 | |
| TC-DB-006 | 上报运单看板 | 特殊字符输入安全性(SQL注入/HTML/Emoji | P2 | 安全性测试 | 已登录 | 1.输入`' OR '1'='1`点查询 2.输入`<script>alert(1)</script>`点查询 3.输入Emoji点查询 | SQL注入字符串、XSS字符串、Emoji表情 | UI:不报错不弹窗不异常页面。数据:后端返回空结果或正确转义,HTTP 200,无注入生效 | |
| TC-FR-001 | 第一次上报 | 装货完成后系统自动触发第一次上报(全字段完整性) | P0 | 功能测试 | 1.运单已接单 2.车辆/司机/货物/托运方/收货方信息完整 3.司机完成装货确认 | 1.司机APP端确认装货完成 2.回管理端查看上报状态 | 完整运单数据(建单13+托运人7+收货方5+司机13+车辆19+货物+保险字段) | UI:列表出现该运单,状态:上传中(蓝)→已上传(绿);看板显示"第一次上报"。数据:上报接口被调用,请求体含完整子对象,HTTP 200,数据库状态更新 | |
| TC-FR-002 | 第一次上报 | 必选字段缺失(从业资格证号)→上报异常 | P1 | 功能测试 | 司机从业资格证号为空 | 1.触发装货完成上报 2.查看上报结果 | 司机信息缺失从业资格证号 | UI:状态=异常(橙),操作列显示详情按钮;详情中异常原因含"从业资格证号缺失"。数据:接口返回校验失败,数据库记录状态=异常+异常原因 | |
| TC-FR-003 | 第一次上报 | 可选字段为空(委托合同编号/运输里程/保险信息)→上报正常 | P1 | 功能测试 | 必选字段完整,可选字段均为空 | 1.触发装货完成上报 2.查看结果 | 可选字段均为空的运单 | UI:状态正常流转为"已上传"(绿)。数据:请求体可选字段值为null/空字符串,接口返回成功 | |
| TC-FR-004 | 第一次上报 | 货物信息多条记录(≥2条)上报 | P2 | 功能测试 | 运单包含3条货物信息(钢材/木板/配件) | 1.触发上报 2.查看详情弹窗货物信息区 | 3条货物数据 | UI:详情弹窗展示3条货物记录各含4字段。数据:请求体goodsInfos数组length=3,接口成功 | |
| TC-FR-005 | 第一次上报 | 核验通过后自动调用"修改第一次上报部分字段"更新实际里程 | P0 | 功能测试 | 1.第一次上报已触发 2.装货后实际里程变化(预估500→实际520km) | 1.上报成功核验通过 2.观察自动更新 3.查看运单里程字段 | 预估里程=500km, 实际里程=520km | UI:无人工干预下运单里程自动更新为520km;操作日志有"自动更新第一次上报字段"记录。数据:修改接口被调用,mileage=520,数据库运单里程更新 | |
| TC-FR-006 | 第一次上报 | 上报失败→自动重试3次→站内信通知运营人员 | P1 | 功能测试 | 模拟安徽运八接口不可用(超时或500) | 1.触发上报 2.等待重试周期 3.观察最终结果 4.检查站内信 | 接口超时异常 | UI:状态流转:上传中→上传失败(红标签),出现"手动上传"按钮;运营收到站内信含运单号和失败原因。数据:接口调用4次(首+3重试),重试间隔递增;站内信表新增通知记录 | |
| TC-FR-007 | 第一次上报 | 重试中手动触发上报→幂等性校验 | P1 | 功能测试 | 上报失败正处自动重试中 | 1.运单重试中 2.运营点"手动上传" | 重试中的运单 | UI:提示"上报处理中请勿重复操作"或排队等待;不出现两条上报记录。数据:同一运单在安徽运八平台仅一条记录 | |
| TC-FR-008 | 第一次上报 | 第一次上报失败阻断后续第二、三次上报 | P0 | 功能测试 | 运单第一次上报失败(3次重试全败) | 1.确认第一次上报失败 2.尝试触发第二次上报 3.尝试触发第三次上报 | 第一次上报失败的运单 | UI:第二次上报按钮不可见/置灰提示"请先完成第一次上报";第三次同样阻断。数据:第二/三次接口调用被前置校验拦截,日志无记录 | |
| TC-FR-009 | 第一次上报 | 详情弹窗8组字段分组展示与数据一致性 | P1 | 功能测试 | 存在已完成的第一次上报运单 | 1.点详情 2.逐一查看建单/托运人/收货方/司机/车辆/货物/保险/异常分组 3.与运单管理模块核对 | 完整上报数据 | UI:弹窗按8组展示,分组标题明确;无异常时显示"无异常";保险为空显示"-"。数据:弹窗字段值与上报请求体一致,与运单管理模块一致 | |
| TC-FR-010 | 第一次上报 | 4种状态标签颜色验证 | P2 | 功能测试 | 准备4个运单分别处于上传中/已上传/上传失败/异常状态 | 1.进入列表 2.观察4条运单状态标签颜色 | 4种状态的运单 | UI:上传中=蓝标签;已上传=绿标签;上传失败=红标签;异常=橙标签。数据:状态字段值与颜色映射正确 | |
| TC-SR-001 | 第二次上报 | 打款完成后自动触发上报(含资金流水+轨迹+7核验) | P0 | 功能测试 | 1.运单第一次上报已完成 2.财务完成打款 | 1.财务打款 2.查看第二次上报列表 | 完整打款数据(金额/流水号/时间/收款方/收款账号/账号类型) | UI:列表出现该运单状态"上传中"(蓝);展示承运运费/总金额/付款方式/时间/收款人/收款账号/账号类型。数据:上报接口被调用,请求体含资金流水+轨迹信息;流水数据与账户管理模块一致 | |
| TC-SR-002 | 第二次上报 | 车辆轨迹点位边界值:2个点(起点+终点)→成功 | P1 | 功能测试 | 轨迹数据仅2个点位 | 1.触发第二次上报 2.查看结果 | 轨迹数据=[起点,终点] len=2 | UI:上报成功状态"已上传"。数据:请求体轨迹数组length=2,接口成功 | |
| TC-SR-003 | 第二次上报 | 车辆轨迹点位边界值:1个点→失败 | P2 | 功能测试 | 轨迹数据仅1个点位 | 1.触发第二次上报 2.查看结果 | 轨迹数据=[单点] len=1 | UI:上报失败状态"异常"(橙);异常原因含"轨迹点位不足"。数据:接口返回校验失败提示轨迹点数需≥2 | |
| TC-SR-004 | 第二次上报 | 运单重复上报→核验异常 | P0 | 功能测试 | 运单已完成第二次上报且核验通过 | 1.尝试再次上报同一运单 | 已通过的运单 | UI:系统提示"该运单已完成第二次上报"或被阻止;不产生新记录。数据:接口被前置校验拦截或安徽平台返回"运单重复";数据库无重复记录 | |
| TC-SR-005 | 第二次上报 | 车辆资质核验:道路运输证有效期内→通过 | P1 | 功能测试 | 车辆道路运输证有效期至2026-12-31(有效期内) | 1.触发第二次上报 2.等待核验 3.查看核验结果 | 有效期内的道路运输证 | UI:核验状态"通过",无"车辆资质"异常项。数据:核验接口返回车辆资质=通过 | |
| TC-SR-006 | 第二次上报 | 车辆资质核验:道路运输证已过期→异常 | P1 | 功能测试 | 车辆道路运输证有效期至2025-01-01(已过期) | 1.触发第二次上报 2.等待核验 | 过期的道路运输证 | UI:核验状态"异常"(橙);异常项显示"车辆资质核验"不通过;可发起申诉。数据:核验接口返回车辆资质=异常,原因"道路运输证过期" | |
| TC-SR-007 | 第二次上报 | 资金流水单号重复→系统自动拦截 | P0 | 功能测试 | 系统中已存在流水号LS202607130001的记录 | 1.创建新运单打款但流水号重复 2.触发第二次上报 | 重复流水号=LS202607130001 | UI:系统上报前自动检测到重复,提示"流水单号已使用请核实";上报被阻止。数据:流水号唯一索引生效;接口未被调用;操作日志记录拦截 | |
| TC-SR-008 | 第二次上报 | 资金流水金额不匹配(合同10000 vs 打款9500)→核验异常 | P1 | 功能测试 | 合同金额10000元,实际打款9500元 | 1.触发第二次上报 2.等待核验 | 合同金额=10000, 打款金额=9500 | UI:核验状态"异常";异常项含"资金流水核验"不通过,原因"金额不匹配"。数据:核验接口返回资金流水核验=异常 | |
| TC-SR-009 | 第二次上报 | 车辆轨迹合规异常→补传轨迹→重新核验通过 | P1 | 功能测试 | 第二次上报后"车辆轨迹合规"核验异常 | 1.点"补传轨迹" 2.上传补充GPS点位文件 3.提交 4.等待重新核验 | 补充轨迹GPS文件 | UI:补传轨迹按钮可见可点击;上传后提示成功等待核验;核验通过后异常消除状态变"通过"。数据:补传轨迹追加到原数据;重调核验接口;核验结果更新为通过 | |
| TC-SR-010 | 第二次上报 | 收款账号类型标签:个人=蓝色/对公=绿色 | P2 | 功能测试 | 两个运单:一个司机个人账户、一个企业对公账户 | 1.进入列表 2.查看收款账号类型标签 | 个人账户(司机银行卡)、对公账户(企业银行账号) | UI:个人账户=蓝标签"个人账户";对公账户=绿标签"对公账户"。数据:字段值正确对应 | |
| TC-SR-011 | 第二次上报 | 重试3次全失败→告警通知运营人员 | P1 | 功能测试 | 模拟安徽运八接口不可用 | 1.触发第二次上报 2.等3次重试全失败 3.检查告警 | 接口不可用 | UI:状态变为"上传失败"(红);出现"手动上传"按钮;运营收到站内信通知含运单号/失败原因/重试次数。数据:重试次数=3;站内信表新增告警通知;操作日志记录完整 | |
| TC-TR-001 | 第三次上报 | 开票完成后触发上报(含17字段发票+托运单号数组) | P0 | 功能测试 | 1.运单第二次上报已完成 2.发票已开具 | 1.开票审核模块完成开票 2.查看第三次上报列表 | 完整发票信息(17字段)+托运单号数组 | UI:列表出现该运单含发票号码/金额/开票日期;状态:上传中→已上传。数据:上报接口被调用;发票数据与开票审核模块一致 | |
| TC-TR-002 | 第三次上报 | 第二次上报未完成时第三次上报被阻断 | P1 | 功能测试 | 运单仅完成第一次上报,第二次未完成 | 1.尝试开票并触发第三次上报 | 第二次未完成的运单 | UI:系统提示"请先完成第二次上报";上报按钮不可见/置灰。数据:第三次上报接口调用被前置校验拦截 | |
| TC-TR-003 | 第三次上报 | 增值税发票验证失败→上报异常 | P1 | 功能测试 | 发票号码格式错误或与代码不匹配 | 1.触发第三次上报 2.查看结果 | 错误的发票号码/代码 | UI:上报状态"异常"(橙);原因提示"增值税发票验证失败"及具体原因。数据:接口返回发票验证失败业务错误码;数据库记录异常状态 | |
| TC-TR-004 | 第三次上报 | 发票金额精度:价税合计保留2位小数四舍五入 | P2 | 功能测试 | 发票金额=12345.678元(超2位小数) | 1.触发第三次上报 2.查看列表发票金额 | 发票金额=12345.678 | UI:列表发票金额显示12,345.68(四舍五入)。数据:请求体invoiceAmount=12345.68,无浮点精度丢失 | |
| TC-TR-005 | 第三次上报 | 油气发票多条记录上报 | P2 | 功能测试 | 运单关联2条油气发票 | 1.触发第三次上报 2.查看详情弹窗油气发票区 | 2条油气发票记录 | UI:油气发票区展示2条记录各含托运单号和发票文件。数据:请求体油气发票数组length=2 | |
| TC-ETC-001 | ETC发票上传 | 税务抵扣完成后上传ETC发票(18字段/每张) | P1 | 功能测试 | 1.车辆完成高速运输 2.ETC发票已获取 3.税务抵扣完成 | 1.选运单 2.上传ETC发票信息 3.提交 | ETC发票完整18字段 | UI:上传成功状态"已上传"(绿);列表含ETC发票号码/金额/税率/上传状态。数据:请求体含18字段;税额=发票金额×3% | 合TP-ETC-001,003 |
| TC-ETC-002 | ETC发票上传 | 税务抵扣未完成→上传被阻止 | P1 | 功能测试 | ETC发票存在但税务抵扣未完成 | 1.尝试上传ETC发票 | 抵扣未完成的ETC发票 | UI:系统提示"请先完成税务抵扣";上传被阻止。数据:上传接口调用被前置校验拦截 | |
| TC-ETC-003 | ETC发票上传 | 税额计算:3%税率精度验证(1000元→30.00元) | P1 | 功能测试 | ETC发票金额1000.00元 | 1.上传1000元ETC发票 2.查看税额 | 发票金额=1000.00 | UI:税额显示30.00元。数据:taxAmount=1000.00×0.03=30.002位小数 | |
| TC-ETC-004 | ETC发票上传 | 税额计算:大额发票100万元→30000.00元 | P2 | 功能测试 | ETC发票金额1000000元 | 1.上传100万元ETC发票 2.查看税额 | 发票金额=1000000.00 | UI:税额显示30,000.00元。数据:taxAmount=1000000.00×0.03=30000.00,无精度问题 | |
| TC-ETC-005 | ETC发票上传 | ETC发票验证失败→上报异常提示检查发票 | P2 | 功能测试 | ETC发票号码/代码与实际不匹配 | 1.上传错误ETC发票 2.查看验证结果 | 错误的ETC发票号码/代码 | UI:状态"异常"(橙);原因提示"ETC发票验证失败请检查发票信息"。数据:接口返回ETC发票验证失败 | |
| TC-AP-001 | 异常申诉 | 核验异常运单发起申诉(申诉原因+附件) | P1 | 功能测试 | 运单第二次上报核验异常(车辆轨迹合规异常) | 1.找到异常运单 2.点"申诉" 3.填原因:"实际路线因道路施工绕行" 4.上传附件(施工证明截图) 5.提交 | 申诉原因文本、路线施工证明截图 | UI:提交后提示"申诉已提交等待监管平台复核";申诉状态变"申诉中";列表新增申诉记录。数据:申诉表新增记录:申诉单号自动生成/异常项=车辆轨迹合规/原因已保存/附件已存储/状态=申诉中/时间=当前 | |
| TC-AP-002 | 异常申诉 | 申诉原因必填校验→空值拦截 | P2 | 功能测试 | 存在可申诉异常运单 | 1.点申诉 2.不填原因 3.直接提交 | 申诉原因为空 | UI:输入框标红或提示"请填写申诉原因";提交按钮不响应或提示错误。数据:申诉接口未被调用;数据库无新记录 | |
| TC-AP-003 | 异常申诉 | 申诉状态流转:申诉中→申诉通过(监管复核通过) | P1 | 功能测试 | 已提交申诉(申诉中状态) | 1.等待监管平台复核通过 2.查看申诉记录 | 申诉中的记录 | UI:申诉状态变"申诉通过"(绿);省平台反馈"复核通过";原运单异常项消除或已解决。数据:申诉记录状态更新;省平台反馈时间/结果/意见已记录;关联运单核验状态更新 | |
| TC-AP-004 | 异常申诉 | 申诉状态流转:申诉中→申诉驳回→重新申诉 | P1 | 功能测试 | 申诉被监管平台驳回 | 1.查看驳回记录和原因 2.点"重新申诉" 3.补充材料修改原因 4.提交 | 驳回原因、补充材料 | UI:驳回记录显示"复核不通过"+反馈意见;"重新申诉"按钮可见;表单保留原内容可编辑;提交后状态变"申诉中"。数据:新申诉关联原单号;原记录保留不变;新申诉状态=申诉中 | |
| TC-AP-005 | 异常申诉 | 详情弹窗:时间线展示处理记录(申诉→驳回→重申诉→通过) | P2 | 功能测试 | 申诉记录有多次操作历史 | 1.点"详情" 2.查看处理记录区 | 完整申诉历史数据 | UI:处理记录时间线展示从早到晚;每条含操作人/时间/类型/内容;类型区分清晰(发起申诉/省平台反馈/重新申诉/复核通过)。数据:数据库操作日志完整 | |
| TC-AP-006 | 异常申诉 | 核验通过运单无申诉入口→越权防护 | P1 | 功能测试 | 运单核验状态为"通过" | 1.找到核验通过运单 2.查看操作列 3.尝试通过URL直接访问申诉接口 | 核验通过的运单 | UI:操作列不显示"申诉"按钮。数据:申诉接口返回"当前运单核验状态不允许申诉" | |
| TC-LOG-001 | 上报日志 | 多条件日志查询(上报阶段+结果+时间范围) | P2 | 功能测试 | 系统存在多条不同阶段日志 | 1.进入上报日志 2.选阶段=第二次上报 3.选结果=失败 4.设时间范围近7天 5.点查询 | 筛选条件组合 | UI:列表展示满足条件的日志含10个字段(序号/货源单号/运单号/托运单号/上报阶段/上报结果/接口URL/HTTP状态码/响应时间/上报时间)。数据:查询条件正确传递;返回数据与筛选一致 | |
| TC-LOG-002 | 上报日志 | 失败日志详情弹窗:完整请求/响应报文(JSON格式化) | P2 | 功能测试 | 存在一条失败的第二次上报日志 | 1.点失败日志"详情" 2.查看请求和响应报文 | 失败日志记录 | UI:弹窗展示完整请求报文(JSON格式化含所有字段)和响应报文(含错误码/错误信息);报文可复制。数据:展示报文与实际上报接口请求/响应一致 | |
| TC-CM-001 | 通用跨模块 | 金额精度:多次计算无累积浮点误差 | P1 | 功能测试 | 运单合同金额=12345.67元 | 1.第一次上报看合同金额 2.第二次上报看总金额 3.第三次上报看发票金额 4.对比三次精度 | 合同金额=12345.67 | UI:所有金额显示2位小数千分位正确无精度丢失。数据:DB存DECIMAL(18,2);接口返回2位小数字符串;计算无浮点误差 | 来源:风险矩阵+易漏场景 |
| TC-CM-002 | 通用跨模块 | 重复提交防抖:快速多次点击手动上传→仅一次请求 | P1 | 功能测试 | 存在上传失败运单 | 1.连续快速点击"手动上传"3次 2.等待结果 | 上传失败运单 | UI:按钮首次点击后变loading/置灰防重复点击;仅产生一次上报请求。数据:上报接口仅调用1次;上报日志仅1条记录 | 来源:易漏场景 |
| TC-CM-003 | 通用跨模块 | 未登录直接URL访问上报看板→拦截跳转登录 | P2 | 安全性测试 | 退出登录状态 | 1.清除登录态 2.地址栏直接输入看板URL 3.观察页面 | 看板URL | UI:重定向到登录页或显示"请先登录";不展示上报数据。数据:上报API返回401 Unauthorized | |
| TC-CM-004 | 通用跨模块 | 权限隔离:司机账号(15188888888)无法访问上报管理 | P1 | 安全性测试 | 司机账号15188888888/88888888 | 1.司机登录管理端 2.尝试访问看板/申诉管理等页面 | 司机账号凭证 | UI:菜单无"安徽运八"入口;直接URL访问重定向或"无权限";不展示上报数据。数据:上报API返回403 Forbidden | |
| TC-CM-005 | 通用跨模块 | 第一次上报与运单管理模块数据一致性 | P1 | 功能测试 | 运单在运单管理模块已有完整数据 | 1.记录运单管理模块关键字段 2.触发第一次上报 3.在详情弹窗核对 | 货源单号/运单号/托运单号/车牌号/司机姓名/托运方/货物/装货地址/卸货地址/运输里程 | UI:上报详情字段值与运单管理一致。数据:上报请求体值来源于运单管理DB记录,数据一致 | |
| TC-CM-006 | 通用跨模块 | 第二次上报资金流水与账户管理支付流水数据一致性 | P1 | 功能测试 | 运单已完成打款,支付流水号已知 | 1.在账户管理→支付流水查看打款数据 2.触发第二次上报 3.在上报详情核对资金流水 | 支付金额/流水号/支付时间/收款方 | UI:第二次上报详情中资金流水与账户管理模块一致。数据:上报请求体资金流水与支付流水表数据一致;流水号完全匹配 | |
| TC-CM-007 | 通用跨模块 | 司机信息上报(13字段)与司机审核模块数据一致性 | P1 | 功能测试 | 司机已在审核管理模块通过审核 | 1.记录司机审核模块司机信息 2.触发第一次上报 3.核对上报详情司机信息 | 司机姓名/身份证号/驾驶证号/从业资格证号/手机号等13字段 | UI:上报详情司机13字段与审核模块一致。数据:上报请求体driverInfo来源于司机审核表 | |
| TC-CM-008 | 通用跨模块 | 上报接口超时(>30s)→前端Loading+超时提示 | P2 | 功能测试 | 模拟上报接口响应超30秒 | 1.触发上报 2.观察前端表现 | 超时接口 | UI:按钮Loading状态(转圈/禁用);超30秒后显示"上报超时请稍后查看结果";不白屏不假死。数据:接口超时后后端异步处理或标记超时;DB状态=上传失败/原因=超时 | |
> 用例总数: 53 (P0:7 / P1:26 / P2:20)