最近接触iOS测试,由于以前做过专门的pc端的功能以及性能测试,故而在学习iOS app测试的时候还是有很多旧知识积累,好了废话少说。
或许此刻你以为会进入正题,那就错了,以下还是废话。=.=
前沿:做之前可行性分析,或者说对市场上各种流行的iOS app 测试方式进行评估。以前的朋友告诉HP的MC(Mobile Center)不错,但是调查下来:
优点:非常专业的测试软件,与HP的ALM,UFT,LR等集成很好,故而适合已经使用这些软件的公司
缺点:在没有使用或者单单只打算用于测试App来说的用户未免投入成本过大,而且不易快速上手
PS:另外还有朋友推荐austere(Automated User interface Software Test)
在经历了各种噼里啪啦的网络云游后,还是直接进入正题吧(不然会被打)😄
自动化UI测试的方案优缺点
- 使用Instrument自带的automation
Xcode8移除了automation,以后会不会有替代品 - UI Testing+行为驱动测试(数据测试)
- 引入第三方框架
此次主要使用Instrument自带的automation:
(instrument是Xcode中的,故而不要再问怎么安装了)
step:
1.有自己的待测试iOS程序
2.直接Command+i 进入instrument界面
3.选择“Automation”,进入测试界面 ,如下
编码区域上方的Script按钮点击展开还会有另外两个选项:Trace Log和Editor Log,分别用来打印对应的记录。
左上角的红色圈按钮,点击会运行程序。
图下方的三个按钮,第一个三角形图标的按钮,可以在程序已经跑起来的时候,实时更改脚本并运行;第二个红色圆形按钮用来录制操作,能将对App的每一次操作生成对应的脚本语句,下次直接跑脚本就能将之前的操作自动重复一次了。
右边还有按钮能导入导出脚本,给脚本文件改名,暂停继续脚本的运行等。
自动化测试之录制方式step:
- 上面的123都做完了
- 点击下方的录制按钮,这时候程序运行起来,在simulator上进行一系列操作(such as: tap)
在点击的过程中会发现,每次点击操作在脚本编辑区域都会生成一行代码(对应于你每次点击的步骤,不信你就一边tap一边看) - 录制完成之后点击旁边的正方形图标按钮。之后可以点击左上角红色圆形按钮,这时候程序运行起来,会自动运行刚刚录制所生成的脚本代码,这时候能看到刚刚点击了一系列操作又自己跑了一遍。
到这里你就可以试着自己点击玩起来吧~
(动作--脚本--动作)
自动化测试之编辑脚本方式step:
- 1 是不是觉得上边录制的方式很简单,那就呵呵哒了
- 2 根据自己的整个对于simulator的操作编写成js脚本,别崩溃,耐心点。这里的js脚本就是上边的录制过程中产生的对应的动作脚本。
(脚本--动作)
若想控制脚本点击事件的间隔,可以再每次点击之后加上target的delay()方法,参数为秒,延迟一定的时间后再继续运行脚本。
延迟2秒再继续
target.delay(2);
可以输出log内容
UIALogger.logMessage(msg);
以上两种方式均可完成一次自动化测试过程,第一种简单粗暴,第二种灵活协调。真正测试过程中建议方式是两者结合,we can 录制完后对代码进行修改,比如加一些延迟啊等动作。最后只要能跑起来不卡住就成功啦。
以上. 分享。