上一节我们描述了monkey的命令处理入口函数run是如何调用optionProcess方法来解析命令行参数的。启动参数主要时去指导Monkey时怎么运行起来的,但Monkey作为MonkeyRunner框架的一部分,更重要的是如何将从MonkeyRunner测试脚本出发的命令转化成事件来注入到系统中以进行测试自动化。如前面所说,run方法除了对启动参数进行解析之外还做了很多其他的事情,比如这一小节需要分析的去建立对...
分类:
其他好文 时间:
2015-03-07 22:48:01
阅读次数:
506
设置好Monkey的CLASSPATH环境变量以指定”/system/framework /framework/monkey.jar“后,/system/bin/monkey这个shell脚本就会通过app_process命令指定monkey的入口类” “com.android.commands.monkey.Monkey”找到main函数开始运行。在运行之前会有一些初始化的工作需要做,其中很重要的一项就是去把用户提...
分类:
其他好文 时间:
2015-03-07 22:47:50
阅读次数:
227
事件源代表要注入系统的命令事件数据是从哪里过来的。这一小节我们不会对事件源的实现进行深入的分析,因为下一章会做这个事情。这里大家对事件源有个基本概念就足够了。...
分类:
其他好文 时间:
2015-03-07 22:46:57
阅读次数:
162
Monkey启动之后需要在整个MonkeyRunner的测试生命周期中提供服务,也就是说,一旦我们调用monkeyrunner命令来执行指定的测试脚本的时候,只要monkeyrunner还没有退出,那么Monkey就会一直提供服务,一直监听获取并处理从MonkeyRunner测试脚本发送过来的相应的命令。那么要实现这种一直监听的处理我们很自然就想到需要用一个循环来处理了。其实Monkey也不例外,我们往下会分析它是怎...
分类:
其他好文 时间:
2015-03-07 22:45:25
阅读次数:
167
本文档的目的是去文档化一个客户端请求ADB服务器往adbd守护进程发送文件相关的请求。请查看OVERVIEW.TXT文档去查看(ADB服务器和adbd守护进程)相关信息,查看SERVICES.TXT去学习其他更多的可用请求。...
分类:
数据库 时间:
2015-03-07 20:04:52
阅读次数:
202
ADB服务器端在接受到ADB客户端发送过来的命令后会进行相应的处理,如果是主机服务就在ADB服务器内部进行处理,如果是本地服务就会发送给Android目标机器端的adbd守护进程进行处理。
因为ADB相关的源代码不在我们源码分析的范围之内,所以我们很有必要把官方提供的ADB服务器支持的所有服务在这里描述下。虽然本人对自己的英语水平相当有信心,但总担心有词不达意的时候,所以翻译的过程中把英文也保留了下来以供大家参考。...
分类:
数据库 时间:
2015-03-07 20:03:33
阅读次数:
172
在上一节的第一个“增加日记”的示例中,我们并没有看到日记是否真的增加成功了,也就是说当时并没有进行结果比较。其实在MonkeyRunner框架中,测试结果的比较往往都是通过截屏比对来完成的。而截屏比对相关的方法主要是由MonkeyImage这个类来实现的,但截屏这个动作确是由MonkeyDevice提供的takeSnapshot这个方法来达成的。所以这一节我们主要就是去熟悉截屏比对相关的测试代码编写的基础知识。...
上一节我们学习了如何通过MonkeyRunner这个类的静态方法waitForConnection来把后台和设备建立好连接,且看到了在建立连接成功后,该方法会返回来一个MonkeyDevice的实例对象。那么这一节我们就通过编写一些脚本代码示例来了解学习下MonkeyDevice这个类的使用方法...
天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文“寻求合作伙伴编写《深入理解 MonkeyRunner》书籍“。但因为诸多原因,没有如愿。所以这里把草稿分享出来,所以错误在所难免。有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息。
关于ADB的实现记录。I. 概览安卓调试桥(ADB)是用来: 跟踪管理所有连接上或者运行在开发主机上的安卓设备或者模拟器实例。其实现了各种控制...
分类:
数据库 时间:
2015-03-07 18:41:19
阅读次数:
187
天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文“寻求合作伙伴编写《深入理解 MonkeyRunner》书籍“。但因为诸多原因,没有如愿。所以这里把草稿分享出来,所以错误在所难免。有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息。
MonkeyRunner这个类可以说是编写monkeyrunner脚本的入口,因为这个类有一个很重要的方法watForConnection,它...