android测试命令,Android命令Monkey测试

Monkey是一个在仿真器或设备上运行的程序,并生成用户事件(如点击,触摸或手势)以及一些系统级事件的伪随机流。 您可以使用Monkey以随机但可重复的方式对您正在开发的应用程序进行压力测试。

Monkey测试介绍

Monkey是一个命令行工具,您可以在任何模拟器实例或设备上运行。它发送用户事件的伪随机流到系统中,对您正在开发的应用软件进行压力测试。

Monkey包括许多选项,但它们分为四个主要类别:

基本配置选项,如设置要尝试的事件数。

操作约束,例如将测试限制为单个包。

事件类型和频率。

调试选项。

当Monkey运行时,它会生成事件并将它们发送到系统。 它还监视被测系统,并特别处理三种条件:

如果你限制Monkey在一个或多个特定包中运行,它会监视并禁止导航到任何其他包。

如果您的应用程序崩溃或收到任何未处理的异常,Monkey将停止并报告错误。

如果您的应用程序生成应用程序无响应错误,Monkey将停止并报告错误。

根据您选择的详细程度级别,您还将看到有关Monkey进度和生成事件的报告。

Monkey的基本使用

您可以使用命令行或脚本在开发机器上启动Monkey。 因为Monkey必须在模拟器/设备环境中运行,所以必须从该环境中的shell启动它。 您可以通过将 adb shell 作为每个命令的前缀,或者直接输入shell并输入Monkey命令来完成。

基本语法是:

$ adb shell monkey [options]

如果没有指定选项,Monkey将以安静(非详细)模式启动,并将事件发送到目标上安装的任何(和所有)包。 下面是一个更典型的命令行,它将启动您的应用程序并向其发送500个伪随机事件:

$ adb shell monkey -p your.package.name -v 500

命令选项参考

下表列出了您可以在Monkey命令行中包含的所有选项。

类别

选项

描述

普通

--help

打印简单的使用指南。

-v

命令行上的每个-v将增加反馈信息级别(日志的详细程序)。级别0 示例 adb shellmonkey -p com.htc.Weather –v 100(默认值)仅提供了启动信息,测试完成和最终结果等少量信息。级别1 示例 adb shellmonkey -p com.htc.Weather –v -v 100提供较为详细的日志,包括每个发送到Activity的事件信息。级别2 示例 adb shellmonkey -p com.htc.Weather –v -v –v 100最详细的日志,包括了测试中选中/未选中的Activity信息。

事件

-s

伪随机数生成器的种子值。 如果你用相同的种子值重新运行Monkey,它将生成相同的事件序列。

--throttle

adb shell monkey -p com.htc.Weather --throttle 3000 100 在事件之间插入固定延迟。 你可以使用这个选项来减慢Monkey。 如果未指定,则不存在延迟,并且尽可能快地生成事件。

--pct-touch

adb shell monkey -p com.htc.Weather --pct-touch 10 1000 调整触摸事件的百分比。 (触摸事件是屏幕上单个位置的 down-up事件。)

--pct-motion

com.htc.Weather --pct-motion 20 1000 调整运动事件的百分比。 (运动事件包括屏幕上某处的down事件,一系列伪随机运动和up事件。)

--pct-trackball

adb shell monkey -p com.htc.Weather --pct-trackball 30 1000 调整轨迹球事件的百分比。 (跟踪球事件由一个或多个随机移动组成,有时后跟一次点击。)

--pct-nav

adb shell monkey -p com.htc.Weather --pct-nav 40 1000 调整“基本”导航事件的百分比。 (导航事件由来自方向输入设备的up/down/left/right组成)。

--pct-majornav

adb shell monkey -p com.htc.Weather --pct-majornav 50 1000 调整“主要”导航事件的百分比。 (这些是通常会在您的UI中执行操作的导航事件,例如5向键盘中的中心按钮,后退键或菜单键)。

--pct-syskeys

adb shell monkey -p com.htc.Weather --pct-syskeys 60 1000 调整“系统”键事件的百分比。 (这些是通常保留供系统使用的键,例如Home,Back,Start Call,End Call或音量控制。)

--pct-appswitch

adb shell monkey -p com.htc.Weather--pct-appswitch 70 1000 调整活动的百分比。 在随机的时间间隔,Monkey将发出一个startActivity() 调用,作为最大限度地覆盖你的包中所有Activity的一种方法。

--pct-anyevent

adb shell monkey -p com.htc.Weather --pct -anyevent 100 1000调整其他类型事件的百分比。 这是所有其他类型的事件的全部,例如按键,设备上的其他较少使用的按钮等等。

约束

-p

adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100 如果以这种方式指定一个或多个软件包,Monkey将只允许系统访问这些软件包中的活动。 如果您的应用程序需要访问其他包中的活动(例如选择联系人),您还需要指定这些包。 如果不指定任何软件包,Monkey将允许系统在所有软件包中启动活动。 要指定多个包,请多次使用-p选项 - 每个包一个-p选项。

-c

如果您以这种方式指定一个或多个类别,Monkey将只允许系统访问使用指定类别之一列出的活动。 如果不指定任何类别,则Monkey将选择使用类别Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY列出的活动。 要指定多个类别,请多次使用-c选项 - 每个类别一个-c选项。

调试

--dbg-no-events

当指定时,Monkey将执行初始启动进入测试活动,但不会生成任何进一步的事件。 为了获得最佳效果,请结合-v,一个或多个程序包约束和非零事件延时,保持Monkey运行30秒或更长时间。 这提供了一个环境,您可以在其中监视应用程序调用的软件包转换。

--hprof

如果设置,此选项将立即在Monkey事件序列之前和之后生成性能分析报告。 这将在data/misc下产生大(〜5Mb)文件,因此请小心使用。 有关跟踪文件的更多信息,请参阅Traceview。

--ignore-crashes

通常,当应用程序崩溃或遇到任何类型的未处理的异常时,Monkey将停止。 如果指定此选项,则Monkey将继续向系统发送事件,直到计数完成。

--ignore-timeouts

通常,当应用程序遇到任何类型的超时错误(如“应用程序无响应”对话框)时,Monkey将停止。 如果指定此选项,则Monkey将继续向系统发送事件,直到计数完成。

--ignore-security-exceptions

通常,当应用程序遇到任何类型的权限错误时,Monkey将停止,例如,如果它尝试启动需要某些权限的活动。 如果指定此选项,则Monkey将继续向系统发送事件,直到计数完成。

--kill-process-after-error

通常,当Monkey由于错误而停止时,失败的应用程序将保持运行。 设置此选项时,它将通知系统停止发生错误的进程。 注意,在正常(成功)完成下,启动的进程不停止,并且设备在最后事件之后简单地保持在最后状态。

--monitor-native-crashes

Android系统原生代码中的监视和报告崩溃。 如果设置了-kill-process-after-error,系统将停止。

--wait-dbg

停止Monkey执行,直到调试器连接到它。

注:

日志保存时可直接通过一下命令

adb shell -p com.htc.Weather -v -v -v 10000 > monkey.txt

如需保存logcat日志,可以新开个dos窗口执行

adb shell logcat > logcat.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值