为窗口启动服务
运行 settings_lab.exe --inspect。工程调用 window->startDevTools(0),由系统分配可用端口。日志只打印 target=kui-端口 与端口号;完整 URL 含认证信息,不用于日志或反馈附件。
if (inspect) {
if (auto* tools = window->startDevTools(0)) {
// 只输出目标编号,完整连接 URL 含认证信息。
std::fprintf(stderr, "target=kui-%u port=%u\n", tools->port(), tools->port());
} else return 3;
}
连接精确目标
在 MCP 客户端按工具返回的目标编号连接。下面的 TARGET_FROM_LOG 表示本次进程日志中的实际编号,不能照抄成固定端口。多窗口运行时核对标题,避免操作别的应用。
kui_targets()
kui_connect(target=TARGET_FROM_LOG)
kui_page_info()
kui_dom(selector="#display-name")
kui_box_model(selector="#save")复现一次校验失败
清空名称后点击保存,检查 #status 的 data-state 是否变成 error,以及输入框的 aria-invalid 是否为 true。重新输入有效名称并保存,状态应变为 success,#revision 增加。这个流程检查实际控件和宿主回调,不只观察一张初始截图。
kui_dom(selector="#status")
kui_dom(selector="#revision")
kui_get_style(selector="#status")
kui_screenshot(output_path="settings-state.png")布局与性能检查
用盒模型确认工作区和按钮的尺寸。样式检查适合定位颜色、间距和溢出,性能记录用于分析连续交互的帧工作。当前设置工程未附加 Lua 引擎;不要把 Runtime.evaluate 当作浏览器 JavaScript 控制台。
当前 SDK 的键盘限制
Windows x64 SDK 3.61.7 的课程实测中,Tab 可以聚焦按钮,但 DevTools 注入的 Enter 未触发保存 click。鼠标点击保存可工作;该结果不证明所有原生键盘路径,也不能宣称全键盘验收通过。
动手练习与验收
用这些动作确认自己完成了本课,不必额外抄一份同样的代码。
- 用 --inspect 启动,确认 DOM 中能找到 #display-name 与 #save。
- 修改一处颜色或边距观察,再写回 app.css 并重建验证。
- 关闭应用后重新启动,发现新目标,不复用旧认证连接。
文档有误或遗漏?
反馈此页问题 →