Google 近日发布了开源的 EarlGrey,你要是看名字会以为这是一种茶,不过嘛,这是一款自动化的测试工具。它可以方便开发者更轻松地构建和运行 “面向 iOS apps 源码” 的用户界面测试。

据称,Google 内部就是使用这款软件来测试自己的 IOS APP。这款工具到底怎么样呢?这里给大家简单介绍。

EarlGre 的特点

自带同步机制:这个是最大的亮点,你不需要写那些 sleep 了。因为 EarlGrey 会自动同步 UI、网络请求、主 Dispatch Queue 以及主 NSOperationQueue。为了支持在下一个 UI 交互发生前需要等待某个事件出现这种场景,EarlGrey 提供了 Synchronization APIs,你可以通过他们来控制 EarlGrey 的同步行为。你可以使用这些 APIs 来增强测试的稳定性。

自带基于 screendiff 的可见性检查:简单讲就是 EarlGre 可以确保交互都发生在用户可以看到的元素上。这样,你就可以确定对于 EarlGrey 与之交互的 UI,用户可以看到并且也能与之交互。

适合谁用

​它基于 XCTest(XCode 自带的)做了扩展,你可以理解为它是一个更好用的 XCtest。

这种侵入式的框架(需要在 XCode 集成或者命令行里面把测试 bundle 打到应用里面),意味着这款工具主要是面向有开发能力的工程师,此外,由于是白盒测试,所以主要还是让开发者们测自己的 APP。

因此,如果你是一个独立开发者,那么它对你而言会是一款非常棒的测试工具。

解决不了的问题

EarlGre 不能代替基于真机的测试。也就是说 APP 在真实设备上的兼容性问题,无法通过软件模拟的方式暴露出来。如果你想要避免因硬件问题导致的用户流失,你还是需要在几百台真实手机上对进行 APP 测试。

当你需要在几百台手机上做测试时,自动化真机测试能够快速帮你解决战斗。所以,如果你是一名不具备写代码能力的测试工程师,公司又恰好需要你做大规模的真机测试,那么 TestBird 所提供的兼容性测试会更加适合你。


↙↙↙阅读原文可查看相关链接,并与作者交流