在 Jenkins 中调用快照会导致模拟器超时
Posted
技术标签:
【中文标题】在 Jenkins 中调用快照会导致模拟器超时【英文标题】:Calling Snapshot in Jenkins results in Time out for Simulator 【发布时间】:2015-12-01 20:34:38 【问题描述】:我正在使用来自FastLane 套件的Snapshot。
出于我的目的,我从脚本中调用各种工具,并传入我用作输入的适当环境变量。
当我在 Jenkins 和命令行中调用我的脚本时遇到问题。当我在 Jenkins 的构建步骤中调用脚本时,结果是来自 Snapshot 的一条消息,指出该进程在等待 120 秒以使模拟器启动后超时。如果我从终端运行相同的脚本,快照会按预期运行而不会出错。
例子:
snapshot \
--workspace "MyWorkspace.xcworkspace" \
--scheme "MyScheme" \
--output_directory "MyOutputDirectory" \
--clear_previous_screenshots \
--stop_after_first_error
(--devices --languages can be found in ./Snapfile)
快照文件:
devices([
"iPhone 4s"
])
languages([
"en-US"
])
我错过了什么吗?
【问题讨论】:
【参考方案1】:配置 Jenkins 以用于 ios 测试和自动化并不是一项简单的任务,有很多陷阱。
Jenkins 结果是来自 Snapshot 的一条消息,说该进程在等待 120 秒以等待模拟器启动后超时。
这表明您的 Jenkins 机器无法运行模拟器。如果jenkins
用户无法启动 UI 会话,就会发生这种情况。
这两篇文章提供了有关如何为 iOS 开发配置 Jenkins 的有用信息:
https://blog.pivotal.io/labs/labs/ios-ci-jenkins http://staxmanade.com/2015/01/setting-jenkins-up-to-run-xctool-and-xcode-simulator-tests/第二个特别解决了 Jenkins 不作为 GUI 用户运行的问题。
祝你好运。
【讨论】:
以上是关于在 Jenkins 中调用快照会导致模拟器超时的主要内容,如果未能解决你的问题,请参考以下文章
使用proxyquire和mocha在单元测试中模拟方法调用时如何模拟时间延迟(超时)?