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

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.kler.cn/a/389676.html

相关文章:

  • const限定符-C语言中指针的“可变与不可变”法则
  • 安全生产管理的重要性:现状、痛点与改进之路
  • Rust 建造者模式
  • Ubuntu20.4系统编译瑞芯微RK3568 SDK
  • PaaS云原生:分布式集群中如何构建自动化压测工具
  • 【C++】详解RAII思想与智能指针
  • Web3 游戏周报(11.03 - 11.09)
  • springboot苍穹外卖实战:十一:复盘总结
  • 除草机器人算法以及技术详解!
  • Debezium日常分享系列之:异步 Debezium 嵌入式引擎
  • 【计算机图形学】3DIT的训练数据总结
  • 问:说说Spring中构造函数注入和Setter注入的区别?
  • Maven 中央仓库地址 mvnrepository.com
  • Maven从浅入深(理解篇)
  • K8S之Prometheus 部署(二十)
  • 《实时流计算系统设计与实现》-Part 1-笔记
  • 算法每日双题精讲——滑动窗口(长度最小的子数组,无重复字符的最长子串)
  • FreeRTOS学习11——时间片任务调度
  • 基于多设计模式下的同步异步日志系统
  • C0028.在Clion中快速生成头文件中声明的函数的方法
  • 「Mac畅玩鸿蒙与硬件29」UI互动应用篇6 - 多选问卷小应用
  • Qt QCustomplot 在采集信号领域的应用
  • 5G NR协议栈分层
  • 2024年【R2移动式压力容器充装】考试试题及R2移动式压力容器充装操作证考试
  • AscendC从入门到精通系列(三)基于自定义算子工程开发AscendC算子
  • FastHTML快速入门:调试模式和 URL中的变量