Android移动端测试——adb、monkey
adb
adb下载
下载完是一个zip格式,解压到某一个目录就可以
配置环境变量
找到存放adb的位置,复制路径
然后到环境变量的位置
右键此电脑-属性-高级系统设置-环境变量
在系统变量中找到Path,然后把刚才复制的路径粘过去,点击确定,保存
然后打开cmd,adb version看看如果出了版本号,就说明装成功了
adb命令
1、连接手机:adb devices
2、进入Android设备:adb shell
当电脑上连接设备不止一台时(只有一台模拟器一台手机),指定设备:adb -e shell / adb -d shell
-e:连接到当前电脑上已经连接的唯一的一台模拟器
-d:连接到当前电脑上已经连接的唯一的一台真机
当电脑上连接设备不止一台时(有多台模拟器多台手机),指定设备:adb -s MYQUT19C06021644 shell
进入到Android系统后,里面的命令就和linux一样了
也可以这样
把adb shell 当成一个管道,把ls传到Android中执行,执行完之后把结果再通过管道给返回来
这两种其实是不一样的,一个在android系统里边,一个在Windows系统里边
3、列出来当前系统里安装了哪些应用:adb shell pm list package
-s:列出系统的包名,adb shell pm list package -s
-3:测试中接触的大多都是第三方的,后来装上去的,直接-3就可以,adb shell pm list package -3
从一堆包名中过滤出我想要的:mac和Linux用grep,Windows里用findstr
或者后面直接跟关键字,也可以过滤出来
4、想给系统里安装软件:adb install 安装包存放路径
安装成功下面会有Success。
如果应用已经存在,再次安装,会报错,显示应用已存在
想让应用直接覆盖,需要-r,adb install -r 安装包存放路径
假设手机安装的apk是高版本,想要安装一个低版本的apk,需要-d -r,adb install -d -r 安装包存放路径
5、卸载手机里的软件:adb uninstall 包名
-k:adb卸载的时候默认删除数据,加了-k后会保存数据,adb uninstall -k 包名
6、文件的上传与下载,电脑上的文件上传到Android,android中的文件下载到本地
上传:adb push 文件名(文件路径) android上的存放路径
下载:adb pull 要下载文件的存放路径 .(最后这个点代表保存到当前目录下)
7、截屏:adb shell screencap -p 文件名(存放路径+文件名)
回车后没有报错就是截屏成功
录屏:adb shell screenrecord 文件名(文件管理器的根目录,存放路径+文件名)
Ctrl+C是停止
8、查看日志:adb logcat(展示从开机以来到现在的所有日志,日志缓冲区的日志全打出来)
日志级别
- I:Information
- D:Debug
- W:warn
- E:Error
清空之前的日志:adb logcat -c
把之前日志清空之后再抓日志就没有输出了,这时再操作,抓出的日志就是当前操作的所有日志了
把logcat的内容保存下来:adb logcat > logcat.log(把日志内容重定向保存到logcat文件里)
过滤日志
只打出警告的日志:adb logcat *:W
如果设置低等级的,那么高等级的日志也会打出来。设置的是warn,那么warn及以上等级的都会被打出来
adb shell 后面是$符号的没有root权限,可能有些命令无法使用,需要root权限(#符号)才可以
查内核日志:adb shell dmesg(linux的内核日志,系统最底层的日志,一般也不看)
9、查看当前设备的电量:adb shell dumpys battery
monkey
monkey:安卓系统自带的,用来测试系统或应用的稳定性。
monkey是安卓系统自带的命令,想查看需要root权限,否则是看不到的
用中括号括起来的一般是可选参数,没括起来的是必选参数
COUNT是次数的意思,至少要告诉monkey想跑多少次测试
1、对系统做测试:adb shell monkey 50(count是可变的)
2、对应用做测试:adb shell -p 指定要测试应用的包名 count(不管前面加多少个参数,count一定是放在最后的,实际应用中一万次起步)
后台会自动调起应用
-v:查看对应的日志(想要看几级日志,就加几个-v,一个一级,两个两级,三个三级…)
保存日志也是重定向就可以
伪随机
用monkey跑应用如果真的出现了bug,测试人员需要复现bug。
monkey里每一次执行都是随机的事件,既然是随机的那要怎么复现?
把日志开到最高级别后,日志里面会有一个seed。如果后面再跑的时候指定了seed,那么两次执行的顺序、节奏、动作将会一样。
指定seed:-s seed
我保存了monkey的seed,然后不指定seed执行一遍,命名为monkey1,再指定seed执行一遍,命名为monkey2。那么monkey和monkey2的seed,应该是相同的,而monkey1是不同的seed
monkey和monkey2的执行顺序也是完全一致的
加延迟:–throttle time(500是毫秒,这个时间是以毫秒为单位的,是指每一次动作之间的延迟)
当应用遇到无响应、延迟、安全异常等,还接着测:–ignore-crashes、–ignore-timeouts、–ignore-security-exceptions
指定事件的百分比
触摸:–pct-touch PERCENT
拖动,滑动:–pct-motion PERCENT
轨迹球(上下左右,方向):–pct-trackball PERCENT
系统的key:–pct-syskeys PERCENT
导航:–pct-nav PERCENT
应用跳转:–pct-appswitch PERCENT
日志报错
可以直接搜关键字给开发(ANR,crash,exception)
Android移动端测试——adb、monkey相关推荐
- 移动端测试——adb命令
adb命令 adb (Android Debug Bridge)是 Android SDK 的一个工具,可以通过它来操作Android 设备,是Android App 客户端测试必备的工具. 具有安装 ...
- 移动端测试=== adb 无线连接手机
无线连接(需要借助 USB 线) 除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接--虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 ...
- 移动端测试===adb shell top命令解释
adb shell top top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序. to ...
- 移动端测试-adb命令
安卓sdk配置 我这里将androidsdk下载解压到了d:\tools.解压完成后,需要 配置一下 添加一个 环境变量 ANDROID_HOME ,设置值为sdk包解压目录,比如 d:\tools\ ...
- Android App压力测试(Monkey和ADB)
压力测试简介 压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分.压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试.通常 ...
- Android 系统(212)---monkey实战–测试步骤、常用参数、常规monkey命令
monkey实战–测试步骤.常用参数.常规monkey命令 [转]monkey实战–测试步骤.常用参数.常规monkey命令 ***(本文转自:https://blog.csdn.net/u01164 ...
- android服务器压力测试,Android压力测试Monkey工具
最近在Android程序测试过程中接触到了自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner其它test t ...
- 1.移动端测试知识笔记(面试必备,测试点,adb命令)
移动端测试: 移动应用,特性(功能) 满足 需求(产品文档,隐性需求) 一.App功能测试: 死活背下来 1.业务逻辑正确性测试: 产品文档,隐性需求- 写成测试用例 2.兼容性测试: 1.系统 ...
- android 获取monkey日志_Android压力测试:monkey压力测试实战
主要分享的主题是 Android App 专项测试, 通过 monkey 进行压力测试. 一.测试步骤 1.安装ADB 2.连接被测手机和电脑 3.打开CMD命令行 4.输入monkey命令 adb ...
最新文章
- java action dao_java中Action层、Service层和Dao层的功能区分
- Nat. Mach. Intel. | IBM RXN: 深度学习在化学反应分类上大放异彩
- 用再生龙Clonezilla 来克隆Linux
- 独角兽公司 Sprinklr 获 1.05 亿美元 F 轮融资,估值 18 亿美元
- python语句x 3 3执行_Python语言中,x=2,y=3,执行x,y=y,x之后,x和y的值分别是什么?...
- /etc/fstab文件分析(第二版)
- python图层合并_Ps算法Python实现:图层混合模式-色相
- editplus来编写SQL
- 论文写作思路_2018年的16个写作思路
- VBA InStr 函数
- 主板开启网络唤醒_网络唤醒bios详细设置图文教程 | 专业网吧维护
- Origin软件绘制柱形图
- 圆弧周长公式_求圆弧长度计算公式
- 辉光管时钟系列<三>时钟芯片DS12C887
- MeteoInfo 生成等值面
- IT 最高,2018 年全国平均年薪!非私企 147,678¥
- Ford-Fulkerson方法
- 矿大计算机 学硕专硕,【20考研】超详细对比,学硕专硕如何选,不懂的学弟学妹快进来看...
- 我家的三个犹太小富豪
- 矩阵分析L1 线性空间基础
热门文章
- windows下安装HTK3.4
- 智慧工厂平台整体结局方案
- FastDFS(提升磁盘IO性能的几个技巧 FastDFS 5.04之IO读事件)
- 6点叫醒全员的腾讯是枕戈待旦,还是如李彦宏说的“新瓶装旧酒”
- Openstack基础架构和各组件的关系
- 一步步实现SDDC-vRNI加速实现安全微分段
- Spring Boot学习总结(26)—— Spring Boot 容器启动详解
- Java设计模式学习总结(11)——结构型模式之装饰器模式
- Java基础学习总结(46)——JAVA注解快速入门
- ajax提示弹出dev,windows git pull或者push代码时弹出安全框解决办法