zoukankan      html  css  js  c++  java
  • Monkey用真机做测试的步骤

    1 必备条件

    1) 手机需要先获取root权限;

    2) 手机和电脑相连(电脑可以访问手机里面的文件)

    2  操作步骤

    1) 使用adb devices 命令查看电脑手机是否相连;

    下图表示手机已连上电脑

     

    2) 使用adb shell 进入测试机中

     

     3) 一般安卓手机的程序包都在data/data目录中的,我们需要进入data/data目录中,输入命令cd data/data,就进入到data/data目录中,ls看当前目录的内容

    出现Permission denied,没有权限访问当前目录(原因可能有两个,第一:手机没有成功获取root权限;第二:不是管理员登录)

    这边确认手机已经获取root权限,原因为第二种

    4) Su命令切换到管理员权限

    此时使用ls就可以成功查看里面的包名了

     

    但是发现我想要测试的安装包并不在这个目录里面

    5) 使用命令查看所有的包名 pm list package –f

    找到自己想测试的包,或者找开发问包名都可以

     

    6) 这里测试的是花生WiFi,包名为(com.nfyg.hsbb)

    7) 基本参数

    1、-p <apackage.name>
    作用:指定包名,Monkey将只访问这些包中的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。
    注:常用参数
    例:adb shell monkey -p com.Android.browser -v 10

    2、–v 表示反馈日志信息级别:Monkey中日志分别有三种级别:精简(默认)、普通、详细,上面运行的结果就是默认的精简。

        语法格式是用 “-v” 来表示日志的级别:

          -v 代表 精简;-vv 或者 -v -v 代表 普通;-vvv 或 -v -v -v 代表 详细。

    注:常用参数

    3、--throttle <milliseconds>  用于指定用户操作(即事件)间的时延,单位是毫秒

    例如:adb shell monkey -p com.Android.browser –throttle 1000 100    每次随机事件中间的间隔时间为1000毫秒,也就是1秒钟

    注:常用参数

    4、--pct-touch <percent> 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置。

    注意percent代表了这个事件占到所有随机事件的百分比数,多个参数指定的时候,加起来的百分比数不能多于100。剩下的几个参数同理:

    --pct-motion <percent>     motion一般代表的是直线滑动,事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成;

    --pct-trackball <percent>   轨迹事件由一个或几个随机的移动组成,有时还伴随有点击;

    --pct-nav <percent>           早期Android手机上的up/down/left/right按键;

    --pct-majornav <percent>  引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键; 

    --pct-syskeys <percent>     这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键;

    --pct-appswitch <percent> 在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法;

    --pct-anyevent <percent>   它包含了所有其它类型的事件,如:按键、其它不常用的设备按钮等等

    例如:adb shell monkey -p com.tencent.mm --pct-touch 50 --pct-trackball 30 100    执行100次的随机事件中,有50%的touch事件和30%的轨迹球事件,其他事件随机比例分布。

    5、-s <seed>    用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

    例如:adb shell monkey -p com.tencent.mm –s 10 100    

    运行两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以说Monkey是伪随机的。

    6、adb shell monkey --help  查看所有命令

    调试用:

    1、--ignore-crashes
    作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
    注:常用。

    2、--ignore-timeouts
    作用:通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
    注:常用。

    3、--ignore-security-exception 
    作用:通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
    注:常用。

    8) 可以使用exit退出shell命令,也可以在shell里面运行monkey命令;

    9) 以下是简短的操作事例:

     

    想接什么参数可以自己添加

    -p:后面接包名;

    -V:日志级别;

    50:随机点击的次数;

    >:E/a.txt:表示将运行的日志放在电脑上的E盘里面的a.txt文件中

  • 相关阅读:
    20199318 2019-2020-2 《网络攻防实践》综合实践
    20199318 2019-2020-2 《网络攻防实践》第十二周作业
    20199318 2019-2020-2 《网络攻防实践》第十一周作业
    20199318 2019-2020-2 《网络攻防实践》第十周作业
    20199318 2019-2020-2 《网络攻防实践》第九周作业
    20199318 2019-2020-2 《网络攻防实践》第八周作业
    20199318 2019-2020-2 《网络攻防实践》第七周作业
    20199318 2019-2020-2 《网络攻防实践》第六周作业
    20199318 2019-2020-2 《网络攻防实践》第五周作业
    20199318 2019-2020-2 《网络攻防实践》第四周作业
  • 原文地址:https://www.cnblogs.com/crystalpig/p/9322505.html
Copyright © 2011-2022 走看看