如何使用Android API以编程方式启动Instrumentation项目? (指定测试类!)

时间:2014-02-17 10:58:11

标签: android testing instrumentation

我不能使用像“adb shell am instrument -e class testCase1 ...”这样的推荐,由于某些安全原因,用户应用程序无法使用此权限。

1 个答案:

答案 0 :(得分:3)

从adb shell启动检测的命令:

adb shell am instrument -w com.android.vishal.project.test/android.test.InstrumentationTestRunner   

Android代码从Android Activity启动检测: -

startInstrumentation(new ComponentName("com.android.vishal.project.test", "android.test.InstrumentationTestRunner"), null, null);

注意:

其他方法,

用于启动检测的Android代码(Android 2.3到Android 4.1.2)

String str_cmd = "adb shell am instrument -w com.android.vishal.project.test/android.test.InstrumentationTestRunner";
Runtime.getRuntime().exec(str_cmd);

对于Android 4.2,它需要权限“android.permission.INJECT_EVENTS”&这只是系统应用程序允许的。由于某些安全原因,用户应用程序无法使用此权限。

因此您无法在Android 4.2之后使用Runtime.getRuntime().exec(str_cmd); ...

所以现在的工作方法是:

startInstrumentation(new ComponentName("com.android.vishal.project.test", "android.test.InstrumentationTestRunner"), null, null);

从您的活动中执行此命令。

希望你得到解决方案。

回复任何疑问。