testing - Testcafe 无法在启用了 SIP 的 MacOS 镜像上运行这一事实是否有任何解决方案?

标签 testing automation automated-tests e2e-testing testcafe

目前,我们使用 Github Actions 来运行我们的 Testcafe 套件,但问题是在 macos-latest 上运行 Safari 测试。图像,即 10.15 Catalina,给出了以下错误:UnableToAccessScreenRecordingAPIError: The find-window process cannot access the Screen Recording API.这是因为 MacOS 图像没有默认授予的权限。显然,您无法以编程方式处理此问题,并且在 10.15 Catalina 中启用了一项名为 SIP 的功能,可阻止您绕过它。这是讨论 here .
由于我们依赖 Github 来提供图像,因此他们无法向我们提供非 SIP 图像,正如所讨论的 here .提供的解决方法没有任何帮助。
还有其他想法吗?

最佳答案

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

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

关于testing - Testcafe 无法在启用了 SIP 的 MacOS 镜像上运行这一事实是否有任何解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63341991/

相关文章:

testing - 是否可以使用 filecheck 来匹配 CMAKE 项目中另一个文件的值?

unit-testing - 如何协调 TDD 与 SUT 接口(interface)的合约?

java - 测试分布

c# - 将 vs 2012 C# 与 visio 2007 集成时出现 Com 错误

c# - CMD.exe C# 模拟器?

android - 如何定位特定的 Calabash 功能文件?

unit-testing - 如何编写需要大量测试用例的 go 测试

c# - xUnit.net 与 Ninject

flash - QTP for Flash - 有什么有用的插件推荐吗?

javascript - 自动测试 Web 应用程序的框架