我正在使用声明性管道脚本在基于Mac的Jenkins CI上为iOS应用程序设置Calabash自动化测试。该脚本检出存储库,构建应用程序,将应用程序二进制文件复制到正确的位置以供Cucumber查找等等。一切都可以运行到Cucumber启动时。它启动iOS模拟器,但随后出现以下错误(它继续通过所有测试用例,但每个测试用例都因此错误而失败):
处理命令时遇到错误(domain = MIInstallerErrorDomain,code = 5): 无法将/h/jobs/calabash_pipeline_ios/workspace/scm/calabash/iOS/apps/foo.app复制到file:/// Users / foouser / Library / Developer / CoreSimulator / Devices / E6E71772-FD95-467C-B37E-0096EF3DD0A8 /data/Library/Caches/com.apple.mobile.installd.staging/temp.Z5VAtJ/extracted/foo.app /
这通常意味着您的CoreSimulator进程需要重新启动。
您可以使用以下命令重新启动CoreSimulator进程:
$ bundle exec run-loop simctl manage-processes
正如所建议我在Cucumber步骤之前在脚本中运行bundle exec run-loop simctl manage-processes
,但它没有帮助。
有谁知道复制操作失败的原因?