Monkey环境:

android SDK and JDK

SDK目录下的platform-tools和tools目录要配置环境变量

查看版本:

ADB 的安装这里就不多说了,输入以下命令有如下提示就证明你环境ok,否则自行网上搜索解决下。

> adb version

查看连接设备:

输入以下命令可以查询已连接的设备与模拟器:

> adb devices

查看appPackage 和 appActivity:

设备运行程序

> adb logcat > \path\log.txt

log.txt中搜索关键字start proc ,关键字后边可以看到启动的进程appPackage 和 appActivity

安装一个apk,执行以下命令:

> adb install <packagename>  #文件名过长、文件名有中文都有可能导致安装失败。

覆盖安装:

> adb install -r /path/demo.apk

直接卸载

> adb uninstall <packagename>

卸载 app 但保留数据和缓存文件:

> adb uninstall -k <packagename>

Monkey事件类型:

-s <seed>        #伪随机数生成器的种子值

--throttle <毫秒数>        #在事件之间插入固定延迟

--pct-touch <百分比>        #调整触摸事件的百分比

--pct-motion <百分比>        #调整动作事件的百分比

--pct-pinchzoom <百分比>        #调整二指缩放事件的百分比

--pct-trackball <百分比>        #调整轨迹事件的百分比

--pct-rotation <百分比>        #调整屏幕旋转事件的百分比

--pct-nav <百分比>        #调整‘基本’导航事件的百分比

--pct-majornav <百分比>        #调整‘主要’导航事件的百分比

--pct-syskeys <百分比>        #调整‘系统’按键事件的百分比

--pct-appswith <百分比>        #调整启动Activity的百分比

--pct-flip <百分比>            #调整键盘事件的百分比

--pct-anyevent <百分比>        #调整其他类型时间的百分比

Monkey约束限制类参数:

-p <包名>            #指定一个包或多个包,每个-p只能用于一个包

-c <类别名>            #指定一个或几个类别,每个-c只能用于一个类别

命令:

PC启动:

> adb shell monkey [options] <count>

Shell端启动:

> adb shell

> monkey [options] <count>

两者区别是,PC端启动运行日志可以保存到PC上,Shell端启动运行日志保存到手机里。

杀手机Monkey进程:

> adb shell ps |grep monkey                #获取packagename的进程ID

> adb shell kill pid

    启动/停止 Server

一般来说,下面两个命令基本不会用到,因为只要设备连接正确,会自动启动 adb server 的,不过大家也需要知道这俩命令:

启动 adb server :

> adb start-server

停止 adb server :

> adb kill-server

列出手机装的所有app的包名:

> adb shell pm list packages

列出系统应用的所有包名:

> adb shell pm list packages -s

列出除了系统应用的第三方应用包名:

> adb shell pm list packages -3

使用 grep 来过滤:

> adb shell pm list packages | grep qq

清除应用数据与缓存

> adb shell pm clear <packagename>

    强制停止应用

> adb shell am force-stop <packagename>

获取logcat日志信息:

> adb logcat

> adb logcat -d > 路径\文件名.txt        #一定时间内的log输出到文件里

获取内存信息:

> adb shell dumpsys meminfo <进程名>

获取CPU消耗信息:

> adb shell top -n 1 |find "进程名"

获取电量信息:

> adb shell dumpsys battery

获取GPU信息:

> adb shell dumpsys gfxinfo <进程名>

查看被测应用的进程ID:

> adb shell ps |grep <packagename>

查看被测应用的用户ID:

> adb shell cat /proc/$pid/status

获取流量信息:

> adb shell cat/proc/uid_stat/<被测应用的uid>/tcp_rcv

重启

> adb reboot

获取序列号

> adb get-serialno

获取 MAC 地址

> adb shell  cat /sys/class/net/wlan0/address

查看设备型号

> adb shell getprop ro.product.model

查看 Android 系统版本

> adb shell getprop ro.build.version.release

    查看屏幕分辨率

> adb shell wm size

    查看屏幕密度

> adb shell wm density

Monkey日志保存到PC中:

> adb shell monkey [option] <count> >d:\monkey.txt

Monkey日志保存到手机:

> adb shell

>monkey [option] <count> > /mnt/sdcard/monkey.txt

Monkey日志标注流与错误流分开保存:

> monkey [option] <count> 1>/sdcard/monkey.txt 2>/sdcard/error.txt

上传脚本和jar包到手机:

> adb push Monkey.jar /data

> adb push monkey /data

> adb shell chmod777 /data/monkey

------------------------------------------------------------------------------------------------

本文参考《腾讯android自动化测试实战》以此向各位大神致敬!

android adb shell and monkey 学习记录的更多相关文章

  1. Android adb shell am 命令学习(1)

    am:activity manager 启动Activity,打开或关闭进程,发送广播等操作 为什么学习: 主要应用部分,后台启动对应的package的Activity adb shell am st ...

  2. Android studio测试软件——Monkey学习及运用

    Android studio测试软件——Monkey学习及运用 在第十五周的个人博客上,王老师安排我们根据最终的团队大作业所用的软件(Android studio)进行软件测试的介绍,而我选择的是基于 ...

  3. Android开发技术周报182学习记录

    Android开发技术周报182学习记录 教程 App安全二三事 记录 为什么要安全 App的移动安全主要包括下面几种: 密钥破解,导致本地加密数据被盗取. 通信密钥破解,导致接口数据被盗取. 伪造接 ...

  4. Android开发技术周报176学习记录

    Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...

  5. Android开发技术周报183学习记录

    Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了 ...

  6. Android adb shell data目录,Permission denied

    Android adb shell进入data目录,Permission denied 权限被拒绝 在shell里面输入su root,去申请root权限,注意:有小部分手机是需要点击授权,再次执行c ...

  7. Android adb shell命令大全

    1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...

  8. android adb shell 命令大全

    1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...

  9. 【安卓手机通用】android adb shell 命令大全

    浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...

随机推荐

  1. (a == 1 && a == 2 && a == 3),何时为true?

    今天浏览一些技术网站,看到这个题目.虽然觉着代码这么写的可能性低之又低,但是却也考验对js了解的程度. 在 JavaScript 中 (a ==1 && a== 2 && ...

  2. 在Sql Server Intergration Service中设置Catalog下所部署所有项目的参数值

    在Sql Server 2012开始,微软给SSIS添加了Project Model这种新的项目类型,与之对应的是在Sql Server数据库引擎中引入了Intergration Services C ...

  3. Spark性能调优之资源分配

    Spark性能调优之资源分配    性能优化王道就是给更多资源!机器更多了,CPU更多了,内存更多了,性能和速度上的提升,是显而易见的.基本上,在一定范围之内,增加资源与性能的提升,是成正比的:写完了 ...

  4. DEDE在图集列表中调出图集的所有图片[首页也适用]

    在include/common.func.php 中添加以下函数代码 代码如下:   // 在图集列表中调出图集的所有图片 function Getimgs($aid, $imgwith = 220, ...

  5. 人人都是CEO

    在这个互联网崛起的时代有些流行说法,比如:人人都是产品经理,人人都是程序员以突显行业繁荣的特点,但从更基本的出发点,难道人人不都是 CEO 么?个人的 CEO. 从这个名字套路出发,我沿着想了下去,作 ...

  6. apache:侧重于http server tomcat:侧重于servlet引擎

    apache:侧重于http server tomcat:侧重于servlet引擎

  7. get最简单直接粗爆git与github教程

    Git是分布式版本控制系统(可以理解为文件管理拓展工具) github一个在线文件托管系统(可以理解为一个在线云盘) 准备工作,在git官网下载git软件件,安装git软件,以windows.为例,下 ...

  8. tomcat 部署war项目

    前提是 jdk环境已配好 把项目war包放到tomcat的webapps目录下 启动tomcat: 这里我把8080端口修改成了80 IP也修改了 如果没修改直接输入localhost:8080/te ...

  9. LinkedList 源码分析(JDK 1.8)

    1.概述 LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构.和 ArrayList 一样,LinkedList 也支持空值和重复值.由于 LinkedList 基 ...

  10. tone()函数的有趣的使用案例

    tong()除了可以驱动蜂鸣器之外,还可以驱动步进电机(测试很好用) 一个引脚上产生一个特定频率的方波(%占空比).持续时间可以设定,否则波形会一直产生直到调用noTone()函数.该引脚可以连接压电 ...