【干货】iOS9的新特性UITests-创新互联

成都创新互联是一家专业提供南通企业网站建设,专注与网站制作、成都网站设计、HTML5建站、小程序制作等业务。10年已为南通众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html

什么是UI Tests呢?

UI Tests是苹果提供给我们进行UI测试的一套框架。

UI Tests有什么用?

它可以通过编写代码、或者是记录用户操作过程并将其代码化,来实现自动点击某个按钮、视图,或者自动输入文字等功能。

UI Tests的意义

在实际的项目迭代过程中,随着项目越做越大,功能越来越多,仅仅靠人工操作的方式来覆盖所有测试用例是非常困难的,尤其是加入新功能以后,旧的功能也要重新测试一遍,这导致了测试需要花非常多的时间来进行回归测试,这里产生了大量重复的工作,而这些重复的工作有些是可以自动完成的,这时候UI Tests就可以帮助解决这个问题了。

使用方法

  第一步:添加UI Tests。

如果是新项目,则创建工程的时候可以直接勾选Include UI Tests选项,如果是已有的项目,可以通过添加target的方式添加一个UI Tests的方式,如下图:

【干货】iOS9的新特性UI Tests

在Test选项中选择Cocoa Touch UI Testing Bundle.

【干货】iOS9的新特性UI Tests

  第二步:创建测试代码。

这里主要有两种方式来生成测试代码:

1、手动创建测试代码。
  打开测试文件,在testXXX()方法中添加测试代码

【干货】iOS9的新特性UI Tests

2、通过录制脚本的方式生成测试代码。
  选择测试文件后,点击左下方的录制按钮,这时候开始进行操作,它会记录你的操作步骤,并生成测试代码。

【干货】iOS9的新特性UI Tests

下图就是在一些操作后自动生成的测试代码。

【干货】iOS9的新特性UI Tests

通过自动生成的代码片段,我们能够分析出测试代码的结构和一些可点击控件的名称,将这些点击的方法和控件名称记录下来,之后就可以自己编写测试代码了,要知道手动创建的代码可比录制的方法灵活的多哦!

  第三步:开始测试。
  点击testExample方法旁边的播放按钮,它就开始执行你的测试case了,这时候你会看到你的测试App在自动操作。

【干货】iOS9的新特性UI Tests

UI Tests语法简介

这里主要给大家介绍一下UI Tests的主要类及方法。

  XCUIApplication类:
  继承自XCUIElement,这个类掌管应用程序的生命周期,里面包含两个主要方法:
  launch(): 启动程序
  terminate(): 终止程序

  XCUIElement类:
  继承自NSObject,实现协议XCUIElementAttributes, XCUIElementTypeQueryProvider,可以表示系统的各种UI元素,它主要包含以下几个方法。
  exist: 可以让你判断当前的UI元素是否存在。
  descendantsMatchingType(type:XCUIElementType): 取某种类型的元素以及它的子类集合。
  childrenMatchingType(type:XCUIElementType): 取某种类型的元素集合,不包含它的子类。

这两个方法的区别在于,你仅使用系统的UIButton时,用childrenMatchingType就可以了,如果你还希望查询自己定义的子Button,就要用descendantsMatchingType方法。

  另外UI元素还有一些交互方法:

tap(): 点击。

doubleTap(): 双击。
  pressForDuration(duration: NSTimeInterval): 长按一段时间。
  typeText(text: String): 用于textField和textView输入文本时使用,使用前要确保文本框获得输入焦点,可以使用tap()函数使其获得焦点。

当然了,这里也只是给大家简单介绍了一下常用的函数,具体如何使用还需要大家下去进一步探索哦!

【干货】iOS9的新特性UI Tests

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:【干货】iOS9的新特性UITests-创新互联
分享网址:http://scyanting.com/article/ccjcoj.html