赞
踩
继上篇文章介绍了XCTest中的单元测试,这片土地主要介绍下苹果官方测试框架XCTest中的的UITest。
1、UITest简介
UI Tests是一个自动测试UI与交互的Testing组件。UI testing允许你找到UI元素并与之交互,还能检查属性和状态.可以和单元测试一起执行. UITest使用的OC/Swift语言的自动化测试。
可以通过编写代码、或者是记录开发者的操作过程并代码化,来实现自动点击某个按钮、视图,或者自动输入文字等功能。随着项目功能的增加,旧功能也需要重新测试,导致了大量重复工作,这些重复的工作有些是可以自动完成的,UI Tests就可以帮助解决这个问题了。
2、UITest进行UI测试
1)创建一个UI测试target
UI测试target的创建方法类似于单元测试的创建方式,也是有两种,只是选择的target类型不同
方式一:通过创建新项目时,勾选 Include UI Tests
方式二:在已存在的项目中创建,按comman+5 打开xcode的测试导航器,点击左下角的+ 按钮,然后从菜单中选择New UI Test Target…
2)如果已有target,想新建不同的测试类,按command+n 打开新建文件,选择UI Test Case Class,创建不同的UI测试文件
3)运行方式
UI测试文件的运行方式也是command+u,测试全部,或者点击类/方法的钻石标志
4)UI测试文件的使用
文件创建好后,会自动创建以下函数
从注释我们可以知道这3个函数的意思
函数 | 用途 |
setUp | 1)继承与XCTestCase 函数测试文件开始执行的时候运行 2)setup中的XCUIApplication().launch()用于启动app 3)可以自定义一个setup函数,将launch方法调用放在自定义函数里,然后添加自己的数据加载 |
tearDown | 继承与XCTestCase 测试函数运行完之后执行 |
testExample | 测试的例子函数 |
(1)将自带的testExample删除,添加testUI,方法是空白的
(2)把光标放进到这个大括号里面,看到如下图中 的小红点。点击这个录制屏幕的按钮。应用启动。我们点击项目中的按钮跳转,函数中会根据您的操作自动生成代码
(3)你可以点击该函数的钻石标志运行,会重复您刚才的操作
(4)您也可以在操作代码自动加入后,或者手写操作代码后,加入断言判断是否是您想要的结果。
5)常用基本操作:
(1)点击按钮:app.buttons["登录"].tap()
(2)输入框输入文本
app.textFields["手机号"].tap() //要先聚焦文本框,才能继续输入
app.textFields["手机号"].typeText("13038865629")
等等
3、代码中控件的获取方式
类似于 app.buttons["TDD驱动测试界面"] 这样的,如果我们需要人为手写操作代码,如何获取控件,可以通过button的title或者设置的identifer获取button,类似的还有app.tables, app.textFields,app.staticTexts等等.
xcode也有一个帮助工具 Accessibility Inspector 来获取控件的属性
点击中间的按钮,选中控件,可以看到控件的属性,我们一般利用其title来获取控件
到此,UITest的简单使用就介绍完了......
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。