使用Monkey进行移动设备的稳定性测试

前提:安装jdk18、adb-sdk、模拟器环境搭建好,之前有写过搭建方法

一、使用Monkey进行稳定性测试

Monekey是一个运行程序,运行在模拟器上火真机上,可以生产伪随机的用户事件流,如点击、触摸或手势、滑动等一些系统级事件,检查和评估被测试测试的稳定性。

理论:

通过adb shell monkey去操作移动端应用,所有测试事件都是随机产生的。跟发出命令后,

Money 命令语法和基础参数

怎么做计划怎么会测试需求,然后进行测试用例,是基本功,每个人写的都不一样,每个人的侧重点不一样,但是monkey是随机

调用money就是调用system/bin 下的money,Monkey是adb自带的。

进入查看路径:

二、Monkey命令语法

输入命令: adb shell monkey [options] {avent-count}

[options] :可选项,如果不指定monkey将以无反馈模式启动

{avent-count}:必选项,指随机发送事件数,如输入1000,指执行1000个伪事件

例如:发送1000个伪事件:adb shell monkey -v 1000 (对整个真机或模拟器进行随机测试)

Monkey 手机端的稳定性测试、压力测试

三、monkey基础参数

参数名称

描述

使用说明

-V

日志级别

-v:0级,除启动提示,测试完成和最终结果外提供较少信息

-v -v:1级:提供较详细测试信息,如逐个发送到Activity的事件

-v -v-v 2级:提供更详细安装信息,如测试中被选中或未被选中的Activity

Adb shell monkey -v-v 1000

-s

-s为种子值,如果出现随机的,因为monkey是随机,加-s可复现的随机测试

如遇上问题了,可使用多开模拟器,删除后再重新添加。

:Monkey: seed=1702630467964 count=500

Adb shell monkey -v -s 999 500

-s 后99是种植值,

500为随机点击次数。

如果遇到问题了,带上相同的种子值就能复现了。实现了随机测试的可复现。

--throttle

设置事件执行间隔时间

Adb shell monket --throttle 500 20

--throttle 500:间隔500毫秒

间隔500毫秒,随机执行20个事件

-P

指定发送随机事件到指定包。

adb shell monkey -p com.zhiguan.m9ikandian   -v  --throttle 300 500

-p指定某个包执行随机事件,-v打印详细记录, --throttle 300间隔300秒执行事

如图:

Monkey参数、调试选项

cls

清屏

输入命令:cls

安装apk

adbinstallE:\appapk\9ikandianv3.35.4_downcc.com.apk

或直接拖动包至模拟器上

--ignore-crashes

应用程序崩溃后继续发送事件

调试选项不必填

--ignore-timeouts

超时错误继续发送事件

--ignore-security-exceptions

应用程序权限错误发生后继续发送事件

--ignore-native-crashes

本地代码导致的崩溃,忽略,继续发送事件

>

日志存放位置

如:>D:\money_text.txt

四、Monkey 发送事件类型

发送一千个事件流 比如说点击 输入内容,点击,上下滑动,左右滑动,

比如说地图:放大的时候,两指缩放。

可以修改事件的百分比,比如说两指缩放,看点没有这个事件,那就可以修改0%

注意事项:所有时间的百分比不能超过100%

如图:执行monkey命令后,日志有事件流占比例,可以修改发送事件的百分比

1:修改发送事件占百分比,指定测试事件的类型和频率

Monkey 命令提供了众多选项用于指定事件的类型和发生频率, 例如触摸事件、 导航事件、轨迹事件(由一个或多个随机的移动组成,有时还伴随有点击)。有时为了测试某个具体应用,需要通过“事件”的反复发生来进行专项的功能测试,此时即可通过 monkey 的“--pct”选项来进行指定具体事件及其发生的频率。

如:0:在某个位置Down_UP :触摸,点击修改%分比

按下然后滑动,就叫手势

注意:

格式件类型的百分比总数不能超过100%

位置

事件类型

描述

参数

0

触摸

在某个位置的一个down_up事件,点击

--pct-touch 百分比

1

手势

在某个位置按下(down)后经过一系列伪事件后弹出(up)

--pct-motion 百分比

2

二指缩放

在屏幕上的两处同时按下,并同时移动,最后同时抬起的操作,如地图放大

--pct-pinchzoom 百分比

3

轨迹

由一个或多个随机的移动组成,有时会伴随着点击

--pct-trackball 百分比

4

屏幕旋转

是隐藏时间,是模拟Android手机的横屏或竖屏切换

--pct-rotation

5

基本导航

主要来自方向输入设备上下左右时间

--pct-nav 百分比

6

主要导航

指点击主要导航按键的操作,,这些按钮通常会导致UI界面中的动作发生

--pct-majornav 百分比

7

系统按键

仅供系统使用的保留按键,如音量键

--pct-syskeys 百分比

8

应用启动

启动Activity时间,指在手机上启动一个Activity的操作

--pct-appswitch +百分比

9

键盘

主要是一些与键盘相关的操作,如点击输入框键盘弹起,点击输入框以外键盘收回

--pct-flip 百分比

10

其他类型

包括了除以上提到的10种事件外的其他所有时间

--pct-anyevent 百分比

2、指定测试事件类型和频率的实战:

#1、旋转屏幕 占比30%,执行200个事件流

Adb shell monkey -v -pct-rotation 30 200

#2、同时调整两个事件百分比

Adb shell monkey -v --pct-touch 20 --pct-motion 40 200

#3、系统按键事件的发生率为 18%,共测试 1000 次。

输入命令:adb shell monkey --pct-syskeys 18 –v 1000

#4:分别指定两个事件的发送频率,以下命令表示触摸事件和轨迹事件发生概率分别为 18%和 18%,共测试 1000 次。

输入命令:adb shell monkey --pct-touch 18 --pct-trackball 18 –v 1000

三、Money命令参数总结实战应用

需求分析:

  1. 指定应用
  2. 设置触摸事件40%,手势事件25% ,Activitey事件10%,屏幕旋转事件5%
  3. 设置seed种子值
  4. 设置操作之间的时间间隔
  5. 遇到应用程序崩溃、超时继续执行
  6. 日志为1级 -v -v,执行500个随机事件流
  7. 记录日志,并输入至文件

命令:

C:\Users\admin>adb shell monkey -p com.zhiguan.m9ikandian  --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 688 --throttle 400 --ignore-crashes --ignore-timeouts -v -v 500 >E:\monkeytest.txt

8生成批处理文件(。Bat),一键执行, 主要文件执行出现乱码,记事本另存为:ANSI编码,运行就不会出现乱码

@echo off

echo 请稍后,正在执行脚本命令

adb shell monkey -p com.zhiguan.m9ikandian  --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 688 --throttle 400 --ignore-crashes --ignore-timeouts -v -v 500 >E:\monkeytest1.txt

pause

  1. 分析错误日志:

  • 28
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YAFFS2是一种嵌入式文件系统,被广泛应用于许多嵌入式设备,如智能手机、平板电脑和车载系统。稳定性测试是评估系统在长时间运行中是否能够保持正常工作并且不出现故障的重要步骤。 在YAFFS2的稳定性测试中,会通过模拟各种正常和异常的使用场景来评估文件系统的可靠性和稳定性。测试通常会包括以下方面: 1. 崩溃恢复测试:通过人工或自动方式模拟系统电源中断或崩溃的情况,在系统重新启动后,检查文件系统是否能够正确恢复并且数据完整性得到保障。 2. 内存管理测试:通过模拟系统资源紧张的情况,如内存耗尽,测试YAFFS2在面对资源限制时的表现。这可以帮助确定文件系统在低内存环境下的稳定性。 3. 并发访问测试:模拟多个应用程序同时对文件系统进行读写操作,测试YAFFS2在高并发访问下的稳定性和性能。这可以确保文件系统能够正确地处理并发请求,并且不会出现数据损坏或死锁等问题。 4. 性能测试:通过模拟不同大小和类型的文件访问,测试YAFFS2在读写性能方面的表现。这将帮助评估文件系统的速度和效率,并确定其在特定硬件和软件环境下的适用性。 通过进行全面而系统的稳定性测试,可以帮助开发人员识别和解决潜在的问题,提高YAFFS2的可靠性和稳定性。这将确保YAFFS2在各种嵌入式设备上能够长时间稳定运行,并为用户提供可靠的文件存储和管理功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值