国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > 第1章2节《MonkeyRunner源码剖析》概述:边界(原创)

第1章2节《MonkeyRunner源码剖析》概述:边界(原创)

来源:程序员人生   发布时间:2015-03-31 07:50:35 阅读次数:3597次

天地会珠海分舵注:本来这1系列是准备出1本书的,详情请见早前博文“寻求合作火伴编写《深入理解 MonkeyRunner》书籍“。但由于诸多缘由,没有如愿。所以这里把草稿分享出来,所以毛病在所难免。有需要的就参考下吧,转发的话还请保存每篇文章结尾的出处等信息。

边界


怎样样才算分析清楚1个事物的原理是甚么呢?就之前面提到的《LINUX内核源代码情形分析》为例子,分析到甚么程度算是把Linux内核给分析清楚呢?1个操作系统内核的原理不过是要描写清楚这几个核心是如何工作的:

  • 进程管理和CPU调度
  • 装备驱动
  • 文件系统

那末它会去分析CPU的电路是怎样实现的吗?或它会去分析1个iSCSI的HBA卡的固件代码是怎样实现的吗?都不会,由于它超越了该书的边界。对CPU这个例子,在这类情况下你只需要知道CPU提供的接口是怎样工作的就好了,比如它的寄存器的功能是甚么,谁用来存储代码,谁用来存储地址,等等;对iSCSI这个例子,只需要分析到iSCSI协议是怎样工作的,知道该HBA里面的固件代码有实现相应的协议来做相应的事情就够了,就好比你只需要知道往1个PLC的针脚发送指定的指令,返回的将会是对应的某个值1样。

那末它会去分析C语言的实现原理吗?大家都知道Linux内核大部份是用C语言编写的。也不会,由于这些知识是你在浏览该书籍之前就必须掌握的。

同理,仿效该大作,本书也应当有所为有所不为,不然1本书出来终究甚么都包括了的话终究可能出来的不单单是描写MonkeyRunner的运行原理,乃至是描写安卓操作系统的实现原理了,到时就真的是4不像了。这样就算我有时间和能力把它写出来,相信你也没心情把它给读完了。

那末我们在分析MonkeyRunner的源代码来剖析它的运行原理的进程中,它的边界应当以下:

  • 不会去分析安卓操作系统的源代码。在需要用到相应的API或服务的时候会对其进行描写。比如在分析MonkeyRunner是如何注入事件来动身屏幕点击事件的时候,不会去分析使用到的安卓系统的InputManager和牵涉到的安卓内核的源码,只需要知道它是做这样的事情的就够了
  • 不会去分析ADB的任何源代码,由于ADB的代码分析已足可编写另外1本书了。但我们还是会去描写ADB各个部件的原理是甚么和它的协议的详细信息和给出经常使用的ADB命令的示例及描写

同时为了保证你可以顺利的浏览本文的所有内容,我会建议你最好先准备下以下的知识:

  • Java语言基础:由于MonkeyRunner所用到的库都是用java写的
  • Python语言基础 : 由于MonkeyRunner的测试脚本都是通过Python语言进行编写的,而本书会有相当1部份的脚本示例
  • 安卓界面利用基本知识:比如了解下Activity活动在安卓中是怎样回事,Intent大概又是怎样1回事等等。不需要了解的很深,只需要有基本概念就够了

最后我们看下我们要分析的对象-MonkeyRunner。MonkeyRunner是1个安卓平台用户界面自动化测试框架,这个框架内部实际上是通过量个库协同工作组成的,以下会列出牵涉到的库并标明本人当前分析的该库的对应版本是甚么,以避免造成没必要要的混乱:
这里写图片描述
表1⑵⑴ 分析目标的版本列表


作者:天地会珠海分舵
微信公众号:TechGoGoGo
微博:http://weibo.com/techgogogo
CSDN:http://blog.csdn.net/zhubaitian

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生