一、Cafe原理
Cafe是一款自动化测试框架,解决问题:跨进程测试、快速深度测试
官网:Cafe
Cafe provides the following benefits:* You can develop test cases across processes by operating them via Cafe.
* You can get & set system state without changed tested application, such as open or close wifi. ——利用android4.2的一个系统漏洞,4.2以上的版本补上了这个漏洞,该项功能应该就失效了
* You can get & set fields of tested objects even invoke functions by calling api.
* The framework can handle system running log for some non-ui check point.
* You can do application UI depth-first travel automated by invoking only one api.
* You can record hand-operations to cafe code and replay it even at another phone or others version android.
二、核心技术
1、跨进程——AIDL分析
AIDL(Android Interface Definition Language——安卓接口定义语言)
AIDL与其他的接口定义语言类似,它允许你定义编程接口,使用进程间通信(Interprocess Communication,简称IPC)来使得client和server之间能够通信。安卓系统中的进程之间不能共享内存,因此需要定义一些机制在不同进程间进行数据通信。
建立AIDL服务的步骤(摘自百度,还得自己试一下,内容不理解)——————aidl_百度百科