如题所述
1.1 UI Automation的运行
先通过简单的测试脚本的运行来认识UI Automation。本文使用的例子是Apple官方实例程序Recipes。可以通过XCode的帮助文档找到iPhoneCoreDataRecipes这个项目并将其打开。
选择打开以后,程序源码会被自动的下载到当前用户的Downloads目录下。使用XCode打开Recipes项目并长按运行程序按钮就会看到,如下图所示,点击“Profile”命令即可。
还可以通过单击XCode中Product菜单,在其中点击“Profile”命令。当然也可以通过“command + i”快捷方式来运行程序。“Profile”运行以后,Instruments会启动运行。在其中选择“Automation”选项后,单击“choose”按钮确定。
点击“choose”命令后,稍等片刻即可看到已经运行了。
如何才能编写或运行测试脚本呢?现在我们就来看看入门级别的教程,也就是UI Automation的“Hello world”。会看到默认有一句代码,这就是UI Automation的javascript脚本。那么我们在下面添加一句话,即可完成这个“Hello world”程序。
之后就可以点击运行,来执行这个脚本了。
如果当前脚本正在运行,那么当前红色圆形按钮,为黑色正方形时,先点击黑色正方形按钮停止执行脚本,再点击红色圆形按钮运行即可。接下来我们可以看到一些输出的log。也就是刚才的脚本执行结果,打印当前的控件树。虽然第一个脚本很简单,确是非常有用的一个功能,以后的自动化测试脚本都要以这个脚本的运行结果为基础。
1.2 UI Autmation界面简要介绍
(1) 标示为1的区域,第一个按钮在未运行状态,功能是“运行”脚本,当脚本在运行状态时,功能是“停止”脚本。第二个按钮的功能为“暂停”脚本执行。
(2) 标示为2的区域,主要负责展示Instruments的运行状态,左侧显示了当前Instruments运行加载的Library数量,右侧显示当前Library的一些简介信息和运行的时间。
(3) 标记为3的区域,主要是一些Instruments运行的设置,
(4) 标记为4的区域,日志显示和脚本显示的地方。
1.3 UI Autmation脚本开发之前
运行UI Automation时有一些规则需要遵循,如果不遵循规则,它会在不同层面上限制自动化测试脚本的运行。
自动化测试脚本的运行限制主要来自两个层面。
(1) 系统级别的运行限制,不是所有的应用程序都可以用UI Automation进行自动化测试的,UI Automation本身会对程序的签名有一定的要求(模拟器上运行除外)。
(2) 应用程序级别的限制主要来自控件的识别方面,如果一个应用程序的大部分控件无法得到有效的识别,那么这个应用程序就无法拥有强大的自动化测试脚本,或者无法直接拥有任何功能的自动化测试脚本。
为了让测试更好的运行,必须遵循以下的规则。
(1) 被测试的应用程序必须是Developer签名的应用程序或者运行在模拟器里面的应用程序。从App store下载的应用程序都不是Developer签名,都不可直接被用于UI Automation测试,如果想测试可以通过重签名工具,重新签名后,才可以使用。当然最简单的方法就是拿着源码后配置上Developer签名,直接通过XCode安装到设备上即可使用UIAutomation测试。
(2) 在被测试应用程序开发的过程中,需要处理控件的可访问性。使用在storyboard中或利用代码设置View的AccessibilityLabel属性。
做好以上的设置,就可以开始UI Automation之旅了。
如果对自动化测试有其他的疑问,可访问www.sogouqa.com。