当前位置:   article > 正文

Android的Monkey工具使用_android monkey官网

android monkey官网

Monkey工具的使用

官网:https://developer.android.google.cn/studio/test/monkey?hl=zh_cn

​ 是Android系统自带的命令行工具,由java语言编写,它可以向被测应用发送用户事件(比如点击、手势、触摸等),对软件进行稳定性与压力测试。

​ Monkey.jar程序是由一个名为“Monkey”的shell脚本来启动执行。由adb shell命令启动。

adb shell Monkey {+命令参数}

Monkey基本参数设置

-v 只打印启动信息,测试完成信息和最终结果信息
-v -v 提供有关测试在运行时的更多详细信息,例如发送到您的Activity的各个事件
-v -v -v 打印最详细的信息,例如已选择或未选择用于测试的Activity
  • 1
  • 2
  • 3
adb shell
##进入shell
ls |grep monkey
## 浏览文件
cat monkey
##adb shell Monkey {命令参数}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果系统崩溃或收到任何未处理的异常,Monkey会报错

adb logcat|findstr "Displayed " net.onest.portablecheckoutdevice/net.onest.ui.CheckoutActivity

adb shell monkey -p  net.onest.portablecheckoutdevice  -v  500 > d:/demo/monkey.log

monkey -p net.onest.portablecheckoutdevice -v 500 >/mnt/sdcard/m20210930.txt

ls |grep 2021

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

标准流和错误流分开 重点关注错误流信息。

monkey -p net.onest.portablecheckoutdevice -v 500 1>/mnt/sdcard/1scard.txt 2 >/mnt/sdcard/errorcard.txt

  • 1
  • 2
adb shell monkey --help

adb logcat |findstr "Displayed "
##得到包名com.example.myapplication0922/.MainActivity:
## 多个选项就多个-p
adb shell monkey -p com.example.myapplication0922/.MainActivity -pcom.example.myapplication0922/.MainActivity
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
## -s 随机数种子 种子数
adb shell monkey -s 1234 -p net.onest.portablecheckoutdevice -v 500
## 100毫秒 停顿的时间
adb shell monkey -s 1234 --throttle 100 -p net.onest.portablecheckoutdevice -v 500

##时间之间加入随机延迟
##--randomize--throttle 
adb shell monkey -p net.onest.portablecheckoutdevice -s 1234 --randomize-throttle 100 -v 500 

## --pct-touch <percent> 触摸屏幕时间
adb shell monkey -p net.onest.portablecheckoutdevice -s 1234 --randomize-throttle 100 --pct-touch 100 -v 500 

## 对于一部分倾向于滑动与长按的app 可以调用 这一部分 touch命令

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

调试参数

​ 常见错误类型:

ANR:5秒内没有响应

Crash: 异常停止、异常退出。

忽略参数

##--ignore-crasges 忽略异常
adb shell monkey -p net.onest.portablecheckoutdevice --ignore-crasges -v 500

##--ignore-
##

## --ignore-native-crashes  忽略android底层C/C++崩溃


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Monkey黑白名单

​ 黑名单:不测试的应用

​ 白名单:只测试包含在白名单中的应用。

## 白名单先上传到设备
adb shell pm list packages > e:/demo/list.txt
adb -s 127.0.0.1:60021 shell pm list packages > d:demo/list2021.txt

adb push d:demo/list2021.txt /data/local/temp
  • 1
  • 2
  • 3
  • 4
  • 5
## 白名单上的应用执行100次
adb shell monkey --pkg--whitelist-file /data/local/tmp/list2021.txt -v 100
##-v -v -v 打印最详细的信息。
adb shell monkey -p com.example.myapplication0922 --ignore-crashes -v -v -v 500

  • 1
  • 2
  • 3
  • 4
  • 5

寻找程序异常报错

​ 在文本里面直接搜索“Exception”

​ 运行次数越多 越容易出现内存溢出异常。

adb shell monkey -p net.onest.portablecheckoutdevice -s 1234 --randomize-throttle 100 --pct-touch 100 -s ignore-timeouts -v -v -v 500 > d:/demo/monkey0930011.txtx
  • 1

Monkey测试策略介绍

策略例子1:整机测试,而不测试拨号应用,忽略所有错误,次数100万次

adb shell monkey --ignore-crashes --ignore-timeouts --pkg-blacklist-file /data/local/tmp/blacklist.txt -v -v 1000000

策略例子2:测试计算器30万次,随机种子为100,随机延迟0-1秒,忽略所有错误

adb shell monkey  -p com.android.calculator2  -s 100 --throttle 1000 --randomize-throttle --ignore-crashes --ignore-timeouts -v -v 300000

策略例子3:测试计算器,触摸事件30%,其他按键50%,错误停止,延时200

adb shell monkey -p com.android.calculator2 --throttle 200 --pct-touch 30 --pct-anyevent 50 -v -v 100000

策略例子4:对计算器进行旋转压力测试,事件延时2秒,10万次

adb shell monkey -p com.android.calculator2 --pct-rotation 100 --throttle 2000 100000

策略例子5:仅对整机的应用开启测试,事件延时5秒,10万次

adb shell monkey --pct-appswitch 100 --throttle 5000 100000

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

综合应用

​ 命令的组合:

选取策略+随机种子策略+事件策略+异常策略+延时策略+事件数量

应用选取策略: 单应用 多应用组合 黑白名单组合

异常策略: 1.跑完,全部异常忽略 2.专门测试某个异常 3.出现异常马上终止

应用选取策略:
1、	单应用
2、	多应用组合
3、	黑白名单组合
4、	整机测试
随机种子策略:
1、	固定种子,从小到极大的种子
2、	随机种子
事件策略:
1、	用户故事策略:依据常见的用户场景划分各事件百分比
2、	应用特性策略:依据应用策略对Monkey各事件进行划分百分比
3、	专项测试策略:对某个事件提高到很高的百分比,对应用进行专项测试
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

常见问题

1.连接真机不稳定:检查是否接触不良

2.Monkey执行过程中有时候会触碰到通知栏等其他地方, 如何避免? 官网下载Monkey源代码,进行二次开发。 Monkey命令的使用需要组合多种参数方式来实现覆盖

应用特性策略:依据应用策略对Monkey各事件进行划分百分比
3、 专项测试策略:对某个事件提高到很高的百分比,对应用进行专项测试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/669252
推荐阅读
相关标签
  

闽ICP备14008679号