尝试从jenkins运行UI自动化脚本时出错

Lre*_*igo 12 user-interface automation ios jenkins

我正在使用Xcode 6.1.我需要从jenkins运行UI自动化脚本作为后期构建操作.我使用的命令如下所示.

instruments -t $TRACETEMPLATE -w $DEVICE $APP_PATH -e UIASCRIPT $SCRIPT -e UIARESULTSPATH $RESULTS_PATH | grep "<"  > test-reports/test-results.xml
Run Code Online (Sandbox Code Playgroud)

当我运行时,jenkins抛出以下错误.

无法授权权限(0x1),状态为:-60007.2014-11-12 16:31:30.685 instruments [488:2607] - [XRSimulatorDevice prepareConnection:]:无法授权模拟守护进程(99637):8仪器跟踪错误:目标无法运行:调试com.test.app的权限被拒绝.

任何帮助深表感谢.

bug*_*oaf 0

我收到了与您几乎相同的错误消息,这似乎是因为当 Jenkins 作为启动守护程序启动时,即使您以“jenkins”身份登录,它也无法访问屏幕。

我通过阅读此讨论找到了解决方案:https://issues.jenkins-ci.org/browse/JENKINS-14421

您可以使用 来从终端启动 Jenkins java -jar jenkins.war,也可以创建一个启动代理,该代理以登录用户身份运行并有权访问用户的屏幕。

/Library/LaunchDaemons/org.jenkins-ci.plist我通过移动到plist/Library/LaunchAgents/org.jenkins-ci.plist并从中删除键和值来实现后一种解决方案。UserName现在,当我启动机器时,Jenkins 不会自动启动,但当我登录桌面时,它会启动,无论如何,这是运行 UI 自动化测试所必需的。

看来 Jenkins 仍然无法实际启动 Simulator 应用程序,但如果 Simulator 已经在运行,则 UI 自动化脚本会正常运行。