用adb命令给APP做压力测试,有什么不同?

++压力测试++

++app++ 做压力测试目的是模拟用户在使用软件时随意向软件发出指令,例如操作app的点击,滑动,返回等一系列随机事件,来检测app的承受能力

第一步:++手机++ 安装包需要待测的app

第二步:输入adb start-server开启adb服务

第三步:输入adb devices测试手机连接是否正常

第四步:进入安卓系统,获取应用名

adb shell 进入安卓系统 exit退出

进入之后

Pm list packages 获取应用包名

第五步;获取第三方安装包名

Pm list packages -3

第六步:对app进行压力测试

monkey -p APP包名 次数

就是调用monkey命令对安卓APP进行压力测试。

例如:monkey -p com.tencent.mobileqq 100

即对包名为com.tencent.mobileqq的App发送100次随机事件的命令,发送完成后手机会自动运行该App并进行一系列随机操作。

第二种方法,运行需要获取的软件(获取活动栈和包名方法)

Cmd输入命令(运行获取的软件)

adb ++shell++ dumpsys window | findstr mCurrentFocus  

throttle参数:指定事件之间的间隔

adb抓取日志

第一步: 首先使用adb命令将手机与电脑连接

输入命令 adb devices

如下图证明连接成功

第二步: 抓取日志前先清除手机上的旧日志

输入命令 adb logcat -c 

第三步: 开始抓取日志(出现问题的日志)

输入命令 adb logcat -v time > E:\a.txt

同时开始操作出现问题APP的某个功能,方便++记录++日志,在操作完成后开始输入结束命令

结束抓取日志的命令:Ctrl C

命令解释:adb logcat -v time 开始抓取日志

E:\a.txt 存放的位置以及日志的命名  

第四步:结束需要抓取日志的命令(抓取的只是出现bug的部分,正常的部分不需要)

结束当前抓取日志的命令为:Ctrl C   

第五步日志分析:日志文件格式如下图:

各日志字母代表含义 V:明细、 D:调试、I:信息、W:警告 、E:错误、F:严重错误、S:无记载  

定位有问题的日志方法

在文件中找到保存的日志文件,在编辑功能中找到搜索功能按键,在搜索功能中输入关键字:可以根据现象来搜索关键字

  1 例如:打开软件出现崩溃现象,就是严重错误,搜索关键字 fatal

  2 例如:打开软件该出现内容没有显示,就是错误,搜索关键字error

  3 在抓取的日志中基本搜索关键字error,将出现的日志截图即刻

adb命令

adb组成:

1 adb服务器、2 adb客户端、3 adb后台程序,守护程序  

adb命令:

1 打开adb服务 adb start-server

2 关闭adb服务 adb kill-server

3 查询已经连接的设备 adb devices

第一个是手机的序列号

第二个表示状态 device 已经连接

Offine 断开连接

Unauthorization 已经连接成功但是手机不信任此电脑

4 进入安卓系统 adb shell

5 退出安卓系统 exit 

6 获取手机上有多少个应用名(报名)

adb shell pm list packages

进入系统内 pm list packages

7 获取手机上所有第三方安装包名

adb shell pm list packages -3 

8 获取手机上某个应用的activity(中文名:活动栈)

adb shell monkey -p 软件包名 -v -v -v 10 | grep "cmp="

手机连接改为把grep findstr

.activity.SplashActivity 为活动名

第二种方法,运行需要获取的软件

Cmd输入命令

adb shell dumpsys window | findstr mCurrentFocus

9 查看手机日志 adb logcat(退出adb查看)

-c 清除日志

将日志添加到文件中 adb logcat >> a.txt

看看路径,在文件夹中查找就可以看到

10 将电脑上的文件发送到手机上

Adb push 电脑上的文件名位置 手机存放位置

11 将电脑上的文件发送到手机

和10 方法一样

相关推荐
IT龟苓膏3 小时前
并发深度解析】硬核手撕 ForkJoinPool + WorkStealing + CompletableFuture 底层源码与大厂面试演练
面试·职场和发展
林希_Rachel_傻希希3 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
西安邮电大学6 小时前
分治算法详细讲解
java·后端·其他·算法·面试
葡萄皮sandy8 小时前
NestJS + Mongoose 全栈开发面试总结
mongodb·面试
心软小念8 小时前
2026软件测试高频面试题
软件测试·面试·职场和发展
西安邮电大学9 小时前
有关栈的经典算法题
java·后端·其他·算法·面试
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题 第112题】【并发篇】第12题:AQS 中节点的入队时机有哪些?
java·开发语言·面试
西安邮电大学10 小时前
有关数组的经典算法题
java·后端·其他·算法·面试
云计算磊哥@11 小时前
运维开发宝典028-MySQL04数据库热备
数据库·adb·运维开发
触底反弹11 小时前
一文彻底搞懂 JavaScript 栈和队列(建议收藏)
javascript·算法·面试