39 lines
2.4 KiB
Markdown
39 lines
2.4 KiB
Markdown
# M1 技术验证验收记录(2026-09-04)
|
||
|
||
## 环境
|
||
|
||
- Windows:10.0.19044,主机 `DESKTOP-EGI7QCK`
|
||
- 用户会话:`Rogee`,Session 1,活动 console
|
||
- 微信:4.1.8.29
|
||
- 部署目录:`C:\Users\Rogee\wx-agent`
|
||
- 默认测试目标:文件传输助手
|
||
|
||
## Linux 检查
|
||
|
||
```bash
|
||
dotnet test tests/node-agent/WxAgent.Core.Tests -c Release
|
||
dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true
|
||
dotnet publish node-agent/WxAgent.Host -c Release -r win-x64 --self-contained true \
|
||
-p:EnableWindowsTargeting=true -p:PublishSingleFile=true \
|
||
-p:IncludeNativeLibrariesForSelfExtract=true -p:PublishTrimmed=false
|
||
```
|
||
|
||
结果:Core 测试 9/9 通过;Release 构建 0 warnings、0 errors;单文件发布成功。
|
||
|
||
## 真机结果
|
||
|
||
- `doctor`:登录后主窗口、`MainView` 和 `session_list` 检测正常;未选择聊天时不再误报 UI 结构变化。
|
||
- 文件传输助手:可按会话 AutomationId 直接激活;会话未出现时可通过搜索结果 AutomationId 激活。
|
||
- `chat send`:唯一 ASCII 标记发送成功,随后 `chat read --include-content` 精确读回。
|
||
- 输入法兼容:最初使用模拟键盘输入时观察到输入法组合态改变消息。改为 UIA ValuePattern 直接设置文本,并在发送前逐字读取校验;不一致时中止发送,不执行盲目重试。修复后发送和精确读回通过。
|
||
- `chat listen`:监听期间由另一个 CLI 进程发送唯一标记;UIA 结构事件配合两秒低频轮询发现 1 条新消息。
|
||
- `smoke --timeout 45`:`doctor`、脱敏 UI 树、唯一文本发送和读回确认全部通过;导出 168 个脱敏节点。
|
||
- 微信重启恢复:停止所有 Weixin 进程并重新启动后,微信要求手机确认登录;用户正常确认后出现 5 个 Weixin 进程,CLI 无需重启服务即可重新附加,发送、读取、监听和消息级 smoke 再次通过。
|
||
- Session 断开:RDP 会话断开时输入 API 返回 access denied/invalid handle;恢复为活动 console 后正常。该行为由 `doctor`/`SessionLocked` 边界约束,不尝试绕过桌面会话限制。
|
||
|
||
## 结论
|
||
|
||
M1 Go/No-Go:**Go**。
|
||
|
||
发送、读取、监听和恢复均通过 UIA 元素定位及实时边界中心兜底完成,没有维护固定绝对坐标。发送写操作只执行一次;若输入内容或发送结果无法确认,返回 `ResultUnconfirmed`,不自动重试。
|