怎么实现android应用程序自动化测试的批处理脚本

介绍

本篇内容介绍了“怎么实现android应用程序自动化测试的批处理脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

测试平台:兼容android所有平台(2.3 - -4.2)

测试背景:由于需要对产品的SDK做接口测试,而这些接口需要在应用程序里面调用,故开发了一个简单的android应用(如图),用来调用需要测试的接口,应用中的每个按钮其实都是一个测试模块。

怎么实现android应用程序自动化测试的批处理脚本

怎么实现android应用程序自动化测试的批处理脚本

测试需求:

1,由于某些接口在程序第一次安装打开时调用,需要实现自动化安装打开关闭卸载测试,可设置重复次数。
2,由于需要测试接口的稳定性,每个按钮每天都要跑多篇,所以实现简单点击的UI自动化,循环点击。
3,自动检查收集logcat日志并解析日志结果,自动发送邮件。

下面主要讲下在windows下如何实现以上需求。

<强>一、准备测试环境及测试文件
1,安装Java JDk,设置好环境变量
2,安装android SDK,设置好环境变量(详细步骤略)
3,准备被测的apk及测试所需的一些工具

接着主要讲下测试主程序如何实现

<强>二,启动模拟器,并解锁

批处理脚本:

代码如下:


模拟器avd Galaxy4.2 ,::启动模拟器
ping - n 90 127.0.0.1> nul ,::等待模拟器启动成功,90 - n为等待时间,建议设置大一点
亚行shell输入keyevent 82,::模拟器打开后都会锁屏,亚行模拟键盘输入,解锁
ping - n 2 127.0.0.1> nul

<强>三、脚本参数初始化

代码如下:


设置浏览器名称=TestAndroid.apk ,,,,,,,,,,,,,,:被测程序名称
设置pkgName=com.example.testandroid :被测程序包名
设置openName=com.example.testandroid。MainActivity:被测试程序主活动
设置“*=% 1,,,::测试次数,脚本传入参数
xcopy咩咩的叫声。exe C:\Windows\System32\,/Y ::将邮件工具复制到系统文件夹下,需关闭360卫士

<强>四,循环执行安装打开关闭卸载

代码如下:


回波测试开始祝辞source.txt ::创建一个源文件记录日志
/l % %的(1,1 % * %)(
亚行安装TestAndroid.apk ,::安装apk
亚行壳点开始- w - n % pkgName %/% openName %,::打开的apk
调用cmd/c。蝙蝠% pkgName %,,::关闭apk
亚行卸载% pkgName %,,,::卸载apk
亚行logcat - D |中“^ D/k。*} \祝辞“,::过滤logcat,获取需要的内容
亚行logcat -c ,,,::清除logcat日志
taskkill/f/im adb.exe)在祝辞source.txt 亚洲开发银行::结束进程,防止占用源文件
,,,,,::每次操作日志都记录在源中

<强>五,处理源。txt提取关键信息,并发送邮件

代码如下:


开始javaw jar FileHandler.jar ::调用处理日志的罐子,这部分需要根据不同的apk自己调整,若不需要可以删掉
ping - n 10 127.0.0.1> nul

::以下为发送邮件的工具咩咩的叫声,详情见http://blog.csdn.net/qiming_zhang/article/details/6065824
设置从=* * @163.com
设置用户=* *
设置通过=* *
将=* * @ * *
设置主题=apk安装卸载测试结果
设置邮件=结果。txt
设置附加=来源。txt
设置服务器=smtp.163.com
咩咩的叫声安装服务器% % % % 3 25
咩咩的叫声%邮件% - - - % % base64字符集Gb2312主题%主题%,-attacht %附加% - server服务器% % - f %
从用户% - u % % pw %通过%

<强>六,设置窗户定时任务,参数填写为测试次数

经过以上步骤,安装卸载测试已经完成,接下来讲解如何用亚行命令进行UI自动化测试

<强>一、打开应用,记录按钮或文本在手机屏幕坐标点

1,在android 4.0以上版本中,可以实时显示手机屏幕坐标点
2,点击设置,应用程序——开发人员工具——指针位置
3,打开应用程序,获取按钮的坐标位置,如图坐标为(138.168)

怎么实现android应用程序自动化测试的批处理脚本

<强>二、脚本模拟屏幕点击事件

代码如下:


亚行壳sendevent/dev/input/event0 3 0 138:: X坐标
亚行壳sendevent/dev/input/event0 3 168:: Y坐标

怎么实现android应用程序自动化测试的批处理脚本