关于iOS自动化测试一点研究--UIAutomation

             这几天主要研究了一下关于自动化测试的一些内容。看了很多的资料,有的写的详细,有的写的一般。对这几天的工作进行一个总结。还有很多的东西,以后继续。 
 
       自动化测试:1.简单介绍一下UIAutomation的用法
                             2.介绍一下一个脚本的开发
                             3.后续工作继续的内容,以及一些推荐

一.UIAutomation的用法
   如下图所示是工具面板,有脚本编写区域,操作区域,还有脚本选择区域。
   UIAtuomation这个工具可以对脚本进行录制操作,然后回放,比较的方便,但是我们今天重点谈的是怎么写脚本。
     关于iOS自动化测试一点研究--UIAutomation_第1张图片



二.介绍脚本的开发
a. 一个全新的脚本上来只有这一行代码
var target = UIATarget.localTarget();
UIATarget 可以理解为一个根类,我们可以从这个target取到界面元素,模拟事件,等等一些操作,
下面链接是UIATarget一些类,我截了图大家也可以看看
http://developer.apple.com/library/ios/#documentation/DeveloperTools/Reference/UIAutomationRef/_index.html
关于iOS自动化测试一点研究--UIAutomation_第2张图片
可以看到有很多的控件元素,我们就是可以从上面的target获取到这些元素,进行操作。

b.测试用例编写

Step 1
前提条件:
1. 全新成功安装新应用
 
操作步骤:
在设备桌面中,点击应用Logo
应用启动成功、此时启动界面信息正确显示
Step 2
左右滑动新手引导界面 -> 查看待测端
正常处理
Step 3
点击立即登录
进入到登录界面中、且该界面中信息正确显示
同时键盘自动弹出、光标定位在帐号输入框中
Step 4
输入已开通服务帐号的飞信号
正确显示在指定的位置中
Step 5
点击密码输入框
光标定位移动到密码输入框中
Step 6
输入正确密码
密码数据未显示,以....代替
Step 7
点击登录
成功登录、且定位在应用的主页中

上面是一个标准的测试用例,真对这条用例,第一步是新手引导,第二步是输入用户名和密码,第三步登陆校验

代码如下:
新手引导可以通过录制解决,输入用户名密码,和登陆检验,只能编写代码,代码如下:


 

用序号标示每一行代码:
4-- UIAlogger是自动化测试的日志系统,我们通过打日志来跟踪情况。如果有logstart那么在这个过程中,打的日志都会被自动归类到login下面,而不会在日志里平铺显示,会简洁。
关于iOS自动化测试一点研究--UIAutomation_第3张图片
5. 这个是很重要的一行代码,意思是打印当前显示app的控件树,可以看到所有的元素,方便我们对下面的获取元素有帮助。我们知道了一个frontmostapp,获取当前应用的意思
6.输入用户名,在当前app,主window上,获取的第一个文本框(0开始索引),设置内容。这块当时也误解了我很久,textfileds是复数,返回的是当前window下所有的文本框,并且从上到下,从左到右,进行排序。其他的界面元素也是这么返回的.
7.让密码输入框获得焦点,tap就是模拟点击。
8.同6,设置密码
9.点击立即登陆
11.-30 就是判断登陆是否成功,判断如果40s之后,页面还是在登陆页面,就认为是失败的,这个时间可都是可以调整的。
15.打印日志,level是debug级别,大家可以看到上面的图logtype的类型
16.delay是延迟的意思
19.截屏
20.截屏动作较慢,所以延迟1s在执行下面的。
21.27 和logstart相对应,logpass是通过,logfail就是失败。

三.后续工作
继续完成大部分脚本,
后续介绍一下怎么快速查看控件树,而不用打log的方式。
推荐一个网址,是淘宝测试团队写的  http://www.taobaotest.com,写的非常不错。

你可能感兴趣的:(关于iOS自动化测试一点研究--UIAutomation)