我目前正在为Android应用开发自动化的GUI测试工具,为此,我需要跟踪应用中执行的所有输入以及执行它们的活动的屏幕截图。
到目前为止,我已经覆盖了我正在测试的应用程序的任何活动的dispatchTouchEvent。
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
float x = event.getAxisValue(MotionEvent.AXIS_X);
float y = event.getAxisValue(MotionEvent.AXIS_Y);
Log.i("touchtest", x + " " + y);
//code to take screen capture
return super.dispatchTouchEvent(event);
}
但是,这与我所需要的相差很远,因为它需要更改任何活动以进行测试,并且它不会跟踪不属于活动布局的屏幕元素的点击(例如,打开时为虚拟键盘)。
是否有适当的方法来跟踪AVD上发生的任何输入以及屏幕上的屏幕截图?