美文网首页
adb结合模拟器随机性压力测试

adb结合模拟器随机性压力测试

作者: 悠悠然123 | 来源:发表于2021-06-12 11:56 被阅读0次

本文将从一下几点入手
目录:
1.adb是什么、monkey是什么
2.环境搭建
3.adb常见命令
4.adb随机性压力测试 *

一、adb简介
adb(Android Debug Bridge)连接安卓手机和PC端的桥梁。
Monkey是Android中的一个命令行工具,可以运行在模拟器或实际设备中。它向系统发送伪随机的用户事件流(如按键、触摸屏等),实现对正在开发的应用程序进行压力测试。等产品稳定没有太多Bug了,一般会用monkey测试系统的稳定性、健壮性(是否发生闪退、崩溃)。
二、环境搭建

  1. 1)adb下载地址 https://dl.google.com/android/repository/platform-tools-latest-windows.zip
    2)解压安装到目标地址,配置环境变量
    编辑path变量,变量值为D:\soft\platform-tools
    安装后打开cmd命令行模式,输入adb ,返回adb版本号即安装成功
    2.下载夜神模拟器/连接手机
    打开开发者模式(版本号连续点击5次)打开usb
    连接手机.png

三、adb常见命令
adb decices 检查连接电脑端的设备或模拟器(必须是同一网络下)
adb connect 连接设备
adb intall xxx.apk 安装软件,也可以直接拖到cmd的窗口获取
adb pull <手机路径> <本机路径> 从手机拉取信息到本地
adb push <本机路径> <手机路径> 从本地推送信息到手机
adb shell 进入设备
adb logcat 打印日志
adb pull /data/system/dropbox D:\logs\test
四、monkey常用命令
*monkey 命令格式:adb shell monkey {+ 命令参数} 次数
· -p 指定一个或多个包(package,即app的名字)
adb shell monkey -p 包名 100 ,其中100是事件次数
adb shell pm list packages 查询所有包名
adb shell dumpsys activity | find "mFocusedActivity" 查看当前应用的包名
· -s 用于指定伪随机数生成器的seed值,如果seed相同,则两次monkey测试所产生的事件序列也是相同的,可用于问题复现。
adb shell monkey -p 包名 -s 100 1000
· -v 用于反馈日志信息级别,共3个等级,-v -v -v最详细
adb shell monkey -v -v -v 1000
· --throttle <毫秒> 用于指定用户操作(即事件)间的时延

五、随机压力测试及问题定位
命令行执行以下命令
adb shell monkey -p com.hwapp -v -v -v -s 200 --throttle 500 --ignore-timeouts --ignore-crashes 1000 > D:\hwapp.txt
adb shell /data/system/dropbox D:\logs\hwapp

在monkey日志和logcat日志中查看(每次做新的测试之前把历史logcat清空:adb logcat -c)

一般测试结果分析-搜索关键字
1.程序无响应,ANR问题:日志中搜索“ANR”
2.崩溃问题:在日志中搜索“CRASH”
3.其他问题:在日志中搜索“Exception”
把错误代码发送给开发

注: Android DropBox 是 Android 用来持续化存储系统数据的一个管理类,主要用于记录 Android 运行过程中, 内核, 系统进程, 用户进程等出现严重问题时的 log, 可以认为这是一个可持续存储的系统级别的 logcat。
在执行压测时不想继续,ctrl+c > adb shell > ps(查看进程号PID) > kill 进程号

相关文章

网友评论

      本文标题:adb结合模拟器随机性压力测试

      本文链接:https://www.haomeiwen.com/subject/lvxveltx.html