monkey测试

Monkey测试是安卓平台自动化测试的一种手段,通过monkey程序模拟用户触摸屏幕,拖动,按键啊什么的操作来对设备上的程序进行压力测试,检测程序多久的时间会出现异常。

缺点:虽然可以根据一个指定的命令脚本发送按键消息,但是它不支持条件判断,也不支持待测节目的值来执行验证操作。

具体什么时候用monkey测试?  一般去测试其稳定性,健壮性(是否发生闪退啊,程序崩溃啊什么的),这些都是建立在功能都差不多测试完了,没有很多bug的时候,也就是项目要上线之前。

常用的命令:

adb –help或者adb -h 查看帮助手册

adb devices 检测连接的设备的连接情况

adb install xxx.apk 安装测试包

adb uninstall 包名 卸载测试包

adb pull 手机路径 电脑路径 从手机中拉取信息放到本地电脑上

adb push 电脑路径 手机路径 从本地推送信息到手机上 (这个在跑monkey脚本时常用)

adb start-server 当adb出问题了或者启动不起来时,先kill后start下

adb kill-server 配合上面的start-server使用

adb shell 登陆设备的shell(命令行的人机界面),llls 命令都可以用,就是一个linux环境

adb get-state   获取设备状态

会打印出其中一种状态::offline |bootloader | device
adb get-serialno   获取设备序列号
adb root 获取root权限
adb remount 让系统分区可读可写
adb reboot bootloader 重启进fastboot模式
adb reboot recovery 重启进入recovery模式
adb logcat 输出logcat日志数据
adb logcat > c:\logcat.txt  可以将日志重定向输入到一个日志文件中
adb bugreport > c:\bugreport.txt   输出bugreport日志


monkey命令格式

adb shell monkey 参数 次数

-v 指定反馈信息级别 总共3中级别

-v级别1  仅提供启动提示,测试完成和最终结果少量的相关信息

-v –v 级别2 提供较为详细一点点的信息,包括每个发送到activity的事件信息

-v –v –v级别3 最详细的,包括测试中选中/未选中的activity的信息

Eg:adb shell monkey –p 包名 –v 100

adb shell monkey =p com.sina.weibo  -v –v –v  100

如何查找包名

1:adb shell 进入shell 命令行界面

# cd data/data

#ls (真机的话要root后才能进入,手机root后 输入 su进入该目录)

2:如何查看前台运行的包名及应用名

adb shell dumpsys activity | find “mFocusedActivity”

 

查看当前设备app应用包名

adb shell pm list packages [选项] (FILTER)   显示所有软件包,可选择只显示软件包名称中包含(FILTER)的软件包,使用-f 参数:adb  shell pm list packages –f输出包与包相关联的文件

使用aapt查看apk包名和第一个启动的activity    这个方式是app没有安装的时候,在Windows系统文件下面使用的查看方法
使用aapt    //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:\apk\es3.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’ 
注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。(直接使用aapt命令时候,需要将该exe文件路径写入path中)

-p 后面跟包名 ,多个包名就有多个-p

Monkey参数

--pkg—whitelist-file 白名单 后面接txt文件

使用方法:将你设置的白名单的包名写到一个txt文件中,记得路径和文档名字都是英文,然后把这个文件通过adb push 将文件拉到安卓手机上面,放到一个文件下面(一般都放在data/local/tmp)下面。命令如下:

adb push C:\baimingdan.txt data/local/tmp 注意这里的两个反斜杠

adb shell monkey –pkg-whitelist-file/data/local/tmp/baimingdan.txt 1000

 

--blacklist-file 黑名单 和白名单一样的用法,只是反过来txt文件里面写不启动的软件包名

Eg:adb shell monkey –pkg-blacklist-file/data/local/tmp/heimingdan.txt 1000

 

--throttle (毫秒) 用于指定用户操作间的时延,单位是毫秒

adb shell monkey –p 包名 –throttle3000 100

--randomize-throttle 在事件之间插入随机延迟,随机延迟范围为0到设置的时间,单位毫秒

Eg:adb shell monkey –p 包名 –throttle 5000–randomize-throttle 100  执行100测monkey随机事件,每次事件的间隔在0到5000ms之间不固定

-s 用于指定伪随机生成器的seed值,如果seed值相同就可以生成相同的事件

Eg:adb shell monkey –p 包名 –s 101 100          seed值问为101

调整触摸事件百分比: 触摸事件:发生在某一位置的一个down-up事件
    adb shell monkey --pct-touch 百分比
调整动作事件百分比: 动作事件:在某一位置按下(down)后,经过一系列伪随机事件后抬起(up)
    adb shell monkey --pct-motion 百分比
 调整轨迹球事件百分比:轨迹球事件:一系列的随机移动,以及偶尔跟随在移动后面的点击事件
    adb shell monkey --pct-trackball 百分比
调整基本导航事件百分比: 基本导航事件:来自方向设备的上下左右事件
    adb shell monkey --pct-nav 百分比
调整主要导航事件百分比:主要导航事件:引发图形界面的一些动作,比如安卓三大按键
    adb shell monkey --pct-majornav 百分比
调整系统按键事件百分比:系统按键事件:仅供系统使用的保留按键,如HOME,BACK,拨号(start call),挂断(end call),音量键等等
    adb shell monkey --pct-syskeys 百分比
调整应用启动事件百分比: 应用启动事件就是打开应用,通过调用startactivity()方法最大限度启动该package下所有应用
    adb shell monkey --pct-appswitch 百分比
调整其他类型事件百分比其他类型事件:除以上的所有按键
    adb shell monkey --pct-anyevent 百分比


 

如果在测试中发现写错了脚本或者不想继续测试了,想停下来怎么办?

首先查看monkey进程pid号adb shell ps| find “monkey”

然后呢kill掉进程号adb shell kill pid    pid为进程号

 

 

保存日志:

Adb shell monkey –v –v –v 100 > 电脑地址

Eg:adb shell monkey –v –v–v 100 >C:\data.txt



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值