当前位置: 首页 > news >正文

monkey-安卓稳定性测试

一、adb执行命令

1.monkey随机事件指令:
adb shell monkey -p com.tytu.enter --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v --throttle 300 -s 121212 --pct-syskeys 0 --pct-anyevent 0 --pct-touch 100 --pct-motion 0 100000 2>D:\ty\mk\log.txt\monkeyerror.txt 1>D:\ty\mk\log.txt\monkeyinfo.txt

命令解释说明
-p com.tytu.enter包名
–ignore-crashes忽略崩溃
–ignore-timeouts忽略超时
–ignore-security-exceptions忽略安全异常
-v -v -v详细日志
–throttle 100等待的时间100毫秒
-s 121212种子方便复现bug,建议每个版本不一样(也可以不带上,执行后去monkeyinfo.txt文件中查找种子,再次复现bug的时候再带上种子)
–pct-syskeys 0 --pct-anyevent 0防止按音量键
–pct-touch 30点击事件占比30%
–pct-motion 70移动事件占比70%
10000点击次数10000次
2>D:\ty\mk\monkeyerror.txt将错误(闪退/anr等)输出重定向到,文件地址要存在否则会报文件路径不存在
1>D:\ty\mk\monkeyinfo.txt将标准比如滑动点击等事件输出重定向到,文件地址要存在否则会报文件路径不存在

2.获取某个包的日志命令1:
adb logcat -v time -d | findstr /i “com.tytu.enter” > “D:\ty\mk\log.txt”

命令解释说明
-v time这个选项会在日志中包含时间戳
-d这个选项会让 logcat 在输出当前的日志缓冲区后退出,而不是持续输出
findstr /i “com.tytu.enter”这是 Windows 系统中的命令,用于过滤包含包名的日志行。/i 参数表示忽略大小写
> “D:\ty\mk\log.txt”这部分将输出重定向到指定的文件路径

获取某个包的日志命令2:
adb logcat -v time -d | findstr /i “com.tytu.enter” | findstr /r /c:“^.* 16:[0-5][0-9]:[0-5][0-9]…" /c:"^. 17:[0-5][0-9]:[0-5][0-9]…*” > “D:\ty\mk\log.txt”

命令解释说明
findstr /r /c:“^.* 16:[0-5][0-9]:[0-5][0-9]…" /c:"^. 17:[0-5][0-9]:[0-5][0-9]…*”只导出16和17点的时间的日志

3.以上执行后会有这3个文件
在这里插入图片描述

log.txt在手机里面的log文件夹(data/log目录下)里面导出的,包含各种响应信息。V D I W E F S 分别都有不同的涵义
monkeyerror.txt闪退等信息
monkeyinfo.txtmonkey测试时的具体操作,如点击/滑动等操作事件的详细信息

二、日志分析

monkeyerror.txt文件进行如下搜索,如果能搜到以下几个关键词,可以基本判断测试不通过:

ANR问题(程序无响应)搜索“ANR"(application no response)
闪退问题搜索"crash"
异常搜索exception
强制退出搜索"force closed

把文件直接发给开发,下面的日志可以定位到具体的崩溃的原因
在这里插入图片描述

log.txt文件解释:

V (Verbose)详细信息,通常用于调试。这是最低优先级的日志消息,可以包含大量的详细信息
D (Debug): 调试信息比 verbose 优先级高,通常用于调试程序时的信息输出
I (Info)信息消息,表明一般的、有用的信息,比如应用启动、停止等
W (Warning)警告消息,表明潜在的问题,比如未处理的异常、资源使用不当等
E (Error)错误消息,表明更严重的问题,比如应用崩溃、系统错误等
F (Fatal)致命错误,表明非常严重的问题,可能导致系统或应用完全停止运行
S (Silent)静默消息,表明该消息不应该被输出到日志中

把文件直接发给开发
在这里插入图片描述
不知道如何定位的可以直接把以上三份文件log.txt、monkeyerror.txt、monkeyinfo.txt,全部给到开发

三、adb命令停止了,手机还在执行

adb shell ps |find “monkey”

adb shell kill 进程ID
在这里插入图片描述

四、解决monkey乱点击的问题+回到要测试的活动页

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、报错解决

在这里插入图片描述
开发没有针对活动名称开放权限,可以用启动页activity来启动app:
adb shell am start -n com.tytu.enter/com.ly.home.ui.activity.LaunchActivity
在这里插入图片描述

http://www.lryc.cn/news/482274.html

相关文章:

  • 【贪心算法】贪心算法三
  • LeetCode 40-组合总数Ⅱ
  • STM32WB55RG开发(1)----开发板测试
  • 误删分区数据恢复全攻略
  • 《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
  • 昇思大模型平台打卡体验活动:项目4基于MindSpore实现Roberta模型Prompt Tuning
  • hadoop 3.x 伪分布式搭建
  • springboot 整合mybatis
  • 餐饮门店收银系统源码、php收银系统源码
  • canal1.1.7使用canal-adapter进行mysql同步数据
  • 揭秘文心一言,智能助手新体验
  • 良心无广,这5款才是你电脑上该装的神仙软件,很多人都不知道
  • Scala图书馆创建图书信息
  • 【Python】深入理解Python中的单例模式:用元类、装饰器和模块实现高效的单例设计
  • Flutter 小技巧之 Shader 实现酷炫的粒子动画
  • 【LeetCode】【算法】42. 接雨水
  • 深⼊理解指针(5)[回调函数、qsort相关知识(qsort可用于各种类型变量的排序)】
  • qt QRunnable 与 QThreadPool详解
  • 博客摘录「 java三年工作经验面试题整理《精华》」2023年6月12日
  • 福禄克FLUKE5500A与fluke5520a校准仪的区别功能
  • 量化交易系统开发-实时行情自动化交易-2.技术栈
  • 【逆向爬虫实战】--全方位分析+某某学堂登录(DES加密)
  • 第2关:装载问题 (最优队列法)
  • 萤石设备视频接入平台EasyCVR海康私有化视频平台监控硬盘和普通硬盘有何区别?
  • 【Webpack配置全解析】打造你的专属构建流程️(4)
  • 【SpringMVC】基础入门(1)
  • FFmpeg存放压缩后的音视频数据的结构体:AVPacket简介,结构体,函数
  • 用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门(三)
  • #渗透测试#SRC漏洞挖掘#深入挖掘CSRF漏洞02
  • 基于OpenCV的相机捕捉视频进行人脸检测--米尔NXP i.MX93开发板