精华内容
下载资源
问答
  • Monkey语法

    2019-08-13 19:03:57
    指定包之后,Monkey将只允许系统启动指定的App。如果不指定包,Monkey将允许系统启动设备中的所有APP。 -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别:level0-2 -s 用于指定伪随机数...
    参数名基本功能
    -p参数-p用于约束限制,用此参数指定一个或多个包(Package,即App) 。指定包之后,Monkey将只允许系统启动指定的App。如果不指定包,Monkey将允许系统启动设备中的所有APP。
    -v用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别:level0-2
    -s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试产生的时间序列也相同。
    -throttle <毫秒>用于指定用户操作(即事件)间的时延,单位是毫秒
    –ignore-crashes用于指定当应用程序奔溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序奔溃,Monkey依然会发送事件,直到事件计数完成。
    –ignore-timeouts用于指定当前应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行,如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。
    –ignore-security-exceptions用于指定当程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发送许可错误,Monkey依然会发送事件,直到事件计数完成
    –kill-process-after-error用于指定应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。
    –monitor-native-crashes用于指定是否监视并报告应用程序发生崩溃的本地代码
    –pct- {+事件类别} {+事件类别百分比}用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数据占总事件数目的百分比)
    –pct-touch {+百分比}调整触摸时间的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某个单一位置)
    –pct-motion调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
    –pct-trackball {+百分比 }调整轨迹事件的百分比(轨迹事件由一个或者几个随机的移动组成,有时还伴随有点击)
    –pct-nav调整“基本”导航事件的百分比(导航事件由来自方向输入设备up/down/left/right组成)
    –pct-majornav {+百分比}调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
    –pct-syskeys {+百分比}调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量
    –pct-appswitch {+百分比}调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity
    –pct-anyevent {+百分比}调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不正常的设备按钮,等等
    –wait-dbg停止执行中的Monkey,直到有调试器和它相连接。

    用例

    1、-p

    *指定一个包: adb shell monkey -p com.htc.Weather 100
    说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。
    *指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100
    *不指定包:adb shell monkey 100
    说明:Monkey随机启动APP并发送100个随机事件。
    *要查看设备中所有的包,在CMD窗口中执行以下命令:

    adb shell
    cd data/data
    ls

    2、-v

    *日志级别 Level 0
    示例 adb shell monkey -p com.htc.Weather –v 100
    说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

    *日志级别 Level 1
    示例 adb shell monkey -p com.htc.Weather –v -v 100
    说明 提供较为详细的日志,包括每个发送到Activity的事件信息

    *日志级别 Level 2
    示例 adb shell monkey -p com.htc.Weather –v -v –v 100
    说明 最详细的日志,包括了测试中选中/未选中的Activity信息

    3、-s

    Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100
    Monkey测试2:adb shell monkey -p com.htc.Weather –s 10 100
    两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的.

    4、-throttle <毫秒>

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

    5、–ignore-crashes

    示例1:adb shell monkey -p com.htc.Weather --ignore-crashes 1000
    测试过程中即使Weather程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止;

    示例2:adb shell monkey -p com.htc.Weather 1000
    测试过程中,如果Weather程序崩溃,Monkey将会停止运行。

    6、–ignore-timeout

    类似–ignore-crashes

    7、–ignore-security-exceptions

    类似–ignore-crashes

    8、–kill-process-after-error

    类似–ignore-crashes

    9、–monitor-native-crashes

    类似–ignore-crashes

    10、–pct-touch {+百分比}

    adb shell monkey -p com.htc.Weather --pct-touch 10 1000

    11、–pct-motion {+百分比}

    adb shell monkey -p com.htc.Weather --pct-motion 20 1000

    12、–pct-trackball {+百分比}

    adb shell monkey -p com.htc.Weather --pct-trackball 30 1000
    #####13、 --pct-nav {+百分比}
    adb shell monkey -p com.htc.Weather --pct-nav 40 1000
    #####14、–pct-majornav {+百分比}
    adb shell monkey -p com.htc.Weather --pct-majornav 50 1000
    #####15、–pct-syskeys {+百分比}
    adb shell monkey -p com.htc.Weather --pct-syskeys 60 1000
    #####16、pct-appswitch {+百分比}
    adb shell monkey -p com.htc.Weather --pct-appswitch 70 1000
    #####17、pct-anyevent {+百分比}
    *指定单个类型事件的百分比:
    adb shell monkey -p com.htc.Weather --pct -anyevent 100 1000
    *指定多个类型事件的百分比:
    adb shell monkey -p com.htc.Weather --pct-anyevent 50 --pct-appswitch 50 1000
    注意:各事件类型的百分比总数不能超过100%。

    展开全文
  • Monkey语法简介

    千次阅读 2011-06-24 15:50:00
    原创文章,转载请注明: 转载自All-iPad.net 本文链接地址: Monkey语法简介在前一篇文章中简单介绍了一些我曾经评估过的一些跨平台开发框架,其中提到过Monkey,不过这个框架目前还太过简陋,如果要用它来做一个...

    原创文章,转载请注明: 转载自All-iPad.net 本文链接地址: Monkey语法简介

    在前一篇文章中简单介绍了一些我曾经评估过的一些跨平台开发框架,其中提到过Monkey,不过这个框架目前还太过简陋,如果要用它来做一个商业的App还有太多的工作要做,所以目前阶段不会再花太多精力在上面,但是之前评估的时候也仔细阅读了它的教程,并跟着写过几个Sample,所以对它也还有一些知识的整理。

     

    先来看一个Monkey App的最基础框架:

    Import mojo

    Class MyApp Extends App

    Method OnCreate()

    End

     

    Method OnUpdate()

    End

     

    Method OnRender()

    End

    End

     

    Function Main()

    New MyApp

    End

     

    虽然作者反复强调你不需要是一个程序员,你不需要懂数学,你不需要会写代码,甚至You don’t need any special skills。BUT,如果你不懂程序,上面这12行英文我还是很难跟你解释清楚,SO,如果你懂了,就继续,Else,Return!J

     

    开个玩笑。

     

    Monkey语言还是比较简单的,类Basic语法,写起来就跟自然语言一样,你甚至可以把上面的代码当作一段英文来读。是的,Read It!

     

    下面是一些语法知识,如果你看懂了上面那12行代码,下面的你也很好理解。

     

    变量:

    与其他语言类似的语法规范,字母数字与下划线的组合,不能以数字打头。

    内置变量类型有Int,Float,String,分别代表什么你也懂的。

    变量的声明使用Local关键字,当然有时候使用的是Field关键字。

     

    数学运算:

    +、-、*、/是最基本的,^是指数去处,比如3 ^ 2 = 9

     

    条件运算:

    If … Then …

    If … Then … Else …

    上面的条件语句必须写在一条上,如果要换行,则是

    If …

    Else

    EndIf

     

    逻辑运算:

    =、<、>、<>、<=、>=

    大部分你应该都见过,只需要注意一下,相等只有一个=,不等是<>,也许你在某种语言里也见过这样用的。

     

    循环语句:

    Repeat … Forever是永远循环

    一般会这样用:

    Repeat

    If … Then Exit

    Forever

    还有

    Repeat

    Until …

    以及

    While …

    Wend

    这些分别代表什么意思你也懂的

     

    函数:

    Function Name() … End

    Function Name(param:String) … End

    函数的默认参数:Function Name(ammo:Int = 10) … End

    与其他语言类似,默认参数也只能出现在参数列表的最后面

    同样的,函数也能有返回值。你知道什么是返回值。

     

    类和对象:

    还记得写在最开始的那12行代码吗?那里就定义了一个类,然后创建了一个对象

    注意类中定义的变量使用Field关键字,不是Local

     

    在我尝试着写代码时遇到过的两个问题,这里再重点提出来一下,我曾在这上面花了点时间来查找原因:

    • 全局函数用关键字Function,Class的函数叫Method。如果把Class的函数也用Function定义,Monkey并不会报错,但这些Function都不会被回调。
    • 函数中的变量声明用Local,Class中的变量声明用Field。
    • 另外,如果函数没有返回值,那么函数名后的冒号加返回值类型可以省略,就像我上面举的例子那样。

       

      原创文章,转载请注明: 转载自All-iPad.net

      本文链接地址: Monkey语法简介

    展开全文
  • monkey语法记录

    2018-01-29 16:06:11
    指定包之后,Monkey将只允许系统启动指定的App。如果不指定包,Monkey将允许系统启动设备中的所有APP。 -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别:level0-2 -s 用于指定伪随机数...

     
    参数名 基本功能 -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App) 。指定包之后,Monkey将只允许系统启动指定的App。如果不指定包,Monkey将允许系统启动设备中的所有APP。 -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别:level0-2 -s <seed> 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试产生的时间序列也相同。 -throttle <毫秒> 用于指定用户操作(即事件)间的时延,单位是毫秒 --ignore-crashes 用于指定当应用程序奔溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序奔溃,Monkey依然会发送事件,直到事件计数完成。 --ignore-timeouts 用于指定当前应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行,如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。 --ignore-security-exceptions 用于指定当程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发送许可错误,Monkey依然会发送事件,直到事件计数完成 --kill-process-after-error 用于指定应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。 --monitor-native-crashes 用于指定是否监视并报告应用程序发生崩溃的本地代码 --pct- {+事件类别} {+事件类别百分比} 用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数据占总事件数目的百分比) --pct-touch {+百分比} 调整触摸时间的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某个单一位置) --pct-motion 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成) --pct-trackball {+百分比 } 调整轨迹事件的百分比(轨迹事件由一个或者几个随机的移动组成,有时还伴随有点击) --pct-nav 调整“基本”导航事件的百分比(导航事件由来自方向输入设备up/down/left/right组成) --pct-majornav {+百分比} 调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键) --pct-syskeys {+百分比} 调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量 --pct-appswitch {+百分比} 调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity --pct-anyevent {+百分比} 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不正常的设备按钮,等等 --wait-dbg 停止执行中的Monkey,直到有调试器和它相连接。
    作者:科大向阳 链接:https://www.jianshu.com/p/bc59b36bb438 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


     
    1、-p

    *指定一个包: adb shell monkey -p com.htc.Weather 100 说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。 *指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100 *不指定包:adb shell monkey 100 说明:Monkey随机启动APP并发送100个随机事件。 *要查看设备中所有的包,在CMD窗口中执行以下命令:

    adb shell cd data/data ls

    2、-v

    *日志级别 Level 0 示例 adb shell monkey -p com.htc.Weather –v 100 说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

    *日志级别 Level 1 示例 adb shell monkey -p com.htc.Weather –v -v 100 说明 提供较为详细的日志,包括每个发送到Activity的事件信息

    *日志级别 Level 2 示例 adb shell monkey -p com.htc.Weather –v -v –v 100 说明 最详细的日志,包括了测试中选中/未选中的Activity信息

    3、-s

    Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100 Monkey测试2:adb shell monkey -p com.htc.Weather –s 10 100 两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的.

    4、-throttle <毫秒>

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

    5、--ignore-crashes

    示例1:adb shell monkey -p com.htc.Weather --ignore-crashes 1000 测试过程中即使Weather程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止;

    示例2:adb shell monkey -p com.htc.Weather 1000 测试过程中,如果Weather程序崩溃,Monkey将会停止运行。

    6、--ignore-timeout

    类似--ignore-crashes

    7、--ignore-security-exceptions

    类似--ignore-crashes

    8、--kill-process-after-error

    类似--ignore-crashes

    9、--monitor-native-crashes

    类似--ignore-crashes

    10、--pct-touch {+百分比}

    adb shell monkey -p com.htc.Weather --pct-touch 10 1000

    11、--pct-motion {+百分比}

    adb shell monkey -p com.htc.Weather --pct-motion 20 1000

    12、--pct-trackball {+百分比}

    adb shell monkey -p com.htc.Weather --pct-trackball 30 1000

    13、 --pct-nav {+百分比}

    adb shell monkey -p com.htc.Weather --pct-nav 40 1000

    14、--pct-majornav {+百分比}

    adb shell monkey -p com.htc.Weather --pct-majornav 50 1000

    15、--pct-syskeys {+百分比}

    adb shell monkey -p com.htc.Weather --pct-syskeys 60 1000

    16、pct-appswitch {+百分比}

    adb shell monkey -p com.htc.Weather --pct-appswitch 70 1000

    17、pct-anyevent {+百分比}

    *指定单个类型事件的百分比: adb shell monkey -p com.htc.Weather --pct -anyevent 100 1000 *指定多个类型事件的百分比: adb shell monkey -p com.htc.Weather --pct-anyevent 50 --pct-appswitch 50 1000 注意:各事件类型的百分比总数不能超过100%。

    作者:科大向阳 链接:https://www.jianshu.com/p/bc59b36bb438 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



    展开全文
  • Monkey语法及Log日志解析

    千次阅读 2018-08-15 14:06:46
    语法示例: adb shell monkey -p xxx.xxx.xx --throttle 5000 -s 35 --ignore-crashes -vvv 100 &gt; E:\Android--monkey\log\1.txt --throttle(毫秒) 间隔时间 -s 指定伪随机数生成器的seed值,如果seed相同...

    语法示例:

    adb shell monkey -p xxx.xxx.xx --throttle 5000 -s 35 --ignore-crashes -vvv 100 > E:\Android--monkey\log\1.txt
    
    --throttle(毫秒) 间隔时间
    -s 指定伪随机数生成器的seed值,如果seed相同,则两次monkey 测试产生的事件序列也相同。
    --ignore-crashes:忽略崩溃
    --ignore-timeouts:忽略超时
    --ignore-security-exceptions:忽略安全异常
    --kill-process-after-error:发生错误后直接杀掉进程
    --monitor-native-crashes:跟踪本地方法的崩溃问题
    -vvv用于指定反馈的信息级别(日志的详细程度),分为三个级别,级别越高,日志越详细。
    > E:\monkey_log\test1.txt 存储路径

    Log内容:

    --pct-touch:指定触摸事件的百分比,例:--pct-touch 5%    , 其他相关的:
    --pct-motion <percent> (滑动事件)
    --pct-trackball <percent> (轨迹球事件) 
    --pct-nav <percent> (导航事件 up/down/left/right)
    --pct-majornav <percent> (主要导航事件 back key 、 menu key) 
    --pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
    --pct-appswitch <percent> (activity之间的切换)
    --pct-anyevent <percent>(任意事件)

    日志解析:

    如果执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;
    Monkey finished代表执行完成。(如果Monkey执行中断,在log的最后也能查看到当前已执行的次数。)
    
    在日志中搜索关键字:
    1.ANR:程序无响应
    2.CRASH:崩溃问题
    3.Exception:其他问题
    4.Switch--查看log中的Switch,主要是查看Monkey执行的是哪一个Activity,两个swtich之间如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。
    5.Sleeping--Sleeping for 500 milliseconds这是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。
    

    重现问题:

    1.找到monkey哪个部分有问题
    2.查看出错前的动作
    3.如果不能重现,执行之前的语句,seed值要相同

    11种Event percentages:

    0: 15.0%   触摸事件TOUCH,--pct-touch
    1: 10.0%   手势事件MOTION, --pct-motion
    2: 2.0%    两指缩放事件PINCHZOOM,--pct-pinchzoom
    3: 15.0%   轨迹球事件TRACKBALL,--pct-trackball
    4: -0.0%   屏幕旋转事件ROTATION, --pct-rotation
    5: 25.0%   基本导航事件nav, --pct-nav
    6: 15.0%   主要导航事件majornav, --pct-majornav
    7: 2.0%    系统按钮事件sysops, --pct-syskeys
    8: 2.0%    启动activity事件appswitch, --pct-appswitch
    9: 1.0%    键盘轻弹事件flip, --pct-flip
    10: 13.0%   其它事件,包括按键和不常用的按键,--pct-anyevent

     

    展开全文
  • monkey语法(详细版)

    2019-07-18 17:23:45
    一、monkey介绍(不重要) monkey是一个程序,运行在模拟器或设备上,生成伪随机的用户事件流,如点击、触摸或手势,以及一些系统级事件,可使用monkey进行随机但是可重复的压力测试,monkey主要用于检查和评估被测...
  • monkey 基础语法

    2021-09-06 13:34:09
    1.检查adb 环境 adb verison ,展示对应信息,则表示环境可用 2.安装apk adb install <apk文件路径> 3.查看设备:adb devices,展示设别信息,说明设备可用 4.查看设备失败,尝试重启设备 ...monkey 基本参数
  • 语法示例: adb shell monkey -p xxx.xxx.xx --throttle 5000 -s 35 --ignore-crashes -vvv 100 &gt; E:\Android--monkey\log\1.txt --throttle(毫秒) 间隔时间 -s 指定伪随机数生成器的seed值,如果seed相同...
  • 语法解析器入门,解析let 语句
  • narcissus是js写的js解释器,但是底层还是依赖于spidermonkey,所以有了zaphod,zaphod可以方便的将firefox的spidermonkey切换到narcissus。 现在narcissus只能在firefox的beta1-beta8上运行,所以首先要下到fire...
  • 在web上实现关键字实时语法高亮效果
  • 使用分词算法,和观察者模式等技术,即时遍历DOM结构树,实现关键字的即时语法高亮效果

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,318
精华内容 4,127
关键字:

monkey语法