我正在为我的跨应用程序UI自动化应用程序实现UiAutomator。我把它放在AndroidTest类下。它在我运行我的测试类时工作正常,但我需要它从我的应用程序运行(不必将其连接到计算机)。 我找到了这个解决方案,但它无法正常工作:
private void runTests() {
Bundle arguments = new Bundle();
final String packageName = getPackageName();
final List<InstrumentationInfo> list =
getPackageManager().queryInstrumentation(packageName, 0);
if (list.isEmpty()) {
return;
}
final InstrumentationInfo instrumentationInfo = list.get(0);
final ComponentName componentName =
new ComponentName(instrumentationInfo.packageName,
instrumentationInfo.name);
arguments.putString("package", "my package");
startInstrumentation(componentName,null,arguments);
}
显然,检测的UiAutomator参数返回null。知道如何从主应用程序运行UiAutomator?
答案 0 :(得分:1)
这是不可能的。看到类似问题的答案:
UiAutomator 2.0依赖于Instrumentation,只有在使用am instrument运行测试时才可以使用。常规(非测试)应用程序无法访问Instrumentation。