zoukankan      html  css  js  c++  java
  • 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 软件名称

    脑子不够用当然只能脚踏实地的做事情!
  • 相关阅读:
    Spring.Net + Ibatis.Net + Log4Net 结合搭的一个简单多层开发架子
    驳网上常见的半调子程序员白痴言论
    IT对联大汇总
    ClassBase A = New ClassSon() 全面分析
    C# 反射/映射学习
    C++ 一般类型与变量
    HttpModule是如何工作的(转自大牛)
    SQL Server 中的嵌套事务与@@TranCount(转)
    IT人不要一直做技术(转我也不知道转了几圈了)
    kingcms的双重循环
  • 原文地址:https://www.cnblogs.com/qtclm/p/8625440.html
Copyright © 2011-2022 走看看