Android之Monkey源码分析(第二篇:Monkey的事件来源与事件的总体设计思想)

本文深入解析Monkey自动化测试工具的事件来源及事件设计思想,涵盖随机事件、脚本事件及Socket事件等多种来源方式,并介绍了各类事件的具体实现。

前言

    认真阅读了monkey程序的源码,没想到monkey程序除了支持从命令行直接执行外,还支持从特定的文件中读取【命令】执行,还可以从Socket中读取【命令】执行,当然这些【命令】得符合monkey程序的规范,这真是太牛逼了……monkey程序是2009年左右的代码,程序太稳了,几乎没有新的代码更新,如果你写过Android App,你会发现monkey程序与Android App截然不同,monkey程序是脱离Android App框架执行流的程序,每个Android App的主线程,也称作Ui线程,主线程涉及大量的GUI界面工作,monkey程序没有GUI界面,它是一个CLI程序,即命令行程序,它的主线程全部用来执行业务逻辑,这也是和带有界面的App程序的不同点!

    在Android平台启动Java程序仍然脱离不了app_process这个c++程序,ART虚拟机是在app_process这个程序中启动的,所以monkey程序中也有Binder线程池的参与,它也能使用跨进程通信的Binder、也能使用Framework中的Java API,比如ActivityManger等等,这就是Android的标准。

    今天将分析monkey程序支持的事件来源、以及各种事件的设计思想

    先带着几个问题,继续我们今天的阅读

1、monkey程序支持哪些【事件来源】呢?

2、monkey程序又支持哪些【事件】呢?

3、不同的事件来源,包含的事件有什么区别?

这里注意事件来源与事件本身不是一回事,请继续向下阅读……

Monkey支持的4个事件来源

1、随机事件来源

解释:由命令行参数传递进去,我们日常使用monkey,一般使用的是这种

2、从单个脚本文件作为事件来源

解释:脚本文件路径由命令行参数传递到monkey中

3、从多个脚本文件中的随机选取其中一个脚本文件作为事件来源

解释:所有脚本文件的路径从命

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值