Android测试工具-MONKEY使用

使用monkey测试工具前,需先安装adb命令

MAC下ADB安装

下载:https://www.androiddevtools.cn/index.html#sdk-tools
1、下载SDK Tools:
24.4.1版本,Mac OS X,android-sdk_r24.4.macosx.zip,解压
2、下载SDK Platform-Tools:
这是 adb, fastboot 等工具包。把解压出来的 platform-tools 文件夹放在 上一步解压出的根目录下
3、设置环境变量
并把 adb所在的目录添加到系统 PATH 路径里,即可在命令行里直接访问了 adb, fastboot 等工具。
vim ~/.bash_profile,在文件内容的末尾加入以下内容:
export PATH= P A T H : / U s e r s / x x x / L i b r a r y / A n d r o i d / s d k / p l a t f o r m t o o l s e x p o r t P A T H = {PATH}:/Users/xxx/Library/Android/sdk/platform-tools export PATH= {PATH}:/Users/xxx/Library/Android/sdk/tools
这里面的xxx根据自己实际的用户名称进行修改
然后点击 esc ,输入 :wq 回车(保存并退出文本)。
添加完成后输入: source ~/.bash_profile 应用该变更。
4、测试
输入: adb version
在这里插入图片描述
输入:adb devices
在这里插入图片描述
到这里说明android adb命令已经可以正常使用了。

MONKEY测试

1、android手机与电脑进行USB连接,并打开手机,设置-开发者选项-选中USB调试
![]

2、在cmd命令行输入adb devices查看已连接的设备
在这里插入图片描述
3、查看设备日志:adb logcat
在这里插入图片描述
4、查看当前手机上安装的APP,明确需要测试的APP包名
输入:adb logcat | grep START
启动APP,查看日志:
在这里插入图片描述
在打印出的信息可以看到包名为 com.mcsoft.zmjx
5、对APP进行monkey测试
输入: adb shell monkey -p com.mcsoft.zmjx 500
表示对该APP执行500次随机事件
输入: adb shell monkey -p com.mcsoft.zmjx --throttle 300 -v -v -v 1000 1>/Users/macbook/Documents/apptest/log.txt
含义为:adb shell monkey -p +包名 --throttle 300 -v -v -v 1000(点击1000次) 1>log日志的输出路径
输入:adb shell monkey -p com.mcsoft.zmjx --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes -v -v -v 10000 1>/Users/macbook/Documents/apptest/log.txt
其中–ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes 就是为了防止crash 和ANR出现终止暴力测试的
可以看到Android手机上进行monkey随机测试,日志写入log.txt
6、打开log日志,在结尾会发现finished为正常monkey测试完成
在这里插入图片描述
在日志文件中可以搜索ANR Exception和Crash关键字来查找bug

MONKEY常用命令

-p
指定一个包或者多个包
指定一个包:adb shell monkey –p PackageName 100
指定多个包:adb shell monkey –p PackageName1 –p PackageName2 100
不指定包:adb shell monkey 100
-v
反馈日志信息级别详细程序
-v
日志级别 Level0
adb shell monkey -p PackageName –v 100
说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
-v -v
日志级别 Level 1
adb shell monkey -p PackageName –v -v 100
说明 提供较为详细的日志,包括每个发送到Activity的事件信息
–v -v –v
日志级别 Level 2
adb shell monkey -p PackageName –v -v –v 100
说明 最详细的日志,包括了测试中选中/未选中的Activity信息

-s
相同的seed值再次运行monkey,生成相同的时间
adb shell monkey -p PackageName –s 10 100

–throttle
在事件之间插入固定的时间(毫秒)延迟,一般为300毫秒
adb shell monkey -p PackageName –-throttle 5000 100

–ignore-crashes
应用发生crash或者异常的时候不会停止运行,直到事件计数完成为止
adb shell monkey -p PackageName --ignore-crashes 1000
  
–ignore-timeouts
应用发生了ANR(application no responding)错误时,monkey不会停止运行
adb shell monkey –p PackageName --ignore-timeouts 1000
  
–ignore-security-exceptions
应用发生许可错误(如证书许可、网络许可)时,monkey不会停止运行
adb shell monkey -p PackageName --ignore-security-exception 1000
  
–kill-process-after-error
应用发生错误时,monkey不会停止运行
adb shell monkey -p PackageName --kill-process-after-error 1000
  
–monitor-native-crashes
监视并报告应用发生崩溃的本地代码
adb shell monkey -p PackageName --monitor-native-crashes 1000

MONKEY日志分析

1、在log.txt中查找异常日志:
程序无响应的问题: 在日志中搜索 “ANR”
崩溃问题:在日志中搜索 “Exception” (如果出现空指针, NullPointerException) 肯定是有bug
monkey日志分析解读参考:https://blog.csdn.net/qq_32639315/article/details/80876587
2、如果集成bugly等质量跟踪平台,在后台看Monkey测出来的崩溃,及时更正
在这里插入图片描述

发布了5 篇原创文章 · 获赞 0 · 访问量 505

猜你喜欢

转载自blog.csdn.net/u014340331/article/details/104554761