# 真机公网测试清单 **文档状态**:当前操作手册,用于真实手机、企业微信和移动浏览器人工验收。 **当前状态(2026-05-12 / DOCG7)**:R6 已通过;`ME6-3` 代表性企业微信真机门禁仍待确认,不能用自动化或公网视觉矩阵替代。R7 未真实启动;R7 草案、OPS7 Runbook 和 DOC7 用户材料不代表已启动或已上线。MIF7 是下一批移动信息架构整改合同,完成后仍需要按本清单复测。 适用范围:使用真实手机访问 `https://oa.hyinda.com`,重点验证企业微信工作台、手机浏览器、PDF 发票上传、真实 OCR 状态反馈和移动核心流程。 ## 测试前信息 - 测试日期: - 测试人: - 公网地址:`https://oa.hyinda.com` - 验收状态:`TODO` / `PASS` / `FAIL` / `BLOCKED` / `PAUSED` - 账号角色:专用测试员工 / 测试主管 / 测试负责人 / 测试财务 / 测试财务主管 / 测试管理员 - 设备:iPhone / Android - 系统版本: - 企业微信版本: - 浏览器: - 网络:公司 Wi-Fi / 4G / 5G / 其他 - 测试发票样本:PDF ## 企业微信入口 - 从企业微信工作台点击海音达工作台应用。 - 已绑定账号应直接进入移动工作台,不应反复要求登录。 - 未绑定账号应显示明确绑定或登录提示,登录后能回到目标页。 - 首屏应为移动工作台,不应出现 PC 侧边栏、桌面表格或路径式标题。 - 底部导航可切换:首页、审批、报销、我的。 - 报销详情、审批详情等深层页应使用顶部返回和上下文操作,不应继续显示底部导航造成焦点混乱。 ## 手机浏览器入口 - 手机浏览器打开 `https://oa.hyinda.com`。 - 登录页可正常输入账号密码。 - 登录后默认进入适合手机的入口或可明确进入移动工作台。 - 页面无横向滚动、文字遮挡、按钮溢出。 ## 移动统一体验验收 - 移动验收不再只按单个固定机型判断;先通过 320、360、375、390、393、414、430px 跨视口自动化证明响应式基线,再用代表性真机确认企业微信 WebView 行为。当前 iOS 代表设备修正为 iPhone 12 / iOS 14.1 / 企业微信,Android 代表设备为 Redmi K60 / 企业微信。 - 所有移动页面使用同一套响应式体系:底部一级 Tab、首页图标宫格、卡片列表、深层 Push 页、顶部返回、吸底主操作和安全区预留。 - 深层页如报销详情、审批详情隐藏底部 Tab;一级页才显示“首页、审批、报销、我的”底部导航。 - 底部四项 Tab 必须等宽、可见、可点;不能被滚动层、卡片、安全区或遮罩覆盖。 - 首页图标宫格必须保持图标在上、短标题在下;小屏不显示长辅助说明,标题不得逐字换行或压住图标。 - “我的”页个人信息和更多入口必须使用固定头像/图标槽与可收缩文字槽;图标/头像与文字不能贴得过近,入口保持两列且不逐字换行,不通过放大卡片或改成单列来规避问题。 - 移动卡片不应出现明显蓝青色顶边装饰线;保留白卡、浅边框和轻阴影即可。 - 若现场暂时看不到真机效果或用户暂停验证,记录为 `PAUSED`;不得把 `RS6-7`、`UI6-6`、`R6-ISSUE-001` 误标完成。 ## 报销流程 - 新建报销草稿。 - 编辑报销明细,金额、日期、费用类型和说明可保存。 - 上传发票后有明确状态反馈,不长期停留在同一状态。 - 发票识别完成后能添加到报销单。 - 附件材料可上传、查看、删除。 - 草稿可删除;审批中不应提供删除,应使用撤回。 - 删除或移除发票后,同一发票可按规则重新上传或重新添加。 - 页面不应出现 `draft`、`bound`、费用类型 code、`绑定整单`、`发票池`、`OCR` 等普通用户不应见文案。 ## 票据上传 - 报销详情“添加发票”上传页只提供 PDF 发票上传入口。 - 发票/OCR 上传不提供拍照、图片或 HTML `capture` 直拍入口;附件材料仍可按业务需要上传图片或 PDF。 - PDF 上传入口不应直接打开摄像头,应允许选择 PDF 文件;在企业微信里重点记录是否能进入系统文件选择器。 - 上传后显示当前文件名、上传进度或失败原因。 - 网络中断或失败时有明确提示,可重试。 ## 真实 OCR - 上传真实测试发票,记录从点击上传到终态的耗时。 - 终态包括:可添加、已添加、识别失败、重复、已使用。 - 识别失败时应显示可理解原因。 - 重复或已报销时应显示不可添加原因,不应只显示系统错误码。 ## 审批与通知 - 正式审批口径:`majianyong` 是员工可见的直属主管;`wangshunli` 是后台公司负责人,配置为 `ceo + admin`,不配置为普通 `manager`;`admin` 不代表业务审批权。 - 试运行验收不使用真实员工日常账号,使用测试替身账号模拟正式组织链路:`SMOKE002 -> SMOKE101 -> SMOKE201 -> SMOKE302/SMOKE301`。 - `SMOKE001` 仅作为测试管理员,不具备业务审批权。 - 审批链正确性是业务逻辑验收,优先通过 PC 公网网页或自动化证明,不要求所有审批角色绑定企业微信。 - 企业微信真机验收只覆盖工作台入口、绑定/免登录、移动布局、待办、详情、PDF 上传入口和通知 deeplink;当前 `oa_smoke_01 -> SMOKE002` 与 `oa_smoke_02 -> SMOKE101` 足够覆盖“提交人 + 审批人”的核心移动体验。 - `SMOKE201`、`SMOKE301`、`SMOKE302` 可通过 PC 公网网页验证负责人、财务、财务主管流程,不再作为企业微信原生身份硬门槛。 ### PC/自动化审批链验收矩阵 | 验收项 | 验收方式 | 账号角色 | 提交或处理 | 期望结果 | 结果 | 证据位置 | | --- | --- | --- | --- | --- | --- | --- | | 普通低/中额单据 | PC/自动化 | `SMOKE002` / 测试员工 | 提交低/中额单据 | 待办分配给 `SMOKE101` | 通过 | S4 自动化证据 | | 高额/高风险/例外单据 | PC/自动化 | `SMOKE002` / 测试员工 | 提交高额/例外单据 | `SMOKE101 -> SMOKE201 -> SMOKE302/SMOKE301`,以现有金额和财务规则为准 | 通过 | S4 自动化证据 | | 主管本人申请 | PC/自动化 | `SMOKE101` / 测试主管 | `SMOKE101` 提交本人申请 | 待办分配给 `SMOKE201` | 通过 | S4 自动化证据 | | 公司负责人本人申请 | PC/自动化 | `SMOKE201` / 测试负责人 | `SMOKE201` 提交本人申请 | 不允许自审;无非本人兜底时阻断 | 通过 | S4 自动化证据 | | 系统管理员无业务审批权 | PC/自动化 | `SMOKE001` / 测试管理员 | 尝试审批测试单据 | 不允许仅凭 `admin` 审批 | 通过 | S4 自动化证据 | | 财务复核与付款/导出 | PC/自动化 | `SMOKE301` / `SMOKE302` | 处理已批准测试单据 | 按财务与财务主管权限处理 | 自动化已覆盖财务节点;PC 页面体验后续 R6 继续观察 | S4 自动化证据 | ### 企业微信/移动体验验收矩阵 | 验收项 | 企业微信测试成员 | OA 账号 | 期望结果 | 当前结果 | 截图或录屏位置 | | --- | --- | --- | --- | --- | --- | | 工作台入口与免登录 | `oa_smoke_01` | `SMOKE002` | 从企业微信工作台进入 OA,已绑定后免登录 | 通过 | 用户确认;截图/录屏不提交仓库 | | 提交人移动报销体验 | `oa_smoke_01` | `SMOKE002` | 移动首页、报销页、详情页、PDF 发票入口可用 | 公网自动视觉通过;真机核心链路通过 | `output/playwright/r5-live-mobile-wecom-visual/` | | 审批人移动待办体验 | `oa_smoke_02` | `SMOKE101` | 移动审批待办、审批详情、结果反馈可用 | 公网自动视觉通过;真机审批与消息回流通过 | `output/playwright/r5-live-mobile-wecom-visual/` | | 移动底部导航与深层页 | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 首页、审批、报销、我的固定可见;报销详情隐藏底部 Tab,吸底双按钮不遮挡 | 通过:WCM6/MME6 已部署公网且自动视觉通过;用户确认当前设计可接受,MUD6 继续推广统一设计 | `output/playwright/r6-wecom-mobile-rendering-hardening/` | | 通知与 deeplink | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 通知能回到移动待办或详情页 | 真机通过:收到个人应用消息,点击后首次需点进入工作台,后续可直达移动审批 | `output/playwright/r5-wecom-app-message-live/` | 自动化补充证据(用于审批链业务验收): - `2026-05-10`:公网 live smoke、真实 OCR 和测试替身审批链已通过;证据目录 `artifacts/qa-flow/live-smoke-readiness-20260510-205136`。 - `SMOKE002` 请假待办已分配给 `SMOKE101`;`SMOKE101` 本人请假待办已分配给 `SMOKE201`;`SMOKE201` 本人请假提交被 `no_actionable_approver` 阻断。 - `SMOKE001` 仅凭 `admin` 审批业务待办被拒绝,HTTP `403/PERM_002`。 - 小额报销经 `SMOKE101` 后进入 `finance` role;大额报销进入 `SMOKE101 -> ceo -> finance_mgr`,由 `SMOKE301/SMOKE302` 测试角色验证。 - 企业微信工作台、OAuth 绑定和提交人/审批人核心移动链路已有 `oa_smoke_01/oa_smoke_02` 真机通过;移动布局、PDF 上传、通知 deeplink 已完成公网自动视觉和真机确认,R5/S5 可按合同回填 `DONE`。 - `2026-05-10` 真机补充:原记录为 iPhone 11(iOS 14),用户于 `2026-05-11` 更正实际设备为 iPhone 12 / iOS 14.1;与 Redmi K60(MIUI)企业微信最新版下,`oa_smoke_01 -> SMOKE002`、`oa_smoke_02 -> SMOKE101` 绑定、工作台进入、免登录、提交和审批详情/结果均通过。 - `2026-05-10` 阻断:真机发现移动底部导航和报销详情深层页在不同分辨率下存在底部区域不可见或控件挤压;发票上传正式口径改为 PDF-only。本地修复已完成,部署与真机复测完成前,S5/O3/R5 不标 `DONE`。 - `2026-05-11` 公网自动视觉补充:部署 `795e976` 后,Playwright 企业微信 UA 覆盖 iPhone 近似视口与 Redmi K60 视口;`SMOKE002` 移动首页、报销列表、报销详情、PDF-only 上传入口通过,`SMOKE101` 移动审批列表通过;截图目录 `output/playwright/r5-live-mobile-wecom-visual/`。用户已确认真实企业微信工作台入口和免登录通过。 - `2026-05-11` 通知与 deeplink 自动视觉补充:`SMOKE101` 现有两条未读报销待办站内通知,iPhone 近似视口与 Redmi K60 近似视口、企业微信 UA 下通知页无横向溢出,通知卡片和“查看”按钮可见;点击后进入 `/mobile/approvals?taskId=177b3a9e-67fe-447d-92f4-96a652a06841` 移动审批详情,无 PC 壳混入,截图目录 `output/playwright/r5-notification-deeplink-live/`。该历史待办已处理,因此本证据只证明站内通知和移动 deeplink,不证明新待办审批按钮;通知投递审计显示渠道 `R50-MOCK-007334` 为 `mock_sent`,真实企业微信外发应用消息仍待通道确认或真机记录。 - `2026-05-11` 个人企微应用消息补充:部署 `b1ae41f` 后启用 `R5-WECOM-APP-PERSONAL / wecom_app_message`,停用旧 mock 渠道;`SMOKE002` 创建请假测试单据并生成 `SMOKE101` 待办 `936362d8-c4e0-454f-a589-9c9653bcbfda`,通知 `9ee0602e-66a5-4a6e-81e5-04d41908c782` 投递审计为 `wecom_app_sent`、`errcode=0`、无 `invaliduser`。iPhone 近似视口与 Redmi K60 企业微信 UA 自动视觉验证通知列表和审批详情均无横向溢出,截图目录 `output/playwright/r5-wecom-app-message-live/`。用户确认手机企业微信 `oa_smoke_02` 收到“海音达工作台”应用消息,标题正确;点击后首次进入会提示进入工作台,进入后可看到移动审批,后续再次进入可直接看到移动审批;存在消息通知但未观察到系统弹窗。 - `2026-05-11` R6 移动体验补充:RS6 响应式体系修复已完成公网自动化,320/360/375/390/393/414/430px 视觉矩阵通过;用户补充真实设备为 iPhone 12 / iOS 14.1 / 企业微信,截图显示字体图标漂移、重影和首页/底部导航视觉拥挤。该阶段曾记录为 `PAUSED`,不得仅凭自动化关闭;随后 WCM6/MME6 已部署公网并完成自动复检,移动核心 SVG 图标、企业微信 WebView 基线、多手机视口、字体失败场景和 `/mobile/me` 自适应均已覆盖,公网 WCM6 视觉专项 8 passed,截图目录 `output/playwright/r6-wecom-mobile-rendering-hardening/`。用户已确认当前设计可接受,`R6-ISSUE-001` 关闭;后续移动回归另建新 Issue。 - `2026-05-11` MME6 我的页自适应补充:针对 iPhone 12 / iOS 14.1 企业微信中图文贴近和 iPhone 14 / iOS 16.2 企业微信中卡片顶边观感,`/mobile/me` 已改为固定头像/图标槽 + 可收缩文字槽,移动卡片顶边装饰线仅在 `/mobile` 作用域禁用。本地 WCM6 视觉专项 8 passed,R5/R6/R124 移动相关回归 10 passed;部署后 `/ready` 正常、public bundle `findings=0`、live smoke readiness PASS、真实 OCR 样票返回重复发票可解释终态且测试通过,公网 WCM6 视觉专项 8 passed,报告 `artifacts/qa-flow/live-smoke-readiness-20260511-230918`。用户已确认当前设计可接受,`R6-ISSUE-001` 关闭;MUD6 继续把该设计推广到所有专用 `/mobile` 页面,后续若有移动回归另建新 Issue。 - `2026-05-11` MUD6 全移动页统一补充:专用 `/mobile` 路由已统一使用固定图标/头像槽、可收缩文字槽、`mobile-card`、移动列表卡片、空状态、安全区和吸底操作。覆盖 `/mobile`、审批、报销列表、报销详情、我的、个人设置、通知、票据上传、请假和资产扫码;不改后端、审批链、权限模型、PDF-only 规则或企业微信个人应用消息通道。本地 MUD6 视觉专项 7 passed,WCM6/RS6/R124 回归 16 passed;部署到 `https://oa.hyinda.com` 后 `/ready` 正常、public bundle `findings=0`、live smoke readiness PASS、真实 OCR 样票为重复发票可解释终态且通过,公网 MUD6 视觉专项 7 passed,报告 `artifacts/qa-flow/live-smoke-readiness-20260511-235918`。R6-3 可恢复试运行前检查,仍建议抽查 iPhone 12 / iOS 14、iPhone 14 / iOS 16.2、Redmi K60 企业微信。 - 经理账号可在移动端看到审批待办。 - 审批详情可查看申请摘要、附件、发票、审批记录。 - 通过、驳回、退回等操作有确认和结果反馈。 - 通知页可查看未读、标为已读、全部已读。 ## 我的与个人设置 - 我的页入口可进入个人设置、通知、账号信息。 - 页面仍为移动布局。 - 企业微信绑定状态可理解。 ## 证据要求 - 每个失败项至少保留一张截图或一段录屏。 - 记录失败时间、账号角色、设备、企业微信版本、页面 URL、操作步骤。 - 对 OCR 问题记录发票文件名、文件类型、上传时间、终态、耗时。 - 对企业微信入口问题记录是否从工作台进入、是否已绑定、回跳 URL。 ## 通过标准 - 企业微信工作台和手机浏览器均可进入。 - 移动端不出现 PC 页面壳、桌面表格、横向溢出。 - 报销、票据、审批、我的、通知主流程可完成。 - PDF 发票上传和真实 OCR 有明确状态变化和终态反馈。 - 已知问题文案和原始码值不再出现。