对于 Testcafe 无法在启用 SIP 的 MacOS 图像上运行这一事实,是否有任何解决方案?

Are there any solutions to the fact that Testcafe doesn't work on MacOS images with SIP enabled?

目前,我们使用 Github 操作来 运行 我们的 Testcafe 套件,但问题是 运行ning Safari 测试 macos-latest 图像,即 10.15 Catalina ,给出以下错误:

UnableToAccessScreenRecordingAPIError: The find-window process cannot access the Screen Recording API.

这是因为 MacOS 图像没有默认授予的权限。显然您无法以编程方式处理此问题,并且在 10.15 Catalina 中启用了一个名为 SIP 的功能,可以阻止您绕过它。这是讨论here

由于我们依赖 Github 提供图像,他们无法向我们提供所讨论的非 SIP 图像 here。提供的解决方法没有任何帮助。

还有其他想法吗?

正如您已经提到的,TestCafe 不会捕获屏幕截图并调整它们的大小,因为在装有 MacOS 的机器上启用了 SIP。但是,可以使用远程模式,因为默认情况下禁用平台特定功能。您可以执行以下步骤:

testcafe remote test.js --hostname ${HOSTNAME} --ports ${PORT1},${PORT2} &
pid=$!
open -a Safari http://${HOSTNAME}:${PORT1}/browser/connect
wait $pid