ios - 从 Jenkins 运行 iOS UIAutomation 测试

标签 ios xcode jenkins instruments ios-ui-automation

一段时间以来,我一直在尝试弄清楚如何从 Jenkins 运行 UIAutomation 测试 - 每次我运行构建时,它构建得很好,然后它运行我的 instruments 命令(使用此处详述的相同命令(Can Instruments be used using the command line? ) 并且 jenkins 挂了,整个机器都挂了,当我查看事件监视器时,我可以看到一个使用 2gb 内存的仪器进程。

当我设置 jenkins 时,我最初以隐藏用户的身份运行它 - 这带来了一些挑战,因为 jenkins 是守护进程并且无法访问窗口服务器。然后我决定将 jenkins 帐户更改为普通用户,登录并从命令行运行仪器 - 这工作正常..但仍然没有从 jenkins 运行它。

我已将 jenkins 帐户设置为开发人员 - 虽然没有管理员

请让我知道是否还有其他我可以尝试的方法,或者如果有人成功运行了此程序,将不胜感激您的指导 - 谢谢

最佳答案

OS X 上的 Jenkins 从 launchd 脚本启动,默认情况下将作为“守护进程”运行。要做的事情是在启动的脚本中更改用户。

首先,让 Jenkins 准备好关闭(在 GUI 的“管理 Jenkins”中)。

然后从 launchd 卸载作业,如下所示:

$ sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

然后使用您要运行 jenkins 的用户在 launchd plist 中编辑“UserName”属性。还有一个 GroupName 属性,您可能希望/需要根据您的用户组进行相应调整。

最后,重新加载 Jenkins:

$ sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

希望对您有所帮助!

关于ios - 从 Jenkins 运行 iOS UIAutomation 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10420324/

相关文章:

Xcode11 编辑器(通过 "Add Editor to Right")被禁用

ssl - 如何让 waitForQualityGate() 函数与 https sonarqube 实例一起使用?

maven - OpenShift jenkins : java.net.BindException:权限被拒绝

ios - 需要苹果团队帮助查找崩溃点、崩溃日志

xcode - 无法使用 XCode 创建快照

ios - 聊天消息未正确加载

iPhone、XCode 和源代码控制

php - 为什么这段代码具有很高的圈复杂度 - 或者它是 Jenkins 中 PHPMD 中的一个错误?

ios - 尽管在属性检查器中启用了分隔线,但它不会显示在自定义 tableView 单元格下

ios - Appstore 版本影响 TestFlight 测试人员?