zoukankan      html  css  js  c++  java
  • Monkey

    Monkey Script 是一组可以被monkey识别的命令集合,可以完成重复操作。

    MoneyRunner提供了一系列的API,可以完成模拟事件及截图操作

    获取包名命令: adb logcat | grep START

    adb shell monkey -p com.wzh.ydbg -v --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent 5 --pct-trackball 0 --pct-syskeys 0 -p '%s' 1000 >e:ydbglog.txt

    参数解读“

         --throttle <毫秒> 

    指定用户操作(即事件)间的时延,单位是毫秒;如果不指定这个参数,monkey会尽可能快的生成和发送消息。

      --seed参数(可用于复现问题,)

    指定随机生成数的seed值  例如:adb shell monkey -p 包名 -s seed值   

      --ignore-security-exception 

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

      --ignore-timeouts(超时事件)

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

      --ignore-crashes(崩溃事件)

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

      --pct-touch <percent>

    作用:调整触摸事件的百分比.(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作)比如一个应用80%的操作都是触摸,那就可以将此参数的百分

    比设置成相应较高的百分比。如触摸返回、触摸签到等

      --pct-motion<percent>

    调整motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成)也就是直线滑动事件如从左到有滑动解锁

      --pct-trackball <percent>

    作用:调整滚动球事件百分比。(滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件)如不规则滑动解锁

    --pct-nav<percent> 导航,现在手机基本没有导航了

    ---pct-syskeys<percent> 按键消息比例,主页、后退、音量增减

    --pct-anyevent 其他不常用的按键比例的设置,不常用

    --hprof  monkey测试完成后生成内存快照,data/misc路径下生成,不常用,比较占空间

    --ignore-security-exceptions  忽略权限问题的

    --kill-process-after-error 当错误发生时杀进程

    --monitor-native-crashes 监视崩溃时的本地代码

     

    Monkey 模块

    提示unknown host service时,查看5037端口被占用,输入命令:netstat -ano |findstr "5037",查看进程PID,在任务管理器关掉相关进程

    如果提示devices notfound,可以尝试如下命令:

    adb kill-server

    adb start-server

    adb remount

     adb 命令       adb shell monkey -p com.wzh.ydbg -v -v 1000

       参数-p用于约束限制,用此参数指定一个或多个包,

       参数-v 反馈信息基本,最高是-v -v -v。是最详细的日志。

          参数 -s 用于指定伪随机数生成器的seed值,

    示例:

       Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100

         Monkey 测试2:adb shell monkey -p com.htc.Weather–s 10 100

         两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。

        参数 --throttle<毫秒>

         用于指定用户操作的时延,

          示例:adb shell monkey -p com.htc.Weather –throttle 3000 100

    注意查找日志中的无响应问题和崩溃问题。无响应问题可以在日志中搜索 “ANR” ,崩溃问题搜索 “CRASH” ,内存泄露问题搜索"GC"(需进一步分析),异常问题搜索 “Exception”(如果出现空指针, NullPointerException,需格外重视)。

     Monkey Script

    执行Monkey脚本命令:

      adb shell monkey -f<scriptfile><event-count>

      x和y 通过Android SDK里tools里的uiautomatorviewer  的bounds选项查看

    上述图片代表一个点击操作。

     

    MonkeyScript实践

     脚本实例如下图:

    上图前四行是固定格式。不用修改。

     选中的俩行需格外注意,设置不好将导致脚本无法正确吊起应用。

     使用方法:

    1.先把脚本传到手机上

    adb push 脚本 /data/local/tmp/

    2.进入手机启动

      在上述路径下,输入monkey -f 脚本.script 次数。

    在电脑端输入命令启动如下:

    总结点

    应用必须要允许被外部吊起, Android:exported=“true” 该属性必须设置为True;

    MonkeyRunner

      

      

      

      

      

      

      

      

      

    实现在搜索框中输入查询词,并截图

     

     使用monkeyrunner 调用脚本。

  • 相关阅读:
    [转]C#读写app.config中的数据
    [转]DirectoryEntry的应用
    js读取xml文档,并实现简单分页
    [转]写给想要做产品经理的同学
    《算法导论》(第二章)算法入门
    《算法导论》中伪代码的约定
    HDU ACM 1284 钱币兑换问题
    《算法导论》(第一部分)(第一章)
    HDU ACM 4554 叛逆的小明
    HDU ACM 1002 A + B Problem II
  • 原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/9582362.html
Copyright © 2011-2022 走看看