adb简记
ADB
Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb就派上用场啦!
前提条件:开启调试模式
adb 使用的端口号:5037
安装adb:brew cask install android-platform-tools
连接
adb devices , 获取设备列表及设备状态
nox_adb.exe connect 127.0.0.1:6201
adb start-server
adb logcat
adb shell
adb shell getprop ro.build.version.release
adb push C:\Users\win\Desktop\xx.png /sdcard
adb pull /sdcard/xx.png C:\Users\win\Desktop
adb shell dumpsys window windows | grep mFocusedApp’(windows为findstr)
adb install 路径/xxx.apk
adb uninstall app
adb shell am start -W 包名/.启动名
adb get-state , 获取设备的状态
adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
adb shell dumpsys window | grep mCurrentFocus,获取当前程序的activity(把里面的信息复制出来用于下面)
adb shell am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity,启动qq
adb shell monkey -p com.android.settings 1000,压测
adb connect 127.0.0.1:62001出现sucessully
adb shell,输入monkey,exit;
adb shell monkey 5;这就是压力测试;
adb shell monkey -v 5;接日志结果信息,两个-V时间,三个-v安装;5个事件太小没反应一般 几w起步;有这么多请求就是压力。事件数根据业务场景填的或者页面,来确定使用个数是多少。
日志分流输出:正常和异常分别输出。一句命令的事情。
adb shell monkey -p 包名 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-touch 40 -s 11 -v -v -v -p 100
-s:记录上一次操作的事件的复现;
adb shell monkey -s 123 20 表示发送20个事件,有失败不要紧。
想慢一点加时间间隔--throttle 3000(毫秒)adb shell monkey -v --throtle 3000 5。
11种事件参数
--pct-touch 40 5 触摸事件,不设置则为随机;
--pct-motion 上下手滑动事件;
--pct-pinchzoom
--Pct-rotation
--pct-nav
--pct-majornav
--pct-syskeys
--pct-appswitch
--pct-flip
--pct-anyevent
针对某一个指定APP测试
adb shell monkey -p <allowed-package-name><event> count>
<allowesd-package-nuaIne>app的包名
例: adb shell monkey -v -p com.taLl.kaoyan 500
adb shell monkey -p 包名1 -p 包名2 事件数
例: adlb shell monkey -v -p com.al.kaoyan -p con.wanloujia.phoenix2 500
获取包名:aapt dump badging App的存放地址
测试实践
如:测试某app,测试希望通过Monkey来模拟用户的随机操作,检查被测应用是否会出现异常(应用崩溃或者无响应)。
adb shell monkey -p com.tal.linshoutong --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s1666 --throttle 400 --ignore-crashes --ignore-timeouts -v -v 200
手势
%表示手势的事件,
若崩溃了,monkey会停止运行。
--ignore-crashes 崩溃后继续发送事件;
--ignore-timeouts 超时运行;
Monkey本身可以指定一个包来运行,如果是性能测试就本身是针对一个APP来走的。
adb简记的更多相关文章
- 通过adb方式给安卓手机截图的cmd批处理文件
@echo off rem 通过adb方式截图rem 需要安装adb ,一般安装了android sdk 默认带了adb ,路径为sdk目录的android-sdk\platform-toolsr ...
- Android 工具-adb
Android 工具-adb 版权声明:本文为博主原创文章,未经博主允许不得转载. Android 开发中, adb 是开发者经常使用的工具,是 Android 开发者必须掌握的. Android D ...
- RangePartitioner 实现简记
摘要: 1.背景 2.rangeBounds 上边界数组源码走读 3.RangePartitioner的sketch 源码走读 4.determineBounds 源码走读 5.关于RangePart ...
- 安卓虚拟机adb shell sqlite3数据库
adb shell 连接: //http://www.cnblogs.com/xiaobo-Linux/ Android把数据都存放在data/data目录下. 我们使用cd命令转到data/data ...
- adb devices 偵測不到 手機
現象: system 有偵測到 mobile phone, xxx@xxx-ThinkPad-T460p:~/.android$ lsusb Bus Device : ID 1d6b: Linux F ...
- Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
总结一下之前学习Android的一些内容 一: Android常用的ADB命令(adb android调试桥) 1.adb devices 查看模拟器设备并重新连接. 2.adb ki ...
- 四.Android adb命令(持续更新...)
1.安装:甭管从哪里下载下来的apk,放在指定的目录下,不一定非要是sdk的目录下:adb install "d:\hxcjaz.apk"(指定的一个目录)2.卸载:adb uni ...
- linux安装adb
本文只针对centOS6.8,其他版本未测试 1.下载adb包 下载android sdk for linux(http://tools.android-studio.org/index.php/sd ...
- adb工具获取appPackage和appActivity
1,手机连接电脑,打开手机调试功能,并运行待测试APP,终端执行: adb shell 2,接着,执行: dumpsys window windows | grep -E 'mFocusedApp' ...
- 魅族mx4 pro连电脑,adb无法获取devices信息解决
根据 flyme 的文档: K:\MX4 USB Reference Manual\简体\MX4_ADB_参考说明书.txt 操作如下: 二.Windows XP中文环境1. 建立或修改C:\Doc ...
随机推荐
- 基于LSM树的存储机制简述
下午听了关于MyRocks-PASV的研究讲座,很有意思所以学习了一下LSM树的一些简单的底层原理.现在整理一下 我们都知道目前Key:Value型的数据库普遍较之关系型数据库有着更好的表现,为什么会 ...
- 【Datawhale】动手学数据分析
动手学数据分析 第一章:数据载入及初步观察 载入数据 任务一:导入numpy和pandas import numpy as np import pandas as pd 任务二:载入数据 train_ ...
- 树莓派蓝牙rfcomm协议通信
修改配置文件 手机使用 "蓝牙串口" 软件,树莓派上修改文件/etc/systemd/system/dbus-org.bluez.service ExecStart=/usr/li ...
- psutil.AccessDenied: psutil.AccessDenied
解决办法 import psutil for proc in psutil.process_iter(): try: print(proc.name()) except (psutil.NoSuchP ...
- linux配置 python 开发环境sublime text及一些使用心得
前言 一直以来我都使用 sublime text 作为主流开发的 ide ,但其实我开始在我的 linux mint 系统使用 sublime text 配置 python3 的开发环境踩过的坑又何止 ...
- 【Java难点攻克】「NIO和内存映射性能提升系列」彻底透析NIO底层的内存映射机制原理与Direct Memory的关系
NIO与内存映射文件 Java类库中的NIO包相对于IO包来说有一个新功能就是 [内存映射文件],在业务层面的日常开发过程中并不是经常会使用,但是一旦在处理大文件时是比较理想的提高效率的手段,之前已经 ...
- Django查看内部sql语句的方式
一:查看内部sql语句的方式 方式1(queryset对象才能够点击query查看内部的sql语句) res = models.User.objects.values_list('name', 'ag ...
- python 中变量的命名规则与注释
变量命名规则 1.变量名必须是大小写英文字母.数字或下划线 _ 的组合,不能用数字开头,并且对大小写敏感 2.关键字不能用于命名变量,关键字一共有35个,以下为关键字的获取 注释 代码注释提高了代码的 ...
- python中使用pip 安装第三方库报错归类及解决方式
1. 离线安装virtualenv报错,安装命令:python setup.py install 解决方式:升级setuptools 2. 安装第三方库时安装失败,安装命令:pip install ...
- JavaScript:原型(prototype)
面向对象有一个特征是继承,即重用某个已有类的代码,在其基础上建立新的类,而无需重新编写对应的属性和方法,继承之后拿来即用: 在其他的面向对象编程语言比如Java中,通常是指,子类继承父类的属性和方法: ...