SuperAPI AI 工具集

ohos-dev-distributed-mmi-wms-dms-simulation

测试与质量

查看项目

更新于 10-15 21:36

技能介绍

用途:测试 OpenHarmony 输入功能中依赖窗口与显示状态的部分,用 InputManager IPC 直接构造显示组和窗口,替代 WMS(窗口管理服务)与 DMS(显示管理服务),实现输入子系统的独立功能验证。

主要能力:按需模拟显示组、用户、主屏、扩展屏、镜像屏与窗口栈;验证设备绑定、光标路由、焦点分发、命中测试;覆盖单显示组多屏、多显示组多用户、镜像屏比例不一致、前台用户切换等场景;支持增量窗口 ADD/CHANGE/DEL、zOrder 层叠命中、热区穿透、per-window 光标样式、捕获模式及设备绑定 API。

使用方式:先归一为场景模型表(User、DisplayGroup、Display、Mirror、Screen、Window、Focus),再调用 UpdateDisplayInfo( screenInfo ) 注入显示组,用 UpdateWindowInfo( wgi ) 按 display 注入窗口,随后创建虚拟设备并 BindDeviceToDisplayGroupByDisplay,做 warm-up 事件注入后执行测试与 DumpPhase,最后解绑、UI_DEV_DESTROY、close(fd)。执行顺序中权限获取、server 绕过、编译部署、hidumper 捕获见前置 skill ohos-dev-distributed-mmi-device-test-harness;虚拟设备与事件注入见 ohos-dev-distributed-mmi-uinput-virtual-device。

关键约束:必须有一个 GROUP_DEFAULT 且 id=0;focusWindowId 需预设,否则键盘事件无法分发;screenArea 须与宽高一致;displayId、windowId 全局唯一;win.groupId/displayId 必须匹配;镜像屏比例不一致须显式定义 fit/letterbox、stretch 或 crop 映射策略;非主组焦点只能经 UpdateDisplayInfo 切换。UpdateDisplayInfo 返回 -201 属正常,不影响数据写入。

已知限制:libinput 鼠标加速导致光标绝对定位不精确,建议用全屏窗口规避;DisplayGroups dump 中 focusWindowId 可能为 -1;DEL 全屏窗口后命中的是剩余窗口中 zOrder 最高者,含原有非全屏窗口,需检查全部 zOrder 关系;多用户模拟假设为均为前台/ACTIVE。具体收费、价格及平台范围暂未提供。