本文主要介绍了UIAutomation的应用实例、应用技巧、基础知识点总结以及注意事项,具有一定的参考价值。
目录
第一部分:熟悉仪表自动化。第二部分:控制的获得和操作。第三部分:自定义自动化脚本xcode中包含的指令工具,可用于APP的自动化测试以及内存泄漏、文件读写操作等性能分析。
第一部分: 熟悉Instruments的UIAutomation.
首先选择Xcode-Open Developer Tool-Instruments打开Instruments工具,然后可以在左上角选择设备和被测APP(如下图):
这里选取了一个iPhone 5s的模拟器和之前写的一个简单的知乎日志APP。
如果你是UIAutomation的新手,建议选择记录脚本的方式来熟悉这个工具。下图底部的三个按钮分别是播放、录制和停止。
点击中间的红色按钮开始录制。在录制过程中,自动脚本会在代码框中实时更新。点击Stop之后,一个自动测试脚本将被成功记录。然后可以点击左侧的执行,在iPhone 5s模拟器中查看执行结果,与录制的动作一致。
/prepre name=' code ' class=' JavaScript ' var target=();
var app=();
var window=();
可以看到,使用UIAutomation测试iOS APP,自动使用了JavaScript语言。
上面的目标,app是建立一个具体的执行环境,然后通过()获取APP的UIWindow。
也可以通过var navBar=()获取APP的navigationBar。
使用()构建APP的层次树(类似于Android自动化中的getHierarchyView()方法)。一个简单的结构如下:
第二部分: 控件的获取及操作
获取UI控件的方法也非常简单:
varviews=()//可以得到所有tableView的数组。
Var=tableViews [0]。cells()//然后获取第一个tableview中的所有单元格元素。
var文本字段=()
文本字段[0]。value() //获取该文本字段中的值。
其他控件通过类似的方法获得,比如buttons()、images()和webviews()。
该控件的操作如下:
()[0].setValue(' name ');//用值填充文本字段。
单元格[0]。tap() //点击单元格。
({x: 100,y:200 });//通过坐标执行点击操作
({x: 100,y:200 });
({x: 100,y:200 });
//缩放
({x:20,y:200},{x:300,y:200},2);
({x:20,y:200},{x:300,y:200},2);
//拖动并滑动:
({x:160,y:200},{x:160,y:400},1);
({x:160,y:200},{x:160,y:400 });
导航栏和tabBar的获取和操作如下:
var navBar=();
().点击()
var tabBar=();
var selectedTabName=()。name();
if (selectedTabName!='First') {
()['第一']。tap();
}
调试日志的方法如下:
(' main test ');
('选择单元格');
(‘通过’);
(‘失败’);
第三部分: 自定义自动化脚本
在熟悉了基本的UIAutomation规则之后,我们可以编写定制的自动化脚本。
var target=();
var app=();
var window=();
var navBar=();
();
(' main test ');
('选择单元格');
var cells=()[0]。cells();
for(单元格中的变量索引){
//()[0].单元格()[0]。tap();
(单元格[索引]);
单元格[索引]。tap();
().点击()
}
这里我简单的把tableView中的所有单元格都拿出来,依次点击单元格,然后跳转到每个单元格的详细界面,最后返回。
在日志栏中,会呈现所有的执行结果,非常方便分析。
怎么样?用起来挺简单的。但是,这里只是简单总结一下UIAutomation在仪器中的基本用法,真正的本质还得我们自己去思考。
以上是如何使用IOS自动化测试工具UIAutomation的细节。关于IOS自动化测试工具UIAutomation的更多信息,请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。