Android中的monkey是对app做界面压力测试的一款工具,它可以向模拟器或者真机发送一系列随机的用户操作事件、或者系统事件。 概述 Monkey是a
Android中的monkey是对app做界面压力测试的一款工具,它可以向模拟器或者真机发送一系列随机的用户操作事件、或者系统事件。 概述 Monkey是android sdk自带的一款命令行工具,适用于任何android模拟器或者真机。它通过向手机发送一系列的随机事件,来测试手机app的稳定性。 Monkey命令包含一些参数,大体可以分为四类: 基本参数,如指定随机事件的个数 操作约束,如限制随机操作在指定的包内 事件类型和频率 调试选项 Monkey运行过程中,向android系统发送随机事件。并且,monkey会监视android系统的运行状态,保证下面的三点: 如果我们限制了monkey只在一个或几个包中运行。那么monkey在运行过程中会监视产生的随机事件,如果某一事件会跳到其他包中,monkey会丢弃该事件,确保monkey只在指定的包中运行。 如果我们的程序出现crash或者有未被捕获的异常,monkey会停止运行,并报错。 如果我们的程序出现未响应,monkey会停止运行,并报错。 Monkey的基本用法 我们可以在直接在命令行或者脚本中运行monkey,前提是android sdk环境已经ok。 基本语法如下: $ adb shell monkey [options] 如果没有其他参数限制,monkey默认以quiet模式运行,它会随机向手机中的包发送请求。一般请求,我们都需要指定包名,下面的命令限制了包名,且指定产生500个随机事件: $ adb shell monkey -p com.yeetrack.android.client -v 500 Monkey的参数 下面列出了Monkey可以使用的参数。 基本参数 --help打印帮助文档 -v命令行中的每一个-v将增加反馈信息的级别。Level 0(也是默认值)除启动提示、测试完成和终结果之外,其他的信息很少。Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity,例子adb shell -v -v 500 -s伪随机生成器的种子。如果seed值一样,那么产生的monkey事件,序列也是一样的 --throttle <毫秒>在事件之间加入固定时间延迟,单位毫秒。如果不加,monkey会尽可能快地产生事件 --pct-touch调整触摸事件的百分比(触摸是一个点击事件) --pct-motion调整动作事件的百分比,(动作事件指一个down事件,一系列随机事件,然后一个up事件) --pct-trackball调整轨迹事件的百分比,(轨迹事件由一个或多个移动组成,有时伴随点击事件) --pct-nav调整基本导航事件的百分比,(导航事件是方向键,上下左右) --pct-majornav调整主要导航事件的百分比(这些导航事件通常引发图形界面中的动作,如5-way键盘的中间按键,回退按键,菜单按键) --pct-syskeys调整系统按键事件的百分比(这些事件由系统保留,如Home、Back、Start、Call、End Call及音量控制键) --pct-appswitch调整启动activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为大程度覆盖保重全部Activity的一种方法。 --pct-anyevent调整其他类型事件的百分比。包含了所有其他类型的事件,如按键、其他不常使用的设备按键、等。 操作约束 -p如果使用该参数指定了一个或几个包,monkey将只允许启动这些包中的activity。如果你的程序,需要访问别的activity(如联系人界面),那必须将联系人的包也指定一下,否则无法访问。如果没有指定包名,monkey将允许启动安装在手机上的所有包。如果要指定多个包,需要多个-p选项,每个-p指定一个包。 -c如果使用此参数指定了一个或多个类别,Monkey将只允许系统启动被这些类别中的某个类别列出的Activity,如果不指定任何类别,Monkey将选择下列类别中列出的Activity: Intent.CATEGoRY_LAUNCHER或Intent.CATEGORY_MONKEY。要指定多个类别,需要多个-c选项。
--结束END--
本文标题: Android Monkey测试
本文链接: https://lsjlt.com/news/28644.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0