Monkey测试工具

说明:monkey是一个安卓自带的命令行工具,可以模拟用户向应用发起一定的伪随机事件。主要用于对app进行稳定性测试与压力测试。

实现:首先需要安装一个ADB工具,安装完之后,需要配置好相应的环境变量,为了避免报错,有时候也需要配置JDK的环境变量。之后直接使用ADB  devices 命令可以显示出在当前操作环境上的安卓设备(可以是模拟器,也可以是真机,如果没有显示出来设备,请打开USB调试)。

注意事项:1. 真机调试时,需安装对应设备的驱动程序;2.如果设备状态为offline,则表示adb版本过低,需更新adb工具至最新版本;3。真机使用adb shell命令操作文件时需获取root权限

之后就直接使用命令来运行该命令了,如果当前环境下只有一台设备,则无需指定的端口号就可以直接运行,如果有多台设备,就需要指定设备的端口号。

命令: adb shell monkey –p(指定包名) –v(指定测试次数,后面跟测试次数)   –v(生成操作日志,详细日志,可以再加参数-v)>指定日志生成路径

设备状态:

device:设备正常连接  offline:连接出现异常,设备无响应 unknown:没有连接设备

常用的adb命令:

adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用

adb logcat , 打印 Android 的系统日志

adb bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

adb install , 安装应用,覆盖安装是使用 -r 选项

adb uninstall , 卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名

adb pull , 将 Android 设备上的文件或者文件夹复制到本地,如需对文件重命名,后面可直接加文件名称

adb push , 推送本地文件至 Android 设备

adb root , adb remount, 只针对类似小米开发版的手机有用,可以直接已这两个命令获取 root 权限,并挂载系统文件系统为可读写状态

adb reboot , 重启 Android 设备

bootloader , 重启设备,进入 fastboot 模式,同 adb reboot-bootloader 命令
recovery , 重启设备,进入
recovery 模式,经常刷机的同学比较熟悉这个模式

adb forward , 将 宿主机上的某个端口重定向到设备的某个端口

adb connect 远程连接 Android 设备

为什么要区分adb命令与adbshell命令:

adb 命令是 adb 这个程序自带的一些命令,而
adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了
Android 设备的 system/bin 目录下

ADB shell命令:

可以进入安卓内核,由于安卓是基于linux开发的操作系统,所以在该模式下,可以使用绝大部分的linux命令,真机需要获取root权限。

Pm:获取android设备上的应用信息

pm list package 列出安装在设备上的应用

adb shell pm list package: 不带任何选项:列出所有的应用的包名

adb shell pm list package -s :-s:列出系统应用

adb shell pm list package -3:-3:列出第三方应用
adb shell pm list package –f:-f:列出应用包名及对应的apk名及存放位置

pm install ,

安装应用目标 apk 存放于 PC 端,请用 adb install 安装
目标 apk 存放于 Android 设备上,请用 pm install 安装

如果电脑上有多个设备:使用adb -s指定设备

使用adb install命令出现:Failure [INSTALL_FAILED_ALREADY_EXISTS],请使用参数-r覆盖安装

pm uninstall , 卸载应用,同 adb
uninstall , 后面跟的参数都是应用的包名

pm clear , 清除应用数据

pm
set-install-location , pm get-install-location , 设置应用安装位置,获取应用安装位置

am:安卓调用的一个命令库

am start , 启动一个 Activity 例如:启动相机:adb
shell am start -n com.android.camera/.Camera(命令后指定包名)

先停止目标应用,再启动:adb shell am start -S com.android.camera/.Camera

等待应用完成启动:adb shell am start -W com.android.camera/.Camera

启动默认浏览器打开一个网页:adb shell am start -a android.intent.action.VIEW -d
http://testerhome.com

启动拨号器拨打 10086:adb shell am start -a android.intent.action.CALL -d tel:10086

am instrument , 启动一个
instrumentation , 单元测试或者 Robotium 会用到

am monitor , 监控 crash 与 ANR

am force-stop , 后跟包名,结束应用

am
startservice , 启动一个服务

am broadcast
, 发送一个广播

input:这个命令可以向 Android 设备发送按键事件

发送text(不能发中文):adb shell input text test123456

input keyevent , 发送按键事件

input tap , 对屏幕发送一个触摸事件

input swipe , 滑动事件

adb shell input swipe 900 500 100 500:从右往左滑动屏幕

模拟长按事件    :adb shell
input swipe 500 500 501 501 2000

截图命令:adb shell screencap -p /sdcard/screen.png

录制命令:adb shell screenrecord sdcard/record.mp4

Getprop:查看 Android 设备的参数信息

获取设备的 sdk 版本:adb shell getprop ro.build.version.sdk

常用的linux命令:

开启ftp服务:service vsftpd
start

开启ssh服务:service sshd start

普通用户切换到超级用户:su root

logout:(注销)

uname -a:查看系统命令

echo $var-name:查看环境变量取值

unset vat-name:删除某个环境变量(该命令只是从当前用户进程中删除,不会从文件/etc/profile删除)

rz:将windows文件上传至linux 协议为ssh 端口号:22

shutdown -r now(立即关机并重启)

ifconfig:(查看Ip地址)

网络重启:(service network restart)

关闭网络:service network stop

开启网络:service
network start

图形界面到文本界面:shirt+ctrl+alt+f4

文本切换到图形:alt+f7

reboot:重启

clear:清屏

ping:检测网络的通断

查看系统进程:top

查看cpu、内存占用 :ps -aux

查看端口:netstat
-a  -u -t

ls
-al (查看 目录下所有文件的详细信息)

cd(切换目录):

cd ..(返回上一层目录)

cd .(跳转至当前目录)

cd -(返回上次目录)

pwd(查看当前目录)

用户和组:

whoami(查看当前登录用户)

useradd(新建用户)

usermod(修改用户属性):

-u(修改用户Id)、 -l(修改用户名)、 -c(修改用户备注)、  -g(修改用户所属群组)

cat /etc/passwd  (查看用户)

groupadd(新建群组)

groupmod(修改群组属性) :

-g(修改群组Id)、 -n(修改群组名称)

cat /etc/group(查看群组)

文件和文件夹:

vi (文本编辑器:可创建文本文件并编辑) aaa bbb:可同时打开多个文件 n:切换到下一个文件 N:切换到上一个文件

vi下的三个模式:使用vi命令后默认进入vi的命令(command mode)模式:这个模式可以使用文本复制与删除命令以及预览文件 nyy:复制n行 p粘贴 ndd:删除n行

按i(insert mode)进入vi的可写入模式、此时可以对文本进行编辑且只能按esc键退出该模式切换到命令模式下,其他的按键均视为输入的内容

在命令模式下可按“:”进入vi的底线命令模式(last line mode) 在这个命令下可以保存文件“:q”

强制退出:q! 、保存并退出:wq
、 查找内容:("/xx":从头到尾查找,n查找下一个,N返回上一个

“?xx”:从尾到头查找,n查找下一个,N返回上一个)
替换内容:s/p1/p2/g:将光标所在行的“p1”替换为“p2” 、g/p1/s//p2/g:将文件中的所有“p1”替换为"p2"

touch(创建空白文件) aaa
bbb:可同时创建多个文件

rm(删除文件)  rm
-rf (强制删除文件与文件夹)

mkdir(创建文件夹) -p:创建并递归目录
如:mkdir -p kkk/jjj

rmdir(删除文件夹)

mv(重命名、剪贴)

cp(复制): -r 对目录进行复制  -a复制源文件的所有属性

find(查找):
find -name(按文件名进行查找)可指定路径进行查询 如: find -name /root
 a.txt

find-size(按文件大小进行查找) 也可指定路径查询  如: find -size /root 2k

grep(字符串查找):\>
\<( 精确匹配)

-n(显示文件代码行) -i(不区分大小写)

通配符:

.表示1个或多个任意字符,可以为空格

* 表示0个或多个字符(通常配合文件名使用)

file(用来识别文件类型)
file  文件名 -b 不输出文件名称

echo(查看文件行变量取值或者把字符串输入到文件中):

\c:不换行  \t:跳格   \n:换行(linux中,必须-e选项来使转义符生效)

sort(排序命令):讲文件中的字符顺序排列起来,但不会影响源文件的内容

wc(统计命令):

-c(统计字符数) -m(统计字符数)

-l(统计行数)   -w(统计字数)

exec(可执行操作):将前面命令的输出作为后面命令的操作对象 格式:-exec 命令 {}\;

cat(查看命令): -n:对所有输出进行编号  -b:与-n相似,但不显示空白行

more(分页显示文件内容) 按空格:显示下一页内容 回车键:显示下一行内容

b:显示上一页内容

head:输出文件的前几行数据
head -n 文件名

tail:输出文件的最后几行数据
tail -n 文件名 -f动态查询

chmod(修改文件权限)
 rwx——r为读取权限  w为写入权限
 x为可执行权限

chgrp(修改文件所属群组)
chgrp 组名  文件名

chown(修改文件拥有者)
chown  用户名 文件名

ln(为一个文件在另一个位置建立一个同步的链接:默认创建硬链接  -s创建软连接)  l:符号链接文件

格式 :ln file1  file2(file2是file1的链接文件)

硬链接:删除源文件后链接文件依旧可以使用

软链接:相当于windows中的快捷方式 删除源文件后链接文件不能使用

gzip:压缩文件命令,不能压缩文件目录,不会保存源文件

-r*压缩当前目录下所有文件

-g 解压压缩包中的文件

gunzip:从压缩包中提取某个文件

tar:文件打包命令

-xvf:文件解包

-cvf:文件打包

-zxvf:解包并解压缩

-zcvf:打包并压缩

手动配置ip地址:

1、在命令行下运行setup

2、vi
/etc/sysconfig/network-scripts/ifcfg-eth0

ssh:用于远程连接电脑 工具:secureCRT,putty 端口号:22

file:识别文件类型

alias:给命令取别名 语法:
alias rm="rm -i"

export:设置环境变量

source:加载环境变量

kill -9:结束进程

diff:比较两个文件的不同

fdisk -l:列出所有分区

df -h:查看磁盘使用情况

du -h:查看指定文件的存储信息

mount:将分区挂载至设备 语法:mount
分区路径 挂载路径(/mnt/cdrom)

umount:卸载挂载设备 语法:
umount 路径(/mnt/cdrom)

程序安装命令:

分为三种:-tar、-rpm、-dpkg

-tar安装:通用安装格式

1、解包文件2、执行./comfigure准备编译

3、make命令进行编译4、make install安装应用

5、make clean 删除安装时的临时文件6、make uninsatall 卸载应用

-rpm安装:是reahat
linux提供的一种封装格式

1、查询已安装的rpm包:rpm -q 软件名称

2、安装 rpm -ivh 软件名称

3、卸载rpm -e 软件名称(无需后缀)

4、升级rpm rpm -uvh 软件名称

monkey测试工具与常用的linux命令的更多相关文章

  1. Android自动化测试基础知识——MONKEY测试工具(转的)

    本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...

  2. 初学者常用的LINUX命令

    测试初学者常用的LINUX命令 一.常用管理命令:1. shutdown -h now 关机命令2. shutdown -r now (reboot) 立即重启命令 3. clear 清屏命令 4. ...

  3. java web项目在linux部署、启动,查看系统配置常用的linux命令总结

    本文为博主原创,未经允许不得转载: 以下为在工作中常用的linux命令进行了总结,主要在项目安装及启动,及编辑部署文件时应用较多1.gz文件是一种压缩文件. 以·tar.gz为扩展名的是一种压缩文件, ...

  4. 性能测试常用的linux命令

    性能测试常用的linux命令 linux测试nginx64bitredhatlighttpd 查看日志    awk '$4 ~/^\[27\/Nov\/2008:15:2[0-5]/ {print ...

  5. [原创]Android Monkey测试工具使用介绍

    [原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...

  6. 每天一个linux命令(61):vi命令 /企业常用的linux命令清单

    vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是一般模式.编辑模式与指令列命令模式. 这三种模式的作用分别是: 一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式) ...

  7. 工作中常用的Linux命令:mkdir命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...

  8. 工作中常用的Linux命令:crontab命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...

  9. 工作中常用的Linux命令:ipcs/ipcrm命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...

随机推荐

  1. To run dex in process, the Gradle daemon needs a larger heap

    http://blog.csdn.net/u012995856/article/details/52595653

  2. PHP判断两个矩形是否相交

    <?php $s = is_rect_intersect(1,2,1,2,4,5,0,3); var_dump($s); /* 如果两个矩形相交,那么矩形A B的中心点和矩形的边长是有一定关系的 ...

  3. 2012-2013 ACM-ICPC, NEERC, Central Subregional Contest H Milestones1 (暴力)

    预处理+暴力,每个颜色都是独立的,求个前缀和,减一减判断一个在区间内颜色是否存在. 算了算复杂度好像有点勉强,但是还是过了,学了主席树以后用主席树在做一下 #include<bits/stdc+ ...

  4. codeforce Gym 100500C ICPC Giveaways(水)

    读懂题意就是水题,按照出现次数对下标排一下序,暴力.. #include<cstdio> #include<algorithm> #include<cstring> ...

  5. FMDB浅析(思想)

    http://www.cnblogs.com/OTgiraffe/p/5931800.html 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQLite的API进行了封装,加上了面向 ...

  6. [学习总结] python语言学习总结 (一)

    还是不多说话了.. 1.eval函数 用法:eval(expression, globals=None, locals=None) 解释:将字符串str当成有效的表达式来求值并返回计算结果. 就是可以 ...

  7. fence_vmware_soap UnicodeEncodeError

    执行如下命令 fence_vmware_soap -z -l administrator@vsphere.local -p 2wsx@QAZ -a 10.0.2.200 -o list --ssl-i ...

  8. Node.js 中文学习资料和教程导航

    这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程 ...

  9. STL之stack操作

    c++ stl栈stack介绍 C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构. c++ stl栈stack的头文件 ...

  10. 【思维题 单调栈】loj#2430. 「POI2014」沙拉餐厅 Salad Bar

    t老师的做法好神…… 题目描述 桌面上有 n 个水果,分别是苹果和橘子.Bytea需要从水果中选择连续的一个区间,并从左到右或从右到左拿水果,且过程中橘子的数量必须始终不小于苹果的数量.求最长的区间大 ...