Android自动化测试基础知识——MONKEY测试工具(转的)
第一篇介绍monkey测试工具。
1 自动化测试背景
软件测试是软件产品开发过程中的重要环节。测试对于发现软件中缺陷,保障软件的质量具有重要意义。统计表明,软件测试的时间通常占到软件开发时间的 40%,一些可靠性要求高的软件甚至高达 60%以上。
手工测试和自动化测试是软件测试的两种基本手段,二者相互补充,不可相互替代。其中,自动化测试能捕捉到资源冲突、多线程、死锁等手工测试难以发现的错误,可以高效的完成大量机械性、重复性测试,能模拟大量数据或大量并发用户等应用场景,从而有效的缩短软件测试周期,提高测试的可靠性及准确度。
2 什么是 Monkey
Monkey 测试是 Android 自动化测试的手段之一,它通过模拟用户的按键输入、触摸屏输入等,测试设备多长时间出现异常。Monkey 是一个命令行工具,可以运行在模拟器或实际设备中,通过向系统发送伪随机的用户事件流,实现对全系统或某个应用程序进行压力测试。
Monkey 工具使用非常简单,直接在命令窗口键入 monkey 命令即可进行测试。Monkey 命令有较多的配置选项,为便于理解这些命令,此处先将其命令选项简单划分为四大类,在后文中陆续介绍各种命令选项的使用,然后在附录中附上整个 monkey 命令选项便于查阅。
Monkey 命令可简单分为如下四类:
- 基本配置选项,如设置尝试的事件数量
- 运行约束选项,如设置只对单独的一个包进行测试
- 事件类型和频率,如设置触摸屏事件的发生频率
- 调试选项,如设置忽略应用程序异常,继续向系统发送事件,直到计数完成
Monkey 命令工具可以在模拟器和实际设备上使用。这里分别对两种环境下的 monkey 测试进行介绍。
3.1 在模拟器上运用 Monkey 进行自动化测试
3.1.1 monkey 命令最简单用法
首先,介绍最简单 monkey 命令用法,其使用格式为如下:
monkey n
其中,n 为一个整数,表示用于测试的伪随机事件发生的次数。
如图 3.1 所示,启动模拟器。然后,在命令行窗口下输入 adb shell 命令,如图 3.2 所示。
登录 shell 之后,即可使用 monkey 命令。最简单的用法是,直接在其后面指定一个数字,表
示向系统发送事件的数量,如图 3.3 所示。模拟器的测试的结果如图 3.4 所示。
所谓测试约束选项,即根据具体的测试需求,通过参数指定对系统的某些包或类进行测试。主要包括两类约束:包和类。
(1) 指定测试的包
如果需要对某一个具体的应用进行测试,可指定具体的包名。可以在系统目录/data/data
下查找对应的包名,如图 3.5 所示。
参数指定测试中反馈的信息。常用格式如下:
monkey –p com.android.gallery –v 50
如图 3.6 和 3.7 分别为命令输入及测试过程的截图。
(2) 指定测试的类
若需对某个具体类进行测试,可以使用“-c”参数指定,若需指定多个类别,则要用多个“-c”参数选项分别指定,每个“-c”只能指定一个类别。如图 3.1 所示,其使用的命令格式
为:
Monkey –c android.intent.category.LAUNCHER -v 50
图 3.8 及图 3.9 分别为指定类测试命令输入及测试过程的截图。
|
|
|
Android自动化测试基础知识——MONKEY测试工具(转的)的更多相关文章
- [原创]Android Monkey测试工具使用介绍
[原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...
- monkey测试工具与常用的linux命令
Monkey测试工具 说明:monkey是一个安卓自带的命令行工具,可以模拟用户向应用发起一定的伪随机事件.主要用于对app进行稳定性测试与压力测试. 实现:首先需要安装一个ADB工具,安装完之后,需 ...
- Android软件测试Monkey测试工具
前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.其 ...
- Maxim-可自定义的Monkey测试工具(Android)
Maxim 基于monkey做的二次开发,相比原始monkey,新增如下功能 多种随机测试模式:dfs(深度遍历) mix模式(monkey随机测试+控件识别) troy模式(按照控件选择器进行遍历) ...
- Android自动化测试手段之Monkey(adb shell monkey)
一. 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...
- Appium+python自动化(十五)- Android 这些基础知识,你知多少???(超详解)
简介 前边具体操作和实战已经讲解和分享了很多了,但是一些android的一些基础知识,你又知道多少了,你都掌握了吗?这篇就由宏哥给小伙伴们既是一个分享,又是对前边的一次总结.为什么要对这些做一个简单的 ...
- android图形基础知识
Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 2010-06-13 22:49 18223人阅读 评论(18) 收藏 举报 AndroidGDI基本框架 在An ...
- Monkey测试工具介绍
---------------------------------------------------------------------------------------------------- ...
- Android 应用基础知识和应用组件
应用基础知识 安装到设备后,每个 Android 应用都运行在自己的安全沙箱内: Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户: 默认情况下,系统会为每个应 ...
随机推荐
- centos7 环境搭建
centos7 环境搭建 CentOS-7-x86_64-DVD-1511.iso vmware121. 安装 使用iso安装系统:2. 修改yum源到光盘 先把光盘C ...
- Linux中ssh的免密码登陆
原理: Hadoop的各个节点要实时的进行各种通信的,ssh就是能让各个节点免密码的相互访问相互通信. 操作步骤: 这里用的加密方式是非对称的加密方式,具体的操作是: <1>执行命令ssh ...
- Redis的入门Demo(java)
java代码部分参考了:http://www.runoob.com/redis/redis-java.html 在java中使用Redis,需要引入Redis驱动,就是jedis-2.1.0.jar, ...
- libcprops
Install Howto Download the latest epel-release rpm from http://dl.fedoraproject.org/pub/epel/6/x86_6 ...
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行.国家安全等行业领域. 要求建设开发大型复杂的网站,但仅有一个idea,不能够提供网站详 ...
- 宣布正式发布 Windows Azure 上的 Oracle 软件以及 Windows Azure Traffic Manager 更新
Windows Azure 的核心原则之一就是为客户提供一个开放.灵活的平台.今天是一个令人振奋的里程碑,因为我们与 Oracle 的合作又向前迈进了一步.Oracle Database.Ora ...
- 宣布发布 Windows Azure SDK 2.2,正式发布 Windows Azure Backup 和 Hyper-V 恢复管理器预览版
开发人员正逐渐转向云计算,因为它具有众多优势,包括成本.自动化和让开发人员专注于应用程序逻辑的能力.我们很高兴地宣布,继推出 Visual Studio 2013 之后,今天将发布 Windows A ...
- 使用回调接口实现ActiveX控件和它的容器程序的通讯
本文阅读基础:有一定的C++基础知识(了解继承.回调函数),对MFC的消息机制有一定了解,对COM的基础知识有一定了解,对ActiveX控件有一定了解. 一. 前言 ActiveX控件和它的容器程序如 ...
- CSS块级元素和行内元素
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...
- Java_java多线程下载-断点下载-超详细
基本原理:利用URLConnection获取要下载文件的长度.头部等相关信息,并设置响应的头部信息.并且通过URLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读 ...