
MonkeyRunner原理剖析示例
AI产品狙击手
主要会分享人工智能、大语言模型、Diffusion Model等AI技术和产品,请关注我!
个人博客:www.techgogogo.com
展开
-
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第四节 - 图片通用类BufferedImage
根据前面的分析,ADB的framebuffer服务返回来的截屏数据组成的是裸图RawImage,这个裸图更多是ddmlib专用的,而ddmlib又是给Android开发专用的库。所以总体来说RawImage不存在通用的特性,而因为MonkeyRunner的控制代码是运行在主机端的,更多情况下需要用到Java更通用的图像库才能使事情更简单原创 2015-01-24 14:29:34 · 1355 阅读 · 0 评论 -
第6章7节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-注入按键事件实例
在事件生成并放入到命令队列后,Monkey类的runMonkeyCycles就会去调用相应事件源的getNextEvent来获的事件来执行事件注入,那么这一小节我们通过MonkeyKeyEvent这个事件的注入方法来看下事件注入过程是怎么样的。 往系统注入按键事件最终是通过调用InputManager提供的方法来实现的,在Android系统中,按键事件是由InputManager来收集并由Wind原创 2015-12-08 08:43:19 · 1555 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第一节 - 关键类作用及关系
MonkeyRunner框架暴露了几个类的大量的API出去给用户编写脚本时候使用,其中最主要的三个就是: MonkeyDevice目标设备操作类,HierarchyViewer窗口界面对象操作类以及MonkeyImage这个截屏处理类。了解了这3个类以及跟他们相关的关键类的实现原理,基本上可以说MonkeyRunner框架的实现原理就算搞清楚了。因为一个UI自动化测试框架的关键功能无非就是这三样: 操作目标设备,如注射点击事件等;获取控件信息,如获取需要点击的控件的中心坐标等;结果比较。其实这3个类也就是我原创 2015-01-24 12:48:30 · 1317 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第六节 - 截屏图片处理类AdbChimpImage
通过上一小节的分析,我们学习了ChimpImageBase这个实现了IChimpImage接口的抽象类,并知道它有两个子类AdbChimpImage和BufferedImageChimpImage分别代表通过往ADB服务器发送framebuffer服务请求获得的截屏图片和通过加载文件或截取子图获得的图片。原创 2015-01-25 11:03:23 · 1409 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 概览
原创 2015-01-24 13:42:27 · 1582 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第三节 - 裸图RawImage
在今后MonkeyDevice原理分析中我们会学习到,当用户通过编写脚本调用MonkeyDevice的getSnapshot方法来获取当前屏幕截图的时候,最终将会通过AdbHelper的getFrameBuffer方法向ADB服务器发送截屏服务请求”framebuffer:”,ADB服务器在接收到该服务请求后,就会把该本地请求发送给远程目标机器的adbd守护进程进行处理,adbd守护进程原创 2015-01-24 14:16:13 · 1412 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第二节 - ADB截屏服务
要搞清楚MonkeyRunner的截图, 我们必须先了解下图片的一些背景知识。 首先,广义来说,图片分为位图和矢量图。 位图是通过像素堆砌成的;而矢量图是通过算法计算出来的,所以它跟分辨率没有关系。因为MonkeyRunner用到的是位图,所以我们这里更多的是关注位图的相关知识。原创 2015-01-24 14:05:56 · 1408 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第五节 - 图片处理基类ChimpImageBase
根据本章第一节的描述,ChimpImageBase是处理截屏图片的AdbChimpImage和处理来自文件的或者截取子图获得的图片的BufferedChimpImage的父类。这个类里面实现了图片处理的主要方法,MonkeyImage和MonkeyRunner类主要就是通过调用这些方法来完成用户请求的。原创 2015-01-25 11:00:55 · 1348 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第八节 - MonkeyRunner和MonkeyImage图片操作
前面的几个小节我们已经分析了ddmlib和chimpchat库的图片处理相关的类的实现原理了,根据第一节给出来的类关系图,我们还剩下monkeyrunner库相关的类没有进行分析。这个就是本小节需要做的事情。原创 2015-01-25 11:09:29 · 1482 阅读 · 0 评论 -
《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第七节 - 文件图片及子图处理类BufferedImageChimpImage
上一节分析了ChimpImageBase的第一个子类AdbChimpImage,本节将会分析的是第二个子类BufferedImageChimpImage。原创 2015-01-25 11:06:16 · 1326 阅读 · 0 评论 -
第8章2节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-解析处理命令行参数
MonkeyRunnerStarter是MonkeyRunner启动时的入口类,因为它里面包含了main方法.它的整个启动过程主要做了以下几件事情:解析用户启动MonkeyRunner时从命令行传输进来的参数: 因为MonkeyRunner需要根据指定的参数才能做事情,比如输入的一个需要执行的脚本。如果确实不知道任何参数的话它就会进入MonkeyRunner的交互模式,其实就是Jythong的交互原创 2015-12-08 09:13:01 · 1815 阅读 · 0 评论