[iOS - 自动化] fastlane/snapshot
什么是 snapshot
snapshot 是一个帮助我们对 iOS App 进行截屏的工具。它可以帮助我们截取你需要的应用程序 UI 图像,可以用来检查 UI 的问题,比如说可以查看 App 中所有 UI 对本地化的处理是否正确,也可以在过程中进行 UI 测试并输出结果,可以在输出结果中查看对应的 UI 是否正确或者作为应用介绍图像。
安装
xcode-selected --install
确保已经安装 Xcode command toolsudo gem install snapshot
安装
使用
UI Tests
snapshop 需要使用 Xcode 7 新增的 UI Tests 来录制 App 的使用过程。关于 UI Tests 可以查看 http://masilotti.com/ui-testing-xcode-7/
如果不想使用 UI Tests 可以下载老版本的 snapshop:https://github.com/fastlane/snapshot/issues/270
老版本的 snapshop 通过使用 Instruments 的 Automation 来进行录制
开始
在项目文件中使用 $ snapshop init
初始化 snapshop。
将生成的 SnapshotHelper.swift
添加到 UI Tests 对应的 Target 中
接下来可以修改 Snapfile
文件来配置需要截屏的设备型号、语言、输出路径等
在配置完成后在 UI Tests 的 setup
方法中加入 setLanguage(app)
方法,该方法会设置 App 运行时的语言。在需要截屏的地方是用 snapshot("some name")
方法进行截屏。
做好这些设置后,使用 $ snapshop
来运行,之后 snapshop 会编译并运行 UI Tests 并进行截屏,得到的图像保存在之前设置的输出路径中,默认路径为 ./screenshots
。
本来非常耗时的截屏操作就这样可以非常轻松的完成了。