蒙凯测试概述
我在用安卓智能手机做自动化测试。 蒙凯比cts,安卓单元好用多了。 他实际上继承了与ADB shell的shell命令。
monkey测试的相关原理
monkey测试的原理是利用socket通信方式,模拟用户的按键输入、触摸屏输入、手势输入等,看看设备在多长时间内发生异常。 当Monkey程序在模拟器或设备上运行时,用户单击、触摸、手势或几个系统级事件时,会发生随机脉冲,因此使用Monkey随机重复
Monkey的一般使用步骤
1 .确认设备(模拟器或实机)是否正常连接。 命令:显示adb devices、设备编号后,表示连接成功。
2 .确定要测量的APP包的包名。 仅供参考
1 )打开CMD命令行
2 ) ADB shell进入shell接口,查看data/data下的包,从关键字中查找包名
运行monkey测试命令
adbshellmonkey-p your.package.name-- pct-touch 30--忽略-类- -忽略-时间输出250-- S2-v
Monkey的一般命令
1:一般选项
--help :打印帮助信息
-v :指定打印信息的详细级别。 如果增加一个-v,则默认级别为0。 -v -v -v是最详细的日志。
2:事件选项
-s :生成随机事件种子值,并指定相同种子值生成相同的事件序列。 例如-s 200
--throttle :各事件结束后的间隔时间——可以减轻系统的压力。 如果未指定,则将尽快发送事件序列。 示例--throttle 100
指定--pct-touch--pct-touch5%等触摸事件的比例。 相关的选项包括:
--pct-motion percent ()幻灯片事件() ) ) ) ) ) ) ) ) )。
--- pct -轨迹球个人((轨迹球事件) ) ) )。
--pct-nav百分比(导航事件升级/降级/左/右) ) ) ) ) ) ) ) ) )。
--pct-majornav percent ()主要导航事件背景键() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。
--pct-syskeys percent (系统密钥事件主页、后退、开始呼叫、结束呼叫、卷控制) )。
- pct-appswitchpercent (活动之间的切换) )
--pct -任何事件百分比((任何事件) ) ) ) ) ) ) ) ) )。
3 :约束选项
-p :指定有效的包。 --p对系统中的所有包都有效。 -p对应于有效的软件包。 例如,-p com.ckt -p com.ckt.asura;
-c:activity必须至少包含一个指定的类别,才能启动。 否则无法启动;
4 :调试选项
--dbg-no-events :初始化已启动的活动,但不发生任何事件。
--hprof :如果指定了项目,则在发送事件序列前后会立即生成分析报告——。 一般来说,建议指定项目。
---忽略-崩溃:忽略崩溃
---忽略时间outs :忽略超时
---忽略-安全-执行:忽略安全异常
--kill-process-after-error :如果发生错误,直接杀死进程
--monitor-native-crashes :跟踪本地方法的崩溃问题
--wait-dbg :只有在知道调试器已连接后,才能运行monkey测试。
蒙奇实战
一、建立monkey测试环境:
在运行前安装ADB (monkey测试使用ADB命令,因此只需要配置ADB环境。 )
1 .在PC端下载adb命令软件包,解压缩后放在c驱动器的目录下。 (也就是说,只需要jdk、sdk、jdk安装、sdk解压即可,配置环境变量。 将平台工具和工具目录路径添加到路径中) )。
gc-image/2c93014a903a47dcb376a57761605e3a?from=pc">
2.手机通过usb连接电脑,自动安装usb驱动,连接成功
3.验证adb命令能否运行
pc端进入cmd命令行---进入C:tmg目录下--运行adb shell,出现$符号证明adb命令运行成功,进入shell模式
二、手机设置
手机屏幕超时设置为从不关闭,防止手机进入锁屏状态。
以htc手机为例:进入设置-显示--屏幕待机--设置为从不关闭。
三、运行monkey
运行方式有三种:a.pc机上 adb shell monkey +参数 b pc机输入adb shell进入到手机的安卓设备后再monkey+参数 C手机设备上安装一个模拟器手机执行monkey+参数(手机模拟器可以通过百度搜索或360手机助手搜android terminal,安装即可,可以在模拟器的命令行中输入mokey +参数)
下面是第一种方法:
1.查看包名:查看电脑中某一位置的apk文件的包名:PC打开CMD-进入TMG目录-运行设备--查看包名aapt dump badging *.apk(apk文件的路径,可以直接拖拽)。
或者直接查看手机中存在的apk包,进入adb shell 命令后---手机的data/data文件夹--ls查看所有包名 找到要测apk的包名
2.运行monkey,对此包进行300次无规律点击。
或者运行monkey,对此包进行300次无规律点击后将日志导出到电脑的某一位置
adb shell -p 包名 -v 点击数 >电脑某一位置
3、测试停止后,查看导出的monkey日志,发现问题。
在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。
首先我们需要查看Monkey测试中是否出现了ANR或者异常,无响应问题(ANR问题):在日志中搜索"ANR "(此处有空格), 崩溃问题:在日志中搜索"Exception",快速定位到关键事件信息 。然后查看Monkey里面出错前的一些事件动作,并手动执行该动作,找出重现步骤,给开发。
四、补充小知识:
1.如何安装apk?
adb install xxx.apk -----为了获取apk的安装包所在地址,可以直接把apk拖到cmd的窗口获取,返回success就说明安装成功了!
2.如何将本地文件上传到手机端?
adb push <本机路径> <手机路径>
例,将本地的白名单上传到手机端,adb push F:whitelist.txt data/local/tmp
3.如何将日志保存到PC端?
adb shell monkey -v -v -v 1000 > 本机地址
例:adb shell monkey -v -v -v 1000 > d:monkey.txt
4.日志查看补充
---->先把日志输出到本地
---->注意观察switch后面的内容,一般错误都会显示在这个后面
---->ANR问题:日志中搜索ANR关键字
---->奔溃问题:在日志中搜索Exception问题