如何使用 Jenkins 运行 UIAutomation?
Posted
技术标签:
【中文标题】如何使用 Jenkins 运行 UIAutomation?【英文标题】:How to run UIAutomation using Jenkins? 【发布时间】:2012-10-04 21:27:12 【问题描述】:我正在尝试将 Instruments UIAutomation 与 Jenkins 的 CI 结合起来。
在 Jenkins 项目的配置中,我定义了一个调用脚本:
sh buildAndTest.sh
它所做的就是调用 uitest
#!/bin/sh
make uitest
uitest 在 Makefile 中定义,它调用 Instruments:
/usr/bin/instruments -t pathToTemplate/MyTemplate.tracetemplate pathToSimulator/Library/Application\ Support/iPhone\ Simulator/5.1/Applications/a_very_long_name/Main.app
此代码在终端中以及当我调用“make uitest”时有效。 Jenkins执行脚本时不起作用,控制台输出:
仪器使用错误:(空) 制作:* [uitest] 错误 254 构建步骤“执行 shell”将构建标记为失败 完成:失败
任何想法如何整合这两者?
【问题讨论】:
【参考方案1】:我刚做了,有点痛。
第 1.1 步:使用 Xcode 插件和模拟器 SDK 构建您的应用
步骤 1.2:定义一个可读的构建目录
第 3 步:使用以下行添加 Shell 构建步骤:
instruments -t ~/Desktop/test1.tracetemplate __YOUR_BUILD_PATH__/_YOUR_APP_.app
为我工作。如果你有任何问题,请告诉我
【讨论】:
【参考方案2】:确保 Jenkins 从代理以系统用户身份运行,并且系统已登录到桌面。如果桌面不可见,UI 自动化将失败。
【讨论】:
【参考方案3】:另一个原因可能是你给出了各自的路径。如果有的话,用完整的限定路径替换它。
【讨论】:
以上是关于如何使用 Jenkins 运行 UIAutomation?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Bamboo 或 jenkins 运行 ansible playbook
如何使用声明性 Jenkins 管道在同一节点上运行多个阶段?
ubuntu 中安装jenkins,基于docker运行jenkins