【发布时间】:2016-02-29 11:00:08
【问题描述】:
我正在通过 Jenkins 运行 Xcode 的 UI 测试。每个步骤都会截取屏幕截图,因此在运行该套件一段时间后,Mac 会耗尽其所有硬盘空间。有谁知道你是否可以关闭 Xcode UI 测试的自动截图,从而减少使用的空间?
【问题讨论】:
-
截图保存在哪里?
标签: iphone xcode screenshot xcode-ui-testing
我正在通过 Jenkins 运行 Xcode 的 UI 测试。每个步骤都会截取屏幕截图,因此在运行该套件一段时间后,Mac 会耗尽其所有硬盘空间。有谁知道你是否可以关闭 Xcode UI 测试的自动截图,从而减少使用的空间?
【问题讨论】:
标签: iphone xcode screenshot xcode-ui-testing
【讨论】:
-resultBundlePath xcbuild 参数时,有什么方法可以通过 CLI 指定它吗?因此,理想情况下,成功的测试截图应该被删除,而不成功的则应保留。
xcodebuild 构建,但我实际上发现这似乎是默认设置。 (确定情况并非如此,因为他们以某种方式在服务器上进行了 1 次成功测试,并认为这是常态)我还发现您可以通过 .xctestrun 文件指定 SystemAttachmentLifetime 和 UserAttachmentLifetime 所以放在这里万一有人需要
我不知道如何关闭屏幕截图,但您可以将屏幕截图放在将被删除的位置:
xcodebuild -workspace App.xcworkspace \
-scheme "SchemeName" \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.0'
-derivedDataPath '/dev/null'
test
请注意-derivedDataPath '/dev/null',这是屏幕截图所在的位置。这会将屏幕截图放到空设备上,这是一个特殊的设备,会丢弃写入它的信息。
希望有所帮助,祝测试愉快!
【讨论】:
我没有找到一种可靠的方法来停用屏幕截图,但是通过在 jenkins 中设置以下内容来删除它们所占用的大小:
Jenkins > 打开作业 > 配置 > 构建 > Xcode > 高级构建设置 > 勾选标有“清洁测试报告”的框
现在,这使测试结果的大小更易于管理,这意味着我可以不断地让我的测试套件在 jenkins 中运行。
希望这对其他人有所帮助。
【讨论】: