首页 > 编程知识 正文

monkey app,monkey怎么做压力测试的

时间:2023-05-03 23:42:29 阅读:58594 作者:201

参考资料: http://blog.csdn.net/io _ field/article/details/52189972

另一方面,Monkey测试原理: Monkey是Android的命令行工具,可以在模拟器或实际设备上运行。 将按键输入、触摸屏输入、手势输入等伪随机用户事件流发送到系统,实现对正在研发的APP应用程序的压力测试。 Monkey测试是测试软件稳定性、健壮性的快速有效的方法。

二、测试准备

1、首先需要将手机连接到电脑上,测试连接是否正常。 可以在cmd中输入adb devices进行验证;

2、测试多针对特定的APP包,因此需要知道需要测试包的包名; 可以直接询问开发人员,也可以在ADB shell pmlistpackages中列出并搜索所有软件包名称

(不知道是否安装了软件包,但可以在ADB shell pmlistpackages [ options ] intent中找到。 这意味着枚举包括intent在内的所有包。 e.g.ADB外壳pmlistpackagescom.Taobao.Taobao )

3、测试特定APP包的命令为ADB shell monkey-pakage.name

三. Monkey参数

常规类参数

1、-help

作用:列出简单的使用方法

例: ADB shell monkey-help可以不写help

2、-v

角色:命令行中的每个-v都会提高反馈信息的详细级别。

Level0(默认值)仅提供很少的信息,但启动、测试完成和最终结果除外。

第1级提供了更详细的测试信息,包括发送到活动的事件信息。

提供更多配置信息,包括第2级和测试中选择或未选择的活动信息。

最详细的信息-v -v -v经常使用,并保存在开发人员为查找错误原因而指定的文件中。

示例: ADB shell monkey-v10

事件类参数

1、-s seed

作用:伪随机数发生器的seed值。 使用相同的seed值再次运行monkey将生成相同的事件序列。

示例: ADB shell monkey-s 1483082208904-v10

2----throttlemilliseconds

作用在事件之间插入一定时间(毫秒)的延迟。 使用此设置可以减慢Monkey的执行速度。 如果不指定此参数,则事件之间不会延迟,并且事件将以最快的速度生成。

注:典型参数通常设置为300毫秒。 这通常设置为300毫秒,因为操作事件的实际用户交互速度最快为300毫秒左右。

示例: ADB shell monkey---- throttle 300-v10

3、--pct-touch percent

作用:调整触摸事件的比例。 (触摸事件是指在画面的某个位置按下并抬起的操作,即下降-上升事件)

注意:一般参数。 此参数已设置为支持当前受测APP应用程序的操作。 例如,如果APP应用程序的80%操作是触摸式的,则可以相应地将此参数的百分比设置为较高的百分比。

示例: ADB shell monkey---- pct-touch 100-v10

4、--PCt -运动百分比

作用:调整motion事件比例。 (motion事件由屏幕上的某个降级事件、一系列伪随机移动事件和up事件组成。)

注:一般参数。 请注意,移动事件是线性滑动

示例: ADB shell monkey---- pct-motion 100-v10

5、--Pct -跟踪球百分比

作用:调整滚动球事件比例。 (滚动球事件由一个或多个随机移动事件组成,在某些情况下带有点击事件)

注:参数很少使用。 目前手机上几乎没有滚动过球,但滚动球的活动包括曲线滑动活动。 当被测程序需要曲线滑块时,可以选择此参数。

示例: ADB shell monkey---- pct -跟踪球100-v10

6、--pct-nav percent

角色:调整基本导航事件的百分比。 (导航事件由方向输入设备上的上下左右按钮触发的事件组成。)

注:不频繁操作。

示例: ADB shell monkey---- pct-nav 100-v10

7、--pct-majornav percent

角色:调整主要导航事件的百分比。 (这是

些导航事件通常会导致UI界面中的动作事件,如5-way键盘的中间键,回退按键、菜单按键)
注:不常用操作。
例:adb shell monkey --pct-majornav 100 -v 10

8、--pct-syskeys <percent>
作用:调整系统事件百分比。(这些按键通常由系统保留使用,如Home、Back、Start Call、End Call、音量调节)
注:不常用。
例:adb shell monkey --pct-syskeys 100 -v 10

9、--pct-appswitch <percent>
作用:调整Activity启动的百分比。(在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法)
注:不常用。
例:adb shell monkey --pct-appswitch 100 -v 5

10、--pct-anyevent
作用:调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等)
注:不常用。
例:adb shell monkey --pct-anyevent 100 -v 5

约束类参数

1、-p <allowed-package-name>
作用:如果你指定一个或多个包,Monkey将只允许访问这些包中的Activity。如果你的应用程序需要访问这些包(如选择联系人)以外的Activity,你需要指定这些包。如果你不指定任何包,Monkey将允许系统启动所有包的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。
注:常用参数。(在前面测试准备中已有提及)
例:adb shell monkey -p com.Android.browser -v 10

2、-c <main-category>
作用:如果你指定一个或多个类别,Monkey将只允许系统启动这些指定类别中列出的Activity。如果你不指定任何类别,Monkey将选择谢列类别中列出的Activity,Intent.CATEGORY_LAUNCHER和Intent.CATEGORY_MONKEY。指定多个类别使用多个-c,每个-c指定一个类别。
注:不常用。

3、--dbg-no-events
作用:设置此选项,Monkey将执行初始启动,进入一个测试Activity,并不会在进一步生成事件。为了得到最佳结果,结合参数-v,一个或多个包的约束,以及一个保持Monkey运行30秒或更长时间的非零值,从而提供了一个可以监视应用程序所调用的包之间转换的环境。
注:不常用。

4、--hprof
作用:设置此选项,将在Monkey生成事件序列前后生成profilling报告。在data/misc路径下生成大文件(~5Mb),所以要小心使用。
注:不常用。

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

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

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

8、--kill-process-after-error
作用:通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。设置此项,将会通知系统停止发生错误的进程。注意,正常(成功)的结束,并没有停止启动的进程,设备只是在结束事件之后简单的保持在最后的状态。

9、--monitor-native-crashes

作用:监视并报告Andorid系统中本地代码的崩溃事件。如果设置--kill-process-after-error,系统将停止运行。

10、--wait-dbg

作用:停止执行中的Monkey,直到有调试器和它相连接。

 

本文内容转载至 :https://www.cnblogs.com/lauren1003/p/6193277.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。