Android Monkey测试:用黑白名单精准控制应用稳定性测试
创作时间:
2025-01-21 19:06:18
作者:
@小白创作中心
Android Monkey测试:用黑白名单精准控制应用稳定性测试
0、介绍
在Android应用测试中,Monkey工具是一种自动化测试工具,可以生成伪随机用户事件(如触摸屏输入、手势、按钮点击等),以测试应用程序的稳定性。为了更好地控制测试范围并避免对某些应用或组件进行测试,Monkey工具提供了黑白名单机制。
黑白名单的作用
- 白名单(Whitelist):指定只测试白名单中的应用程序。这意味着Monkey只会向这些应用发送事件。
- 黑名单(Blacklist):指定不测试黑名单中的应用程序。这意味着Monkey不会向这些应用发送事件。
创建黑白名单文件
黑白名单文件是简单的文本文件,每行包含一个应用程序的包名,可以使用注释(以#开头的行)。
1、命令说明:
2、运行命令:
a、push到手机
b、运行命令
3、黑白名单文件范本(blacklist.txt):
4、注意事项
- 确保黑白名单文件中的包名是正确且完整的应用程序包名。
- 测试前确保设备解锁并且目标应用已经安装。
- 使用详细模式(-v、-v -v)可以帮助你更好地理解Monkey工具的行为和生成的事件。
- 通过详细的黑白名单配置和使用,可以更有效地控制Monkey测试的范围和目标,避免对不需要测试的应用产生影响,提高测试的针对性和效率。
5、附Monkey参数说明
Monkey工具在进行自动化测试时可以接受多种参数来控制其行为。以下是一些常用的参数及其详细说明,包括黑白名单的具体用法。
5.1、基本命令结构
adb shell monkey [options] <event-count>
- [options]:Monkey工具的各种选项和参数。
:Monkey工具将生成的事件总数。
5.2、常用参数及其说明
-p
- 仅向指定的应用程序包发送事件。可以多次使用该选项来测试多个应用程序。
adb shell monkey -p com.example.myapp -p com.example.anotherapp -v 500
--pkg-whitelist-file
- 指定一个包含包名的白名单文件。只有在白名单中的应用程序才会接收事件。
adb shell monkey --pkg-whitelist-file /sdcard/whitelist.txt -v 500
--pkg-blacklist-file
- 指定一个包含包名的黑名单文件。黑名单中的应用程序不会接收事件。
adb shell monkey --pkg-blacklist-file /sdcard/blacklist.txt -v 500
-v
- 指定详细级别。可以使用一次或多次来增加详细级别。共有三个级别:
- -v:提供最少的详细信息。
- -v -v:提供更多的详细信息。
- -v -v -v:提供最多的详细信息,包括每个事件的详细日志。
adb shell monkey -v 1000
--throttle
- 在每个事件之间插入固定的延迟时间(以毫秒为单位)。
adb shell monkey --throttle 500 -v 1000
-s
- 指定一个种子值,用于初始化随机数生成器。使用相同的种子可以复现测试。
adb shell monkey -s 12345 -v 1000
--ignore-crashes
- 忽略应用程序崩溃,不中止测试。
adb shell monkey --ignore-crashes -v 1000
--ignore-timeouts
- 忽略应用程序无响应(ANR)错误,不中止测试。
adb shell monkey --ignore-timeouts -v 1000
--ignore-security-exceptions
- 忽略权限错误,不中止测试。
adb shell monkey --ignore-security-exceptions -v 1000
--monitor-native-crashes
- 监控并报告本地代码崩溃(如C/C++崩溃)。
adb shell monkey --monitor-native-crashes -v 1000
--kill-process-after-error
- 在应用崩溃或出错后杀死应用进程。
adb shell monkey --kill-process-after-error -v 1000
--hprof
- 在每次发生异常时生成堆栈快照(hprof 文件)。
adb shell monkey --hprof -v 1000
--pct-touch
- 指定触摸事件的百分比。默认值为 15%。
adb shell monkey --pct-touch 20 -v 1000
--pct-motion
- 指定滑动事件的百分比。默认值为 10%。
adb shell monkey --pct-motion 20 -v 1000
--pct-trackball
- 指定轨迹球事件的百分比。默认值为 15%。
adb shell monkey --pct-trackball 5 -v 1000
--pct-syskeys
- 指定系统按键事件的百分比。默认值为 2%。
adb shell monkey --pct-syskeys 5 -v 1000
--pct-nav
- 指定导航事件的百分比。默认值为 25%。
adb shell monkey --pct-nav 10 -v 1000
--pct-majornav
- 指定主要导航事件的百分比。默认值为 15%。
adb shell monkey --pct-majornav 20 -v 1000
--pct-appswitch
- 指定应用程序切换事件的百分比。默认值为 2%。
adb shell monkey --pct-appswitch 5 -v 1000
--pct-anyevent
- 指定其他事件的百分比。默认值为 1%。
adb shell monkey --pct-anyevent 10 -v 1000
5.3、示例:结合多种参数运行Monkey测试
假设我们希望测试一个指定的应用包名 com.example.myapp,生成2000个事件,每个事件之间有500毫秒的延迟,同时忽略应用崩溃和无响应错误,并且详细日志信息设置为最高级别:
adb shell monkey -p com.example.myapp --throttle 500 --ignore-crashes --ignore-timeouts -v -v -v 2000
6、结论
通过合理配置Monkey工具的各种参数,可以更好地模拟用户操作,覆盖更多的测试场景,并且能够在特定的条件下(如应用崩溃、无响应等)继续测试,提高测试效率和应用稳定性。黑白名单的使用则进一步增强了测试的针对性和控制力。
本文原文来自掘金
热门推荐
为什么现代女性不再向贤妻良母看齐
揭秘猫咪哈气的真相:是打架信号还是情绪表达?
美国《大西洋月刊》:养宠物对人的健康有好处吗?
技术赋能 "数字化共享+个性化生产"助力非遗文化传承
北斗七星:夜空中最亮的指引
八字命理中火与木的组合是否吉利
全球经济如何增强复苏动力
解决Win7系统出现的IP地址冲突问题的三种方法
环球时报研究院发布2024年全球民意调查:从全球治理到经贸合作,世界这样看中国
恋爱模拟游戏推荐哪个 下载量高的恋爱模拟游戏精选
十年大运指的虚岁还是周岁,紫微斗数是周岁还是虚岁
宠物对人身心健康的影响,提高幸福感、减轻压力
“四九城儿”由来:老北京四重城格局的历史变迁
四九城:北京皇城与内城城门的历史变迁
ATX 3.0电源规范:次世代显卡的功耗升级
当古诗词被AI还原,美得不可思议!
山东小吃推荐:品味地道山东味
如何选择适合自己的电脑:性能、品牌与预算的全方位考虑
《五福临门》:5.8分背后,真的被低估了吗?
四川绵阳圣水寺游玩攻略:千年古刹的历史与文化
杜兰特达成3万分成就,但这事为什么没啥关注度
动画电影《小倩》颠覆传统,打造现代女性独立形象
智购科技自动售货机运营:如何精准选品?
插电混动车和增程电动车有哪些优缺点?应该如何选择?一文说清楚
越南榴莲出口:2024-2033
年轻人涌向县城,小城旅游怎么“火下去”?
逻辑思维:让你的表达更有说服力,信息更易理解
大S遗产分配太复杂,汪小菲或将凭借子女分得2/3,豪宅难拿回
20本500万字长篇精品小说,含玄幻、仙侠、都市、历史等不同类别
C/C++结构体内存对齐详解:面试必考知识点