要搞清楚MonkeyRunner的截图, 我们必须先了解下图片的一些背景知识。
首先,广义来说,图片分为位图和矢量图。 位图是通过像素堆砌成的;而矢量图是通过算法计算出来的,所以它跟分辨率没有关系。因为MonkeyRunner用到的是位图,所以我们这里更多的是关注位图的相关知识。...
分类:
数据库 时间:
2015-01-24 16:01:36
阅读次数:
192
根据前面的分析,ADB的framebuffer服务返回来的截屏数据组成的是裸图RawImage,这个裸图更多是ddmlib专用的,而ddmlib又是给Android开发专用的库。所以总体来说RawImage不存在通用的特性,而因为MonkeyRunner的控制代码是运行在主机端的,更多情况下需要用到Java更通用的图像库才能使事情更简单...
分类:
其他好文 时间:
2015-01-24 16:01:11
阅读次数:
95
在今后MonkeyDevice原理分析中我们会学习到,当用户通过编写脚本调用MonkeyDevice的getSnapshot方法来获取当前屏幕截图的时候,最终将会通过AdbHelper的getFrameBuffer方法向ADB服务器发送截屏服务请求”framebuffer:”,ADB服务器在接收到该服务请求后,就会把该本地请求发送给远程目标机器的adbd守护进程进行处理,adbd守护进程...
分类:
其他好文 时间:
2015-01-24 15:59:42
阅读次数:
95
MonkeyRunner框架暴露了几个类的大量的API出去给用户编写脚本时候使用,其中最主要的三个就是: MonkeyDevice目标设备操作类,HierarchyViewer窗口界面对象操作类以及MonkeyImage这个截屏处理类。了解了这3个类以及跟他们相关的关键类的实现原理,基本上可以说MonkeyRunner框架的实现原理就算搞清楚了。因为一个UI自动化测试框架的关键功能无非就是这三样: 操作目标设备,如注射点击事件等;获取控件信息,如获取需要点击的控件的中心坐标等;结果比较。其实这3个类也就是我...
分类:
其他好文 时间:
2015-01-24 14:34:47
阅读次数:
151
1. 背景
鉴于网上使用MonkeyImage的实例除了方法sameAs外很难找到,所以本人把实践各个API的过程记录下来然自己有更感性的认识,也为往后的工作打下更好的基础。同时也和上一篇文章《MonkeyDevcie
API 实践全记录》起到相互呼应的作用。
因为并没有MonkeyRunner的项目背景,所以这里更多的是描述各个API是怎么一回事,而不是描述在什么场景下需要用到。也...