monkey测试工具与常用的linux命令

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:不换行   :跳格   :换行(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 软件名称

脑子不够用当然只能脚踏实地的做事情!
原文地址:https://www.cnblogs.com/qtclm/p/8625440.html