ADB安装及压力测试

ADB介绍:
Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。
ADB是一个C/S架构的应用程序,由三部分组成:
运行在pc端的adb client:
命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求;
运行在pc端的adb server:
ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上;
运行在设备端的常驻进程adb demon (adbd):
程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务。
 

ADB下载及安装:
下载adb压缩包去解压即可:链接:https://pan.baidu.com/s/1ERrl6t8n4I713_IjXaRVWw 
提取码:u4ig

然后找到adb在SDK里的绝对路径,放入环境变量path中

(备注:如果下载放入到D盘去解压,打开dos窗口那么就要进入到D盘,然后再去执行adb命令,输入adb查看它是否安装成功)

然后输入adb version 查看版本 可以看出是否安装成功,如下就已经成功了。 

启动 adb server 命令:adb start-server
停止 adb server 命令:adb kill-server
查询已连接设备/模拟器:adb devices

这个是成功检测到我们的蓝蝶模拟器的操作系统了。

该命令经常出现以下问题:
offline —— 表示设备未连接成功或无响应;
device —— 设备已连接;
no device —— 没有设备/模拟器连接;
List of devices attached 设备/模拟器未连接到 adb 或无响应

那么接下来我们可以启动adb服务了

启动adb服务命令:adb start-server

停止adb服务命令:adb kill-server

我们接下来可以用adb shell进入操作界面

注意:需要打开我们的蓝蝶模拟器。

当存在多个Android操作系统时,进入任一系统方式:adb –s 设备名称 shell 

获取手机内所有apk对应的包名和路径

adb shell pm list package -f

(注:有些电脑是不需要带 -f  的) 

这些一行一行的就是apk对应的包名和路径

将系统所有当前运行的activity(程序)日志输出到本地目录

adb shell dumpsys activity >D:\APP\Android\namelog.txt

例子:

我们可以在包中找到我们Android自带的计算器程序。

 

接下来我们的对计算器这个程序进行加压,从而进行压力测试。 

Adb shell monkey –p com.android.calculator2 –v –v 500

我们来分析一下这个命令

首先adb shell是调用了adb的shell基础程序然后monkey这个是调用了Android自带的自动化测试工具monkey 。–p是调用某个包名意思。Com.android.calculator2 就是我们计算器的程序名称。

输出我们的一次压力测试的日志记录。

adb shell monkey –p com.android.calculator2 -v -v 500 >D:\APP\Android\jisuanqi.txt

单个设备时安装apk:adb install 本地路径.apk

多个设备时安装apk:adb -s 虚拟设备名称1虚拟设备名称2 install  本地路径.apk

卸载apk软件adb uninstall 软件名

查看卸载结果:cd /data/data

PC上发送文件到安卓模拟器:adb push 本地路径 远程路径

先在模拟器的SD外置卡建一个mydata目录:Adb shell mkdir –p /sdcard/mydata

从安卓模拟器下载文件到电脑:Adb pull 远程路径 本地路径

先在模拟器的SD外置卡写一个文件new1.txt

Monkey的参数和用法

-p <测试的包名列表>

用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果不指定包,monkey将允许系统启动设备中的所有app。

指定一个包:adb shell monkey -p 程序名称 100

指定多个包:adb shell monkey –p 程序名称1 –p 程序名称2 100

示例:adb shell monkey -p com.android.calculator2  -p com.android.calendar 100

-v

用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下所示:

示例:

Level 0 :adb shell monkey -p com.android.calculator2 -v 100

// 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

Level 1 :adb shell monkey -p com.android.calculator2 -v -v 100

// 提供较为详细的日志,包括每个发送到Activity的事件信息

Level 2 :adb shell monkey -p com.android.calculator2 -v -v -v 100

// 最详细的日志,包括了测试中选中/未选中的Activity信息

-s

随机数种子,用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

示例:

测试1:adb shell monkey -p com.android.calculator2 –s 10 100

测试2:adb shell monkey -p com.android.calculator2 –s 10 100

--throttle <毫秒>

在事件之间插入固定延迟。通过这个选项可以减缓Monkey 的执行速度。如果不指定该选项,Monkey 将不会被延迟,事件将尽可能快地被执行完成。

示例:adb shell monkey -p com.android.calculator2 --throttle 1000  -v 100

Monkey 事件

- -pct-touch <percent>

调整触摸事件的百分比 (触摸事件是一个down-up事件,它发生

在屏幕上的某单一位置的一次点击-抬起事件)。

- -pct-motion <percent>

调整动作事件的百分比 (动作事件由屏幕上某处的一个

down事件、一系列的伪随机事件和一个up事件组成,

即一个滑动操作,但是是直线的,不能拐弯。)

- -pct-trackball <percent>

调整轨迹事件的百分比 (轨迹事件由一个或几个随机的移

动组成,有时还伴随有点击,轨迹球现在智能手机上已经很

少用了,就是类似手柄的方向键一样)。

- -pct-nav<percent>

调整“基本”导航事件的百分比  (导航事件由来自方向输入设备

的上/下/左/右组成,现在智能机上基本也少了)。

- -pct-majornav<percent>

调整“主要”导航事件的百分比  (这些导航事件通常引发图形

界面中的动作,如键盘的中间按键、回退按键、菜单按键)

- -pct-syskeys<percent>

调整“系统”按键事件的百分比  ( 这些按键通常被保留,

由系统使用,如Home、Back、Start Call、End Call拨号

及音量控制键)。

- -pct-appswitch<percent>

调整启动Activity的百分比。在随机间隔里,Monkey将

执行一个startActivity()调用,作为最大程度覆盖包中

全部Activity的一种方法。

- -pct-anyevent<percent>

调整其它类型事件的百分比。(它包罗了所有其它类

型的事件,如:按键、其它不常用的设备按钮、等等。)

--pct-pinchzoom<percent>

调整二指缩放事件的百分比。(即智能机上的放大缩小手势操作)

- -pct-flit <percent>

调整键盘事件的百分比。(如点击输入框,键盘弹起

,点击输入框以外区域,键盘收回)

- -pct-rotation <percent>

调整屏幕旋转百分比。(如横屏、竖屏)

Android 7.0 11个事件

0:触摸事件百分比参数--pct-touch

1:滑动事件百分比参数--pct-motion

2:缩放事件百分比参数--pct-pinchzoom

3:轨迹球事件百分比参数--pct-trackball

4:屏幕旋转事件百分比参数- -pct-rotation

5:基本导航事件百分比参数(键盘上的上下左右输出操作) --pct-nav

6:主要导航事件百分比参数--pct-majornav

7:系统事件百分比参数--pct-syskeys
8:Activity启动事件百分比参数--pct-appswitch

9:键盘翻转事件百分比参数--pct-flip

10:其他事件百分比参数--pct-anyevent

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
adb monkey是一种用于进行Android应用程序压力测试的工具。它可以模拟用户的随机操作,如点击、滑动和按键等,以测试应用程序在各种情况下的稳定性和性能。通过使用adb shell monkey命令,可以指定一些选项来控制测试的行为。其中一些常用的选项包括: 1. -p:指定要测试的应用程序的包名。 2. -s:指定随机事件序列的种子数,用于重复相同的操作序列。 3. --pct-touch:指定触摸事件的百分比。 4. --ignore-crashes:忽略应用程序的崩溃。 5. --ignore-timeouts:忽略应用程序的超时。 6. --throttle:指定事件之间的延迟时间。 例如,使用以下命令进行adb monkey压力测试adb shell monkey -p com.example.app --pct-touch 30 --ignore-crashes --ignore-timeouts --throttle 250 -s 10 100 这个命令将对包名为com.example.app的应用程序进行压力测试,其中触摸事件占总事件的30%,忽略崩溃和超时,事件之间的延迟时间为250毫秒,使用种子数10进行两次测试,以确保产生相同的操作序列。 #### 引用[.reference_title] - *1* *2* [ADB Monkey压力/稳定性测试祥解-Android测试](https://blog.csdn.net/Carp712/article/details/128904894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Android压力测试】monkey压力测试(很全、很详细)](https://blog.csdn.net/x00yan00/article/details/50974874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值