UI Testing

                                                               UI Testing

前言:当时老大叫我说写一个自动化测试用例,接到这个需求时我也是一脸懵逼,谷歌各种资料都没有,因为UI Testing是苹果去年才出的自动化测试用例,资料很少且不齐全,写下这些我曾经踩过的坑,希望对大家学习UI Testing有一丢丢帮助。。。 


UI Testing的概念我就不详细描述了,想要了解它的初步使用以及单纯的写几句自动化测试用例的话,可以看这篇文章,写的很详细。WWDC15 Session笔记 - Xcode 7 UI 测试初窥,对于一些需要为整个项目做一个全套的测试用例,这是一个庞大的工程。

1.转变

a.构思转变

每个测试用例文件都是一个测试case,只要点击开始,xcode自动启动APP,按照自己写的逻辑相当于人点的一样点击那个按钮及进去哪里页面。其实UI Testing顾名思义就是操作界面的UI来达到是否是我们预期的流程,如果不是按照我们写的代码验证的界面的话也就是case不过,说明这个流程有问题了,达到了自动化测试用例的效果。


UI Testing_第1张图片

b.代码用法转变

代码不是平常我们写创建UIBotton去搭建一个界面,现在我们只要从XCUIApplication这个类中查找到APP堆栈中页面的实例。拿到这些实例我们需要用于判断这个界面是不是按我们流程走的页面,也可以去做一些密码输入操作等。当我们想精确的找到这个实例对象时,我们可以把XCUIApplication的这个类通过控制台打印出来,就可以看到我们添加到界面的实例对象。

c.数据转变

需要通过代码控制APP自己操作输入我们造的数据,所有的需要输入的文字和数字我们要预先写死,通过接口得到的数据自己调接口获得之后输入进去。

2. 代码实现

a.怎么实现一个滑动tableView的效果,找寻想要点击的cell

UI Testing_第2张图片
实现滑动的效果

b.输入框输入数字有两种代码方式

第一种:直接调用typeText:方法,第二种:如果是自定义的键盘,输入数字几就用哪个button调用tap,模拟人工点击键盘输入数字

3.断言

单元测试断言汇总 - 泊竹 - 开源中国社区

自动化测试需要断言做一些不符合正常流程的行为,不符合的时候说明测试用例不通过,从而定位出问题。

4.最后贴上我自己写的其中一个测试用例

UI Testing_第3张图片

第一次写技术文章,写的不好,敬请见谅!

你可能感兴趣的:(UI Testing)