[iOS - 自动化] fastlane/snapshot

什么是 snapshot

snapshot 是一个帮助我们对 iOS App 进行截屏的工具。它可以帮助我们截取你需要的应用程序 UI 图像,可以用来检查 UI 的问题,比如说可以查看 App 中所有 UI 对本地化的处理是否正确,也可以在过程中进行 UI 测试并输出结果,可以在输出结果中查看对应的 UI 是否正确或者作为应用介绍图像。

安装

xcode-selected --install 确保已经安装 Xcode command tool
sudo 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

本来非常耗时的截屏操作就这样可以非常轻松的完成了。

相关推荐