我正在尝试从开发机器针对将在 Chromebook 上以 Kiosk 模式运行的渐进式 Web 应用程序 (PWA) 运行测试自动化。 PWA 旨在在 Kiosk 环境中使用,我需要一种可靠的方法来远程测试其功能。
到目前为止,我已尝试使用 Puppeteer 进行此设置,但在 Kiosk 模式下与应用程序交互时遇到了挑战。
这是我到目前为止所做的:
通过这些步骤,我可以从 Mac 成功远程调试我的应用程序,并且 Puppeteer 测试可以连接到它。然而:
我还测试了在 Chromebook 上登录用户后从 VT-2 或 Crosh 中启动 SSH 隧道。在此设置中:
我有一些问题:
任何指导、框架或替代方法将不胜感激!
在发现提供的 dev_features_ssh 可执行文件后,我找到了解决方案。我按照以下步骤让 ssh 在启动时启动:
名为 dev_features_ssh 的可执行文件可用于启用 sshd。根文件系统 必须先删除验证,否则辅助程序将不起作用。 这将导致 sshd 在每次启动时使用测试密钥自动启动 使用权。 rootfs 验证后可以选择启用密码访问 已被删除。
$ /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification
$ reboot
$ /usr/libexec/debugd/helpers/dev_features_ssh
$ passwd
然后我能够以 root 身份成功通过 ssh 登录到我的 Chromebook。我更新了我的 Puppeteer 测试以通过 webSocketUrl 进行连接,如下所示
browser = await puppeteer.connect({
browserWSEndpoint: webSocketDebuggerUrl,
});
当 SSH 服务器启动并运行时,您可以从 http://localhost:9222/json/version 获取 websocketDebuggerUrl。
完成所有这些后,即使在 kiosk 模式下,puppeteer 也能够与 PWA 进行交互,并且即使重新启动 kiosk 应用程序,ssh 连接也保持活动状态。我确实在 Google 管理员中更新了我的组织部门,将自助服务终端应用程序设置为“启动时自动启动”,以便我的 Chromebook 始终准备好进行测试。