APP自动化测试中Monkey和 MonkeyRunner
在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。自动化测试就是把以人为驱动的测试行为转化为机器执行的一种过程。今天就简单说说,在Android测试中常用的测试包括:Monkey和MonkeyRuner。
Monkey是一个命令行工具,可以运行在模拟器里或实际设备中,它是一种轻量级的性能测试工具。它向系统发送伪随机的事件流,实现对正在运行的应用程序进行压力测试。
Monkey包括许多选项,包括:基本配置选项,;运行约束选项;事件类型和频率;调试选项。运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测。如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。如果应用程序产生了应用程序不响应的错误,Monkey将会停止并报错。按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
相对于Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。而MonkeyRunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。
通过MonkeyRunner,可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。MonkeyRunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件。
功能包括:
多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。
App功能测试: monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。
回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。
TestBird - 手游和App自动化测试平台
APP自动化测试中Monkey和 MonkeyRunner的更多相关文章
- 黑盒测试在App自动化测试中的应用
黑盒测试在App自动化测试中的应用 不废话,直接来. 先说说什么是黑盒测试 黑盒测试,这里就说的是app功能测试,之前看到一个介绍说,就是在测试中,把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试 ...
- app自动化测试中的相关api
这个说的api即python自动化测试中经常会使用到的一些api,具体如下: 1.find_element_by_id/find_elements_by_id 定位元素api,使用方法如下: driv ...
- 【APP自动化测试】Monkey的测试原理和方法
参考资料:http://blog.csdn.net/io_field/article/details/52189972 一.Monkey测试原理:Monkey是Android中的一个命令行工具,可以运 ...
- Android自动化测试中Monkeyrunner详解
之前有写过monkey测试详细说明,几天就说说monkeyrunner. monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器 ...
- 移动app自动化测试
原文出处https://www.toutiao.com/i6473606106970063374/ 原文作者是今日头条的:一个字头的诞生 在此感谢原文作者的无私分享! 移动App自动化测试(一) 目前 ...
- 移动APP自动化测试框架对比
转自微信公众号:腾讯移动品质中心TMQ 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动 ...
- 移动端APP自动化测试超全基础汇总
目录 一.面试过程 1.自动化岗位要求 2.面试流程,面试类型 3.沟通技巧,不同级别要求 二.真实面试案例 1.一个输入框的面试题(有人拿到高级岗位,有人连初级都没拿到,为什么) 三.自我分析 1. ...
- [转]移动App测试中的最佳做法
Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议, ...
- Robotium 系列(2) - 简单介绍Monkey和MonkeyRunner
除了Robotium,Android还有其他的自动化测试方法,比如Monkey和MonkeyRunner. 这里就做一个简单的介绍和使用方法. 本文提纲: 1. Android SDK以及SDK中的工 ...
随机推荐
- C++头文件,预处理详解
C++遵循先定义,后使用的原则.就拿函数的使用来举例吧. 我看过有些人喜欢这样写函数. #include<iostream> using namespace std; int add(in ...
- Visual Studio 2012 常用快捷键
1. 强迫智能感知:Ctrl+J:2.强迫智能感知显示参数信息:Ctrl-Shift-空格:3.格式化整个块:Ctrl+K+F4. 检查括号匹配(在左右括号间切换): Ctrl +]5. 选中从光标起 ...
- keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群
keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...
- HTTP下载文件名称编码说明
HTTP下载保存文件名 下载文件需要保存的名称 在响应报文头中 Content-Disposition 响应报文头域中指定, 例如 Content-Disposition: attachment; f ...
- SqlServer数据库端口默认是1433吗?
1433端口,是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433.UDP-1434.其中1433用于供SQL Server对外提供服务,1434用于向请求者返回S ...
- 【001:转载 eclipse中颜色的设置】
转自于:http://www.cnblogs.com/arci/archive/2011/01/23/1942646.html Eclipse颜色设置 参考配色方案: http://www.cs.cm ...
- Jenkins TcpSlaveAgentListener Config
http://wenku.baidu.com/link?url=wDbeRoqh8ERRvBKXsKVi7biWe8e369iZmYTfEFDz0aI1Sj5YjXq_AN1gFjFjiS0yBw0W ...
- apache svn subversion安装和配置(使用源码安装包方式)
环境:虚拟机下centos7 1.下载安装包:http://subversion.apache.org/download.cgi 2.上传到指定文件夹并解压 3.安装依赖包 apr apr-utils ...
- gulp watch error ENOSPC
in linux you fix this with the command:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sy ...
- linux上使用amoeba实现MySql集群,以及读写分离,主从复制
一.由于是MySql集群,所以就不可能只有一个MySql,需要多个MySql,具体安装步骤,可以参考http://www.cnblogs.com/ywzq/p/4882140.html这个地址进行安装 ...