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信息内容。
- Monkey测试(机顶盒和智能电视)
- 智能电视机顶盒开发记录
- Android 手机遥控器控制机顶盒(电视)
- 电视机顶盒搜台原理和方法简析
- 电视机顶盒搜台原理和方法简析
- react native 适配机顶盒、智能电视 遥控器解决焦点问题
- 智能电视
- DVB电视机顶盒工作原理
- 【软件测试】智能电视应用测试要求1
- 智能电视的五个疑问和讨论
- 智能电视再抛砖:创新基因和团队
- 2014年或成为智能电视元年,Testin推出智能电视应用测试专区
- Android monkey和monkeyrunner测试
- android CTS测试之TV智能电视总结笔记
- Android测试开发环境(含ADB和Monkey)
- 最近一年多所做项目和使用到的技术 (移动互联、智能电视)
- 安卓TV开发(概述) 智能电视之视觉设计和体验分析
- 最近一年多所做项目和使用到的技术 (移动互联、智能电视)
- C++ 静态变量之为什么只初始化一次
- 如何在smarty模板中执行php代码
- Sizeof与Strlen的区别与联系
- GCC Inline Assembly 实现互斥锁
- ubuntu 常用命令 备忘
- Monkey测试(机顶盒和智能电视)
- Smarty 限制foreach的循环次数
- SQL判断表是否存在,存在的话就删除原表再建立新表
- 网站安全防止网站被挂木马“安全狗”
- 重新设置TortoiseSVN用户名和密码
- 【PAT】1055. The World's Richest (25)
- opencv复杂变换cvPyrDown (转载于博客园 0fengfan0 )
- 初学 C++ 希望大家指路
- LeetCode:Letter Combinations of a Phone Number