引用:
启动activity 可以使用InstrumentationTestCase 发送手机事件 Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN); Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER); 使用android的测试功能,写一个类继承InstrumentationTestCase 然后在这个类里获得Instrumentation实例,通过它可以启动Activity,发送手机事件等 ------------------------------------------------------ import android.app.Instrumentation; import android.content.ContentResolver; public class ActivityTest extends InstrumentationTestCase { private Instrumentation mInst = null; private ContentResolver mContentResolver = null; @Override protected void setUp() throws Exception { super.setUp(); mInst = getInstrumentation(); mContentResolver = mInst.getContext().getContentResolver(); } public void testStartActivity() throws Exception { //launch activity Intent intent = new Intent(Intent.ACTION_MAIN); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); String activityPackagePath = "com.android."; intent.setClassName(activityPackagePath, TargetActivity.getClass().getName()); TargetActivity mActivity = (TargetActivity) getInstrumentation().startActivitySync(intent); mInst.waitForIdleSync(); //send keyevent to press button mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN); mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER); mInst.waitForIdleSync(); } } =================================== View.performClick();
MotionEvent me=MotionEvent.obtain(0,0,MotionEvent.ACTION_DOWN,x,y,0);
onTouch(mPageWidget, me);
|