我正在尝试做端到端自动化 for an iOS项目。我的目标是自动化持续集成处理与附加UIAutomation
脚本作为构建后操作。
因此,从用户在 SVN 中检查他的代码开始,直到我们得到自动化测试结果,一切都将是自动化的。
Jenkins
安装在我的本地计算机上并运行localhost
.
现在我已经通过自动化构建过程jenkins
在另一端我已经准备好将运行的 shell 脚本UIAutomation
构建输出上的 java 脚本。
当我使用 shell 脚本作为构建后操作时,我在运行仪器命令(编写在 shell 脚本内)时遇到错误,但如果我通过终端手动运行此脚本,则它可以正常工作。
instruments[64703:60f] -[NSAlert alertWithError:] called with nil NSError. A generic error message will be displayed, but the user deserves better.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL. Mon Feb 6 13:15:20 inpunml310743 instruments[64703] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged. 2012-02-06 13:15:20.179 instruments[64703:60f] Recording cancelled : At least one target failed to launch; aborting run Instruments Trace Error : Failed to start trace. Build step 'Execute shell' marked build as failure Finished: FAILURE
然后我用 sudo 尝试了这个命令然后出现以下错误sudo:不存在 tty 且未指定 Askpass 程序
请让我知道如何成功运行这些命令,我的任务中只剩下这一步。
Jenkins 默认安装为 LaunchDaemon,这意味着它没有足够的权限来启动 WindowsServer。
您需要将其配置为 LaunchAgent:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo mv /Library/LaunchDaemons/org.jenkins-ci.plist /Library/LaunchAgents/org.jenkins-ci.plist
然后以 Jenkins 身份登录并保持会话打开。
如果您不知道 Jenkins 密码,可以使用以下命令更改它:
sudo passwd jenkins
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)