用途:在 Linux 桌面上对原生应用(GTK/Qt 等)做端到端测试与自动化,包括键盘鼠标模拟、窗口管理、截图取证、D-Bus 服务交互和无障碍(AT-SPI)元素验证。不适用于 Web 应用测试(应使用 Chrome MCP 或 Playwright)、macOS 桌面自动化或跨平台测试。
主要能力:先检测显示服务器(echo $XDG_SESSION_TYPE),Wayland 下用 ydotool/wtype 输入、grim+slurp 截图;X11 下用 xdotool 输入与窗口控制、scrot/import 截图。支持鼠标移动、点击、拖拽,窗口查找、聚焦、移动、缩放,以及用 compare 做截图差异对比。对暴露 D-Bus 接口的应用可用 dbus-send 精确控制;AT-SPI 通过 pyatspi 遍历无障碍树、查找并触发按钮。
使用方式:先运行工具可用性检查(which ydotool、xdotool、grim、scrot、dbus-send 等),缺失则停止并安装,例如 sudo apt install ydotool wtype grim slurp 或 sudo pacman -S ydotool wtype grim slurp;Wayland 需启动 ydotool 守护进程(sudo systemctl enable --now ydotool)。执行测试前须完成 dev-tdd 的 6 个门禁:BUILD、LAUNCH(文件日志)、WAIT、CHECK PROCESS、READ LOGS(不可跳过)、VERIFY LOGS,之后再做 E2E 测试与截图。每个 E2E 测试应包含检测、启动、等待、交互、验证、截图、清理,并在 LEARNINGS.md 记录结果。
限制:缺少工具时无法继续;Wayland 与 X11 工具不通用,必须先检测显示服务器;截图对比仅作证据,具体判定阈值需自行设定。其他细节暂未提供。