Monkey测试相关

解决方法:

adb kill-server
adb shell
adb devices
adb shell pm list packages
adb shell pm list packages -3

指定安装包执行10000次

adb shell monkey -p com.yjhs.fupin_weining -v -v -v 10000
adb shell monkey -p com.myrnapp -v -v -v 10000

执行并生成日志到指定目录:

adb shell monkey -v -p com.yjhs.fupin_weining -v -v -v 10000 >D:\install\SDK\monkey_log2.txt
adb shell monkey -p com.yjhs.fupin_rongjiang -v -v -v 100000 >D:\install\SDK\rongjiannw_log2.txt

monkey前的准备命令

1.windows+r 输入cmd进入dos命令行;

2.输入adb devices 下面出现类似下图的组合你就成功了;

C:\Users\zyg>adb devices
List of devices attached
JVTWEQSG99999999        device

3.再输入 adb shell pm list packages    查看你的手机所有的安装包;输入 adb shell pm list packages -3 

查看手机上所有的第三方安装包,尽量让测试机少安装第三方软件,这样可以尽快的找到想要的安装包名称;

四,首先用一个最简单的mokey去试着找哪个是你想要的安装包名称:

1./ / -p参数:表示指定测试的程序(空格后面跟安装包名字,拿刚才的第三方安装包一个个试)

  / /-v参数:表示查看monkey执行过程的信息(日志级别)(-v 越多越详细,最多三个)

  / /数字100:表示测试事件数为100

 指定一个包   adb shell monkey  -p  com.tencent.news  -v -v -v  100   (此时指定软件会被打开并开始乱点乱按)

 指定多个包   adb shell monkey -p com.tencent.news -p com.pdfreader -p com.widgets  -v 1000

 不指定包       adb shell monkey -v 1000

Event percentages(事件百分比):

0:触摸事件百分比,参数--pct-touch

1:滑动事件百分比,参数--pct-motion

2:缩放事件百分比,参数--pct-pinchzoom

3:轨迹球事件百分比,参数--pct-trackball

4:屏幕旋转事件百分比,参数--pct-rotation

5:暂时不知道这个是什么

6:基本导航事件百分比,参数--pct-nav

7:主要导航事件百分比,参数--pct-majornav

8:系统事件百分比,参数--pct-syskeys

9:Activity启动事件百分比,参数--pct-appswitch

10:键盘翻转事件百分比,参数--pct-flip

11:其他事件百分比,参数--pct-anyevent

2.尽管monkey产生是伪随机事件流,但是我们希望我们的操作有一定的规律性,即按键、触屏等各类事件操作有所偏重。

eg:(1).对文本框操作,需要更多的按键操作。

        (2).玩游戏,需要更多的点击和滑动操作。

3.--throttle  设定两个事件之间一个固定延迟,可以减缓monkey的执行速度。如果不指定,monkey将不会被延迟,事件将尽可能快地生成和发送消息。单位:毫秒

eg: adb shell monkey  --throttle  3000  -p com.tencent.news  100    

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。

4.--pct-touch  (空格后加数字)设定触屏事件生成的百分比。触屏事件是一个有手指按下,抬起事件的手势。

eg: adb shell monkey   --throttle  3000   --pct-touch  50  -p  com.tencent.news  100 

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定触屏的事件占比为50%。

5.--pct-motion  设定滑动事件生成的百分比。滑动事件是一个先在某一个位置手指按下,滑动一段距离后再抬起手指的手势。

eg: adb shell monkey   --throttle  3000 --pct-motion  50  -p  com.tencent.news  100 

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定滑动的事件占比为50%。

6.--pct-trackball  设定轨迹球事件生成的百分比。轨迹球事件是包含一系列随机移动和单击事件的事件

eg:adb shell monkey --throttle  3000 --pct-trackball  50  -p  com.tencent.news  100 

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定轨迹球的事件占比为50%。

7.--pct-nav  设定基本导航事件生成的百分比。基本导航事件是模拟方向性在设备上输入向上、向下、向左、向右的事件。

eg:adb shell monkey --throttle  3000 --pct-nav  40  -p  com.tencent.news  100 

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定基本导航事件的占比为40%。

8.--pct-majornav  设定主要导航事件生成的百分比。主要导航事件通常会导致UI产生回馈信息,如单击Back键、Home键、Menu键等、

eg: adb shell monkey  --throttle  3000   --pct-majornav  40  -p  com.tencent.news  100 

向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定主要导航事件的占比为40%。

9.--hprof

指定了该参数,Monkey会在发送事件序列的前、后,生成性能分析报告。通常会在data/misc目录下生成一个5MB左右大小的文件

10.--ignore-crashes

通常情况下,monkey会在测试应用程序崩溃或者发生异常后停止运行,若指定了该参数,则monkey将会在产生异常后,继续向系统发送事件,直到指定事件全部运行完毕。

11.--ignore-timeouts

通常情况下,当应用程序发生任何超时错误(application  not  responding)时,monkey将停止运行。若指定了该参数,则monkey将会在产生错误信息后,继续向系统发送事件,直到指定事件全部运行完毕

12.--ignore-security-exceptions    通常情况下,指定应用程序发生许可错误时(如证书许可,网络许可等),monkey将停止运行。

若指定了该参数,即使应用程序发生许可错误,monkey会继续向系统发送事件,直到指定事件全部运行完毕。

eg:adb shell monkey  --throttle  3000 --pct-trackball  50  -p  com.tencent.news  --ignore-security-exceptions  100 
adb devices
adb shell pm list packages
adb shell pm list packages -3

指定安装包执行10000次

adb shell monkey -p com.yjhs.fupin_weining -v -v -v 10000
adb shell monkey -p com.myrnapp -v -v -v 10000

执行并生成日志到指定目录:

adb shell monkey -v -p com.yjhs.fupin_weining -v -v -v 10000 >D:\install\SDK\monkey_log2.txt
adb shell monkey -p com.yjhs.fupin_rongjiang -v -v -v 100000 >D:\install\SDK\rongjiannw_log2.txt

稳定性测试:

    系统测试阶段,主要是针对系统的功能正确性进行测试

    当系统功能相对正确时,是否可以保持7*24小时无间断稳定运行?

    在系统未产生修改的情况下,崩溃、闪退、重启、超时、异常等情况是否尽可能低的出现/不出现?

    在经由性能测试软件进行系统的性能测试(压力/负载),其实质测试的服务端(后端),而用户直观体验和使用的是前端(UI界面层)

    在APP端,我们通过Monkey来进行前端稳定性测试

    Monkey:猴子

    在ADB中,是一个指令,是一种无序、无法规范和管理的随机性测试的指令,仅能够限制指令在哪些程序中运行,执行各类操作各占据多少的比例,无法规定执行的流程和内容

    Monkey是一个monkey.jar包,在Android系统中默认存在的一个包,monkey指令就是通过调用monkey.jar包来执行的测试

    Monkey主要用于前端稳定性测试,而不是做性能测试

如何使用Monkey:

    环境搭建:

    1. jdk和sdk

    2. 通过调用adb指令来连接手机

    调用adb进行测试:

    -p 指定Monkey运行的包名

    events 指定执行的事件数,包括有(点击、滑动、返回、音量+-。。。。。所有的操作形式)

    -v 日志等级设置,有三种不同等级-v/-v -v/-v -v -v

    --throttle 设置等待时间,两个事件执行之间的间隔事件,时间单位是ms

    -s 设置SEED值,类似于ID,当Seed值相同时,会执行相同比例的操作内容

    在Monkey中,如果运行过程中出现有崩溃、闪退、重启、超时、异常等一系列情况,则本次Monkey会自动终止

    --ignore-crashes,忽略测试过程中出现的崩溃现象,当应用出现崩溃、闪退的情况时,Monkey会重新启动APP,继续运行后续的操作事件

    --ignore-timeouts,忽略测试过程中出现的ANR(Application Not Responding),就是超时未响应

    Monkey指令操作注意事项:

    1. events在最后

    2. 日志等级的设置,在倒数第二

    3. 当指令为单个字母时,输入-,当指令为单词或者词组时,输入--

    Monkey查找日志:

    1. 通过logcat指令查找

    2. 通过导出的形式,将monkey日志导出成本地文件

    3. 查找关键词:error/crash/timeout/exception

    

    

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyg_2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值