android 事件捕获

简介: 引用:http://sswilliam.blog.163.com/blog/static/18969638320111123246522/ GUI自动化测试一般离不开脚本的录制 经过调研,在Android上主要有两种思路: 1. 通过AspectJ在所有的事件处理函数前加上一段函数用来捕获事件, Android版本的foneMonkey就是采用这个思路。

引用:http://sswilliam.blog.163.com/blog/static/18969638320111123246522/

GUI自动化测试一般离不开脚本的录制

经过调研,在Android上主要有两种思路:
1. 通过AspectJ在所有的事件处理函数前加上一段函数用来捕获事件, Android版本的foneMonkey就是采用这个思路。这实际上就是一种代码的注入。
如:
pointcut captureOnClick() : (execution(* onClick(View)));
 
// AspectJ compiler does not like a tab for indenting this line?!?!?!
// (And presumably many others)
    before(): captureOnClick()
{
AutomationManager.record("Click", thisJoinPoint.getArgs());
 
}
优点是实现起来简单,而且事件针对性强,只对添加事件处理函数的widget有效,容易理解
缺点是测试需要源代码,而且没有添加事件处理函数的组件上的交互事件就无法捕获。
这是一种比较高层的捕获
 
2.通过JDPA与dalvik 虚拟机进行交互,通过在那些可以派发事件的函数上添加断点,然后通过分析当前vm的stackframe来获取相应的信息。
有点是不需要代码,只有apk文件也同样可以进行录制,而且面向的是底层的虚拟机,可以捕获底层事件
缺点
相关文章
|
Android开发
Android--按钮点击事件
  Android中Button的点击事件非常简单,主要是一个内部类的问题   在界面上存在两个按钮和一个文本框,点击不同按钮的时候文本框中显示不同按钮的文字信息   布局代码xml...
1135 0
|
Android开发 数据格式 XML
监听android:drawableLeft和android:drawableRight点击事件
监听android:drawableLeft和android:drawableRight点击事件 Android官方没有提供对android:drawableLeft和android:drawableRight点击事件的监听,但有些情况下,如下面的搜索栏, 需要在用户输入字符点击左侧的搜索图标后触发搜索事件,而此搜索icon是通过android:drawableLeft添加的,此时就需要对android:drawableLeft上去的icon进行事件监听。
2073 0
|
Android开发 数据格式 XML
|
Java Android开发
Android零基础入门第35节:Android中基于回调的事件处理
原文:Android零基础入门第35节:Android中基于回调的事件处理    通过前面两期掌握了Android中基于监听的事件处理的五种形式,那么本期一起来学习Android中基于回调的事件处理。     一、基于回调的事件处理概述       基于监听的事件处理机制,简单说就是为事件源(组件)添加一个监听器,然后当用户触发了事件后交给监听器去处理,根据不同的事件执行不同的操作。
1338 0
|
XML Java Android开发
Android零基础入门第34节:Android中基于监听的事件处理
原文:Android零基础入门第34节:Android中基于监听的事件处理    上一期我们学习了Android中的事件处理,也详细学习了Android中基于监听的事件处理,同时学会了匿名内部类形式,那么本期继续来学习其他四种事件监听器。
1254 0