文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android测试工具-MONKEY使用

2022-06-06 13:08

关注

使用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=PATH:/Users/xxx/Library/Android/sdk/platform−toolsexportPATH={PATH}:/Users/xxx/Library/Android/sdk/platform-tools export PATH=PATH:/Users/xxx/Library/Android/sdk/platform−toolsexportPATH={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测出来的崩溃,及时更正
在这里插入图片描述


作者:super敏


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯