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 ...
随机推荐
- Spring02:注解IOC、DBUtils单表CRUD、与Junit整合
今日内容:基于注解的IOC及IOC的案例 Spring中IOC的常用注解 案例-使用xml方式和注解方式实现单表的CRUD操作 持久层技术选型:DBUtils 改造基于注解的IOC案例,使用纯注解的方 ...
- java 如何正确使用接口返回对象Result
1. Result的使用 Result的使用,是java项目中开发接口的必备,它经常被我们用作接口的返回对象,方便前端或者其他程序的远程调用后处理业务.它一般包括以下几个属性: code:一般根据系统 ...
- Python全栈工程师之从网页搭建入门到Flask全栈项目实战(4) - Flask模板语法与继承
1.Flask模板介绍 前置:理解渲染机制即上篇笔记中render_template()功能是如何实现的! 1)找到html文件地址 2)读取html文件中的内容 3)替换html中的特殊字符 4)将 ...
- 基于EasyCode定制Mybatisplus全自动单表实现:新增/批量新增/修改/批量删除/分页查询/ID查询
基于EasyCode定制Mybatisplus全自动单表实现CRUD接口 分页查询 ID查询 新增 批量新增 修改 批量删除 注意使用了MybatisPlus的自动填充功能,和insertBatchS ...
- HDOJFatmouse肥鼠交易//c++控制保留小数
贪心算法.我就不贴题了//no.1009 但是我的代码运行超时了-改了好久都不对- 看别人代码,顺便学习c++控制保留小数怎么操作; 我的错误代码:(时间占用可能是多次调用findmax造成的) #i ...
- 安装aio-pika报错
报错内容: WARNING: You are using pip version 21.1.2; however, version 21.3.1 is available. You should co ...
- 七个步骤覆盖 API 接口测试
接口测试作为最常用的集成测试方法的一部分,通过直接调用被测试的接口来确定系统在功能性.可靠性.安全性和性能方面是否能达到预期,有些情况是功能测试无法覆盖的,所以接口测试是非常必要的.首先需要对接口测试 ...
- 组件封装----useImperativeHandle和ref
useImperativeHandle(ref, createHandle, [deps]) 作用: 减少暴露给父组件获取的DOM元素属性, 只暴露给父组件需要用到的DOM方法 参数1: 父组件传递的 ...
- MVP、原型、概念验证,傻傻分不清楚?
MVP.原型以及概念验证这三者的概念虽然没有密切的联系,但也有不少人会分不清这三者的区别,在这篇文章中,我们会帮大家区分一下这三个概念.首先是MVP,MVP是Minimum Viable Produc ...
- WireShark抓包入门教学
wireshark抓包新手使用教程 Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息.常用于开发测试过程各种问题定位.本文主要内容包括: 1.Wiresha ...