About《UI Testing In Xcode7》

不知道各位有没关注本周的 WWDC2015,在头几天的大会中,苹果提出了一个全新的基于 Xcode7 的 UI 测试工具。

这个工具貌似没特定的名字,就叫 UI Testing In Xcode7,它是在新版本的 Xcode 当中引入的一个基于 XCTest 框架的 UI 测试工具,那么如果你熟悉 XCTest 框架的话,你肯定很快就能够上手了,因为这个工具所使用的测试类、断言方法等都是基于 XCTest 延展并做了优化,所以说,XCTest 的特性它都继承了,而且能够做得更好。

PS:对于 XCTest Framwork 不了解的同学我估计还是占大部分,毕竟这个框架一直是被定位为开发人员使用的单元测试框架,而且在 Swift 出来之前,也只能使用 objective-C 来做,对于初级的测试人员入门门槛是略高的。
有兴趣的同志可以去读一下官方文档了解一下该框架:XCTest 使用手册

由于升级 OSX10.11 的时候卡住了=。=所以我还没来得及实践。
从官方演示的 DEMO 来看,很强大:
强交互的脚本录制->XCTest 框架->层级元素定位/Accessibility 定位->easy 断点调试->完整的 Report

在这里先给大家介绍一下这个工具的特性。

环境要求

从介绍中来看,目前该工具不但要使用最新的 Xcode7 以外,你的操作系统也必须是要最新的 OS X 10.11 版本,也就是说你必须先将你的机器升级,所以想要提前体验一下这款工具的同学,勇敢得上吧。OS X 10.11 镜像下载

悲剧的是,我今天在将镜像写入 U 盘的时候出错了,U 盘貌似废了,明天出去买一个...

然后还有一点,该工具仅支持运行在 iOS9 上。

所以重点就是:
1、请升级 Xcode 到 7(自带 iOS9 的 SDK);
2、请将系统升级到 OSX 10.11;

工具特性

1、基于 Xcode7 & XCTest Framewrok

完整的测试框架,并拓展了 3 个 API 辅助自动化执行和元素定位;
super 效率的断点调试;

2、分别支持使用 Objective-C、Swift 编写脚本
3、引入 Accessibility 来辅助元素定位,让 UI 测试更加完善,并且专门提供了 Accessibility Inspector;

Accessibility 这个概念从本次议题开始到结束提到多次,在展示 demo 的时候也重点讲解了 accessibility 在 UI 自动化当中的运用。而且在本次 WWDC2015 中,还有一个议题是《iOS Accessibility》,所以从苹果的态度上可以看出,Accessibility 将会是之后重点推动开发者去使用的属性,有了 Accessibility,将会大大降低了我们在做 UI 自动化的难度,恒温有发过一篇关于 android 的 accessibility 的文章,与 iOS 是相似的,可以了解学习一下。

4、自带 UI Recording Tool

Xcode7 提供的脚本录制工具非常得精准智能,交互性非常强,录制开启的时候,你的每一次操作,录制工具都会在 Xcode 上同步生成代码。包括你输入文字的时候,你输入的每个字母都是同步记录,删除文字也是。

日志与报告

看到这个东西的日志我惊呆了,在最终的运行报告界面,我们可以得到如下信息:
1、所有成功和失败的用例,分别是用绿色和红色标注;
2、用例失败的原因与截图;
3、用例执行的每一个步骤描述;
3、运行过程中收集的性能指标信息;

Summary

总得来说,无论是从介绍还是从 demo 演示上来看,我认为这一款工具会成为 iOS 自动化测试的主流工具,就如同 iOS9 迟早会成为主流一样。
xcode、XCTestFramework、OC/Swift 都是基本,你掌握了多少?


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