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:不换行 \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命令的更多相关文章
- Android自动化测试基础知识——MONKEY测试工具(转的)
本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...
- 初学者常用的LINUX命令
测试初学者常用的LINUX命令 一.常用管理命令:1. shutdown -h now 关机命令2. shutdown -r now (reboot) 立即重启命令 3. clear 清屏命令 4. ...
- java web项目在linux部署、启动,查看系统配置常用的linux命令总结
本文为博主原创,未经允许不得转载: 以下为在工作中常用的linux命令进行了总结,主要在项目安装及启动,及编辑部署文件时应用较多1.gz文件是一种压缩文件. 以·tar.gz为扩展名的是一种压缩文件, ...
- 性能测试常用的linux命令
性能测试常用的linux命令 linux测试nginx64bitredhatlighttpd 查看日志 awk '$4 ~/^\[27\/Nov\/2008:15:2[0-5]/ {print ...
- [原创]Android Monkey测试工具使用介绍
[原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...
- 每天一个linux命令(61):vi命令 /企业常用的linux命令清单
vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是一般模式.编辑模式与指令列命令模式. 这三种模式的作用分别是: 一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式) ...
- 工作中常用的Linux命令:mkdir命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...
- 工作中常用的Linux命令:crontab命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...
- 工作中常用的Linux命令:ipcs/ipcrm命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...
随机推荐
- AngularJS(一):概述
本文也同步发表在我的公众号“我的天空” 在我们之前学习的前端代码编写过程中,总是通过HTML与CSS来进行页面布局,而使用JS来控制页面逻辑,因此,我们习惯于在JS中来操作页面元素,如以下代码,我们希 ...
- If people in the communications only think about gains and losses of interest, then the pleasure of knowing each other will cease to exist.
If people in the communications only think about gains and losses of interest, then the pleasure of ...
- Web Api2中使用Session
要在webApi里面使用Session必须在Global.asax插入 public override void Init() { this.PostAuthenticateRequest += (s ...
- 打印机 Microsoft Print to PDF 所需的驱动程序 Microsoft Print To PDF 未知。登录之前,请与管理员联系,安装驱动程序。
这个问题发生后,我觉得很疑惑,因为服务器上确定没有安装打印机.那么打印机是从哪里来的呢? 通过百度搜索,发现网上的一个帖子解答了我的疑惑.原帖地址:http://blog.chinaunix.net/ ...
- SGU 258 Almost Lucky Numbers 接近幸运数(数位DP)
题意: 定义一个具有2n位的正整数,其前n位之和与后n位之和相等,则为lucky数.给定一个区间,问有多少个正数可以通过修改某一位数从而变成lucky数?注意不能含前导0. 思路: 我的想法是记录那些 ...
- 51nod 1640 天气晴朗的魔法
题目来源: 原创 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 这样阴沉的天气持续下去,我们不免担心起他的健康. 51nod魔法学校近日开展了主题为“天气晴朗 ...
- python爬虫之路——构造URL集
例某网站的URL集是这样的 https://www.555zw.com/book/40/40934/10334793.html https://www.555zw.com/book/40/40934/ ...
- 协议详解3——IP
1. 特点: 所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输. 提供不可靠,无连接服务. 不可靠: 不能保证IP数据报能成功到达目的.IP仅提供最好的传输服务.如果发生某种错误时 ...
- Python:numpy数组转换为json格式
在python中,如何将一个numpy数组转换为json格式? 这是最近遇到的一个问题,做个笔记. 假设arr为numpy数组,将其转换为json格式: 总体思想是①首先转换为python的list, ...
- Android(java)学习笔记137:ListView编写步骤(重点)
1.ListView在我们的手机android编写程序中使用是十分广泛的,比如如下图中 短信 和 手机设置 都是ListView的效果: 手机设置: 短信: 2.正因为这 ...