Monkey测试(机顶盒和智能电视)

来源:互联网 发布:美人鱼全球总票房数据 编辑:程序博客网 时间:2024/04/28 07:44

一、简介

Monkey测试是Android自动化测试的一种手段,Monkey测试就是模拟用户的操作,对设备进行压力测试,看设备多长时间会出异常。

 

二、monkey命令常用参数介绍

1、参数:--help

获取Monkey命令自带的简单帮助

 

2、参数:-p<allowed-package-name>

指定一个或多个包,monkey将只允许系统指定包的activity。不指定包,monkey是启动所有包的activity。要指定多个包,需要使用多个-p选项,每个-p后面只能用于一个包。

 

3、参数:-v

指定信息反馈级别。总共分为3个级别。

Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息。

示例:adb shell monkey -p xxxxxx -v 100

Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。

示例:adb shell monkey -p xxxxxx -v -v 100

Level 2提供更加详细的设置信息。

示例:adb shell monkey -p xxxxxx -v -v -v 100

 

4、参数:-s <seed>

指定伪随机数生成的seed值。

 

5、参数:--throttle<milliseconds>

指定用户操作的时延,单位是毫秒

 

6、参数:--ignore-crashes

指定当应用发生崩溃时,monkey是否停止运行。使用此参数,应用发生崩溃的时候,monkey继续执行,直到事件计数完成。

 

7、参数:--ignore-timeouts

指定当应用发生anr错误是,monkey是否停止运行。使用此参数,应用发生anr错误时,monkey继续执行,直到事件计数完成。

 

8、参数:--ignore-seccurity-exceptions

指定当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。

 

备注:这里列出来的是我们在monkey测试中经常需要用到的参数,其他的参数,有兴趣的同学可以去网上搜一下。

 

实例

1、启动命令窗口,输入命令adb shell,确定电视的adb端口已启用。

 

2、获取系统中的应用包名。输入命令adb shell pm -l >e:\package.list,在E盘的根目录下会生成一个package.txt的文件,里面包含系统中所有的应用程序包。有很多应用程序包是不支持的,要注意筛选掉不支持的应用程序包。

附支持的应用程序包:

package:com.android.browser

Name:浏览器

3、以执行浏览器monkey测试为例。

命令行输入adb shell monkey -p com.android.browser -v -v -v -s500 --throttle 1000 --ignore-crashes --ignore-timeouts--ignore-security-exceptions10000 > e:\monkey.log

生成的monkey.log文件记录了monkey测试执行情况。

另启一个命令行窗口,输入adb logcat -v threadtime >e:\logcat.log,抓取的带有时间戳的log信息。

备注:标红的10000,是事件次数,即monkey程序模拟10000次用户随机事件。10000次事件所需的事件大约是1小时左右。

 

4、log信息的查看。Log中搜索关键字anr、fatal、exception、crash,这是我们主要关注的log信息内容。有兴趣的同学可以去网上搜索下查看log。

 

 

 

三、使用脚本进行monkey测试

1、monkey脚本是用python语言写的,要运行该脚本,PC上需要安装python。安装完成在环境变量添加python执行文件路劲。

2、运行monkey脚本命令python monkey.py -p p.list。必须切换到monkey.py保存的目录下,才能运行该命令。

运行命令出现“python: can't openfile 'monkey.py': [Errno 2] No such file or directory”是因为找不到monkey.py文件,切换到保存monkey.py文件目录下就可以了。

注意:此命令中的参数-p后面是保存应用程序包名的文件,不是单纯的应用程序包名。哪怕只是执行一个包的monkey,也要将该包名保存为文件才能执行。

 

3、脚本中设置monkey测试的时间。DEFAULT_LOOP_DURATION 设置一次循环需要的时间,DEFAULT_LOOPS 设置循环的次数。一次完整的循环是指将p.list中所有的包执行一次。

 

4、monkey测试完成后,在同一个目录下会生成一个result文件夹,生成的log都在里面。每一个应用程序包都会生成一个相应的文件夹,p.list文件包含多少个包名就会生成多少个文件夹。Log中搜索关键字anr、fatal、exception、crash,这是我们主要关注的log信息内容。

原创粉丝点击