稳定的android开发环境,Android稳定性测试利器Monkey使用详解

1.简介

Monkey是Android系统自带的一款稳定性测试小工具,简单易用

2.环境搭建

(1)下载Android SDK

(2)将Android SDK目录下的platform-tools和tools目录配置到系统环境变量Path中

(3)打开cmd窗口,输入adb命令,查看环境是否配置成功,如下图所示,则环境配置成功

b3cb952e1336

image.png

3.Monkey启动

(1)最简单的例子:命令行中输入 adb shell monkey 1000后,你会发现手机(或者虚拟机)自动运行起来了,命令行也会输出相关的日志。

b3cb952e1336

image.png

(2)标准的Monkey命令:monkey [options]

其中options表示Monkey执行可配置的参数,是可选项,如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包,count表Monkey执行的事件数,必须设置

(3)options的类型及其使用

下面将Monkey的Options操作分为四类:常规类,事件类,约束类和调试类。

常规类命令

使用

详解

-h

adb shell monkey -h

显示monkey参数帮助信息

-v

adb shell monkey -v -v -v

打印出日志信息,每个-v将增加反馈信息的级别,-v越多日志信息越详细:0级,除启动提示、测试完成和最终结果提供较少信息。1级,提供较详细调试信息,比如逐个发送到Activity的事件。2级,提供更详细安装信息,如测试中被选中或未被选中的Activity

事件类命令

使用

详解

-f

adb shell monkey -f

表示要使用Monkey运行指定的脚本

-s

adb shell monkey -s

指定随机数生成器seed值,如果用相同的seed值再次运行moneky,将重复执行刚才的随机操作

--throttle

adb shell monkey --throttle

表示每执行一个指令间隔的时间,单位ms,注意是-“--”开头

--pct-touch

adb shell monkey --pct-touch

表示触摸事件百分比

--pct-motion

adb shell monkey --pct-motion

表示动作事件百分比

--pct-trackball

adb shell monkey --pct-trackball

表示轨迹球事件百分比

--pct-nav

adb shell monkey --pct-nav

表示基本导航事件百分比

--pct-majornav

adb shell monkey --pct-majornav

表示主要导航事件百分比

--pct-syskeys

adb shell monkey --pct-syskeys

表示系统按键事件百分比

--pct-appswitch

adb shell monkey --pct-appswitch

表示应用启动事件百分比

约束类命令

使用

详解

-p

adb shell monkey -p

指定测试一个或者多个包

-c

adb shell monkey -c

指定测试一个或者多个类别(即参数)

调试类命令

使用

详解

--dbg-no-events

adb shell monkey --dbg-no-events

监视应用程序所调用的包之间的转换

--hprof

adb shell monkey --hprof

在事件序列前后立即生成profiling report,在data/misc中生成5MB大小左右的文件

--ignore-crashes

adb shell monkey --ignore-crashes

设置后,当应用程序崩溃或者发生异常的时候,Monkey将继续运行直到计数完成,而不会停止运行

--ignore-timeouts

adb shell monkey --ignore-timeouts

设置后,当应用程序发生任何超时错误(比如ANR),Monkey将继续运行直到计数完成,而不会停止运行

--ignore-security-exceptions

adb shell monkey --ignore-security-exceptions

设置后,当应用程序发生任何相关权限错误的时候,Monkey将继续运行直到计数完成,而不会停止运行

--monitor-native-crashes

adb shell monkey--monitor-native-crashes

设置后,monkey会监视并报告Android系统的native code的崩溃事件

(4)Moneky脚本的编写

事件

使用

详解

点击事件

DispatchPointer ( downTime , eventTime , action , x , y , pressure , size , metaState , xPrecision , yPrecision , device , edgeFlags)

其实这么多参数,只需要关注action 、 x 、y 三个参数即可。action :事件是按下还是抬起,0 表示按下,1 表示抬起。x、y:表示当前事件触发的X轴和Y轴的坐标

输入字符串事件

DispatchString(String text)

输入一个不加引号的字符串

启动应用

LaunchActivity ( pkg_name , act_name )

用于打开任意应用的一个页面,但是前提条件是打开的Activity 需要属性 android:exported 被设定为true,才可以通过 LaunchActivity 打开

等待事件

UserWait(long sleeptime)

操作需要等待的事件,单位为毫秒

按下键值

DispatchPress(int keycode)

用于模拟敲击键盘的事件

长按键值

LongPress(int keycode)

用于模拟敲击键盘的事件

(5)准确地获取控件坐标

方法一:

因为Monkey是基于坐标来操作控件的,所以必须准确地获取控件坐标才能进行正确测试。这里就需要getevent。在命令行上输入adb shell getevent后,然后点击手机界面,会获得所点击的位置的十六进制坐标。

b3cb952e1336

image.png

比如上图,我点击点一个文本框后输入的一系列数据(看起来好乱和复杂),每一行的三个数据分别代表type,code,value(具体的含义自己百度一下,这里就不多解释),然后其实我们只需要关注的是code为0035和0036这两行的数据,分别代表触屏时的绝对坐标X和Y,然后将它们转为十进制的坐标就可以了,就这样我们得到了控件的x和y坐标。

方法二:我推荐另外一种更简单的方式,来获取当前你看见的,在待测试设备上的控件的坐标点的定位方式。那就是利用 Android 设备的开发者选项。设置 → 开发者选项 → 指针位置 ,将这个属性开启之后,当手指在屏幕上滑动的时候,就可以在顶部看到当前触摸点的 X、Y 轴的坐标,这就是我们需要的。

b3cb952e1336

Paste_Image.png

(6)Monkey日志分析

正常情况: 如果Monkey测试顺利执行完成, 在log的最后, 会打印出当前执行事件的次数和所花费的时间; // Monkey finished 代表执行完成\

异常情况:Monkey 测试出现错误后,一般的分析步骤:

1.程序无响应的问题: 在日志中搜索 “ANR”

2.崩溃问题:在日志中搜索 “Exception” (如果出现空指针, NullPointerException) 肯定是有bug

4.Monkey简单实战

下面我们写一个简单的Monkey脚本进行测试:就是两个Activity页面,第一个页面输入EditText,然后第二个页面显示第一个页面的信息。(相信这部分代码对各位大佬来说很简单,就不粘贴出来了)

b3cb952e1336

image.png

b3cb952e1336

image.png

思路:

(1)选中文本框1

captureDispatchPointer(10,10,0,308,215,1,1,-1,1,1,0,0)

captureDispatchPointer(10,10,1,308,215,1,1,-1,1,1,0,0)

(2)往文本框1中输入内容

captureDispatchString(111)

captureDispatchPress(66)

(3)选中文本框2

captureDispatchPointer(10,10,0,197,295,1,1,-1,1,1,0,0)

captureDispatchPointer(10,10,1,197,295,1,1,-1,1,1,0,0)

(4)往文本框2中输入内容

captureDispatchString(222)

captureDispatchPress(66)

(5)点击提交按钮

UserWait(500)

captureDispatchPointer(10,10,0,264,403,1,1,-1,1,1,0,0);

captureDispatchPointer(10,10,1,264,403,1,1,-1,1,1,0,0);

(6)全部代码

b3cb952e1336

Paste_Image.png

(7)运行脚本,比如下面指定执行脚本10次,输出相关日志信息

b3cb952e1336

Paste_Image.png

5.Monkey总结

优点:功能强大, 主要用于压力和稳定性测试

缺点:本身不提供截屏功能,本身无法完成录制、回放的功能(不过都可以借用其他的开源工具来实现Monkey的截屏和录制等功能)

不支持条件判断,不支持读取待测界面的信息来执行验证操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel数据透视表是Excel图表工具中的一项功能强大的工具,用于对表格数据进行分类汇总和分析。以下是Excel数据透视表的使用方法详解: 1. 准备数据:在Excel中,将需要进行汇总和分析的数据放置在一个单独的工作表中,并确保每列都有正确的标题。 2. 选择数据:选中需要进行数据透视表的范围,包括标题和所有数据。 3. 创建数据透视表:在Excel菜单栏中,选择“插入”选项卡,点击“数据透视表”按钮,会弹出“创建数据透视表”对话框。 4. 设置数据源:在“创建数据透视表”对话框中,选择数据透视表的数据源范围,可以是当前工作表或其他工作簿。 5. 定义数据透视表的布局:在“创建数据透视表”对话框的“布局”选项中,选择需要用作行标签、列标签、数据和筛选器的字段。 6. 设置汇总方式:在“创建数据透视表”对话框的“值字段设置”选项中,选择需要进行汇总的字段,并设置汇总的方式,如求和、平均值等。 7. 定义数据透视表的样式:在“创建数据透视表”对话框的“样式”选项中,选择数据透视表的样式或自定义样式。 8. 确定数据透视表的位置:在“创建数据透视表”对话框中,选择数据透视表要插入的位置,可以是新的工作表或当前工作表的指定位置。 9. 完成数据透视表的创建:点击“确定”按钮,Excel将根据选择的设置,生成相应的数据透视表。 10. 使用数据透视表:生成的数据透视表将显示在所选位置上,可以通过拖动字段进行重新布局、通过筛选器进行数据筛选、通过更改汇总方式进行数据汇总等。 总之,Excel数据透视表是一种非常方便和实用的工具,可以帮助我们对大量数据进行分类汇总和分析,从而更好地理解和利用数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值