monkey测试教程3—常用命令详解

1. 指定app测试

  Monkey是一个app稳定性测试工具,由于Monkey可以给app做很多次随机事件,所以Monkey也有时候当做app压测工具。
下面举例,Monkey给指定app做随机1000个事件,输入命令为:
命令格式:adb shell monkey -p com.android.calculator2 1000
在这里插入图片描述
  判断monkey是否执行成功的方法是比较Events injected的数量是否等于预设定的值,这里是1000,如果等于就表示测试完成。其中com.android.documentsui就是指定app的包名,获取想要测试app包名的方法有:
1)获取所有应用:adb shell pm list packages
2)获取系统应用:adb shell pm list packages -s
3)获取第三方应用:adb shell pm list packages -3

2. 事件测试

  Monkey是随机发送事件的。但是有时候我们只需要做一件事件,例如,我们只需要做点击事件,在app中,点击一般叫触摸,对应单词是touch。
1)只做100%的touch事件,下面的100表示百分比,100表示随机事件次数,添加-v参数可以查看到详细的日志信息;
命令格式:adb shell monkey -v -p com.android.calculator2 --pct-touch 100 10
在这里插入图片描述
  上面0表示touch事件,0到11表示不同事件类型,例如有旋转事件,轨迹球事件等等。
2)其他事件
monkey中包含事件有:
1—motion事件,不同的手势动作事件;
2—pinchzoom事件,二指缩放事件;
3—trackball 事件,轨迹球事件;
4—rotation—屏幕旋转事件;
5—permission事件;
6—基本导航事件,设备的上下左右四个方向的导航操作;
7—主导航事件,例如app的中间键,返回键,菜单按键
8—系统导航事件,主要是硬件设备的Home键,返回键和拨号键和音量键;
9—启动Activity事件,切换到不同Activity事件,可以设置这样事件的百分比;
10—flip事件,指的是键盘轻弹,点击文本框,键盘弹起,点击其他区域,键盘收起;
11—其他事件百分比设置,其他事件是指除了上面介绍的事件;
如果你需要设置两到三种事件,几种事件百分比一定要等于100,否则剩下的会自动分配到其他事件。举例触摸事件80%,手势事件20:
命令格式:adb shell monkey -v -p com.android.calculator2 --pct-touch 80 --pct-motion 20 10
在这里插入图片描述

3. 忽略崩溃和超时

  应用在操作过程中会存在崩溃、超时、异常等情况,导致monkey直接停止测试。忽略这些异常崩溃可继续执行,直到执行随机时间次数达到设定值。
1)–ignore-crashes 忽略崩溃
2)–ignore-timeouts 忽略超时
3)–ignore-security-exceptions 忽略安全异常

举例:一个相对比较常用的monkey测试指令。
命令格式:adb shell monkey -p com.android.calculator2 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 100000 2> /sdcard/error.txt 1> /sdcard/info.txt
参数说明:
“ 2> /sdcard/error.txt”—表示错误信息输出到移动端/sdcard/error.txt。
“1> /sdcard//info.txt” —表示一般信息输出到移动端/sdcard//info.txt。

4.logcat导出日志

  在monkey测试中经常使用logcat命令导出日志到PC端,方便查看日志信息,定位问题,常用的命令有:

//格式1:打印默认日志数据
adb logcat 

//格式2:需要打印级别为Error的信息
adb logcat *:E

//格式3:需要打印时间和级别是Error的信息
adb logcat -v time *:E

//格式4:需要打印日志详细时间的简单数据
adb logcat -v time

//格式5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt

//清除日志信息:
adb logcat -c

  monkey测试出错的情况主要有三种:carsh崩溃,ANR无响应,还有monkey测试没有完成,异常中断,还有少数情况是因为移动设备关机或重启导致的测试失败。
一般的测试结果分析:

  • ANR问题:在日志中搜索“ANR”
  • 崩溃问题:在日志中搜索“Exception”? Force Close
  • 其他问题:在日志中搜索fatal/reboot/OOM等
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Monkey测试是一种用于对正在开发的Android应用程序进行压力测试的工具。它可以通过发送伪随机的用户事件流来模拟用户的操作。以下是一个简单的Monkey测试教程: 1. 安装Android SDK:首先,您需要安装Android SDK,并确保adb工具可用于与Android设备通信。 2. 连接设备:将Android设备通过USB连接到计算机,并确保设备已开启USB调试模式。 3. 打开终端或命令行窗口:在计算机上打开终端或命令行窗口,进入Android SDK的platform-tools目录。 4. 启动Monkey测试:执行以下命令来启动Monkey测试: ``` adb shell monkey [选项 <事件数量> ``` 5. 配置选项:根据需要添加命令选项来配置Monkey测试的行为。例如,您可以使用`-p`选项指定要测试的应用程序包名,使用`--throttle`选项设置事件之间的延迟时间等。 6. 运行测试:执行命令后,Monkey将开始发送伪随机的用户事件流到目标应用程序。您可以在设备上观察应用程序的行为,并监控其性能和稳定性。 请注意,Monkey测试是基于伪随机事件的,因此无法完全重复相同的测试。但是,通过限制事件范围和添加其他命令选项,您可以将测试限制在特定的范围内,以便进行更有针对性的测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Monkey测试详解](https://blog.csdn.net/weixin_49043031/article/details/107210575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值