如何从MainActivity运行UiAutomator?

时间:2016-02-17 15:58:20

标签: java android ui-automation android-uiautomator

我正在为我的跨应用程序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?

1 个答案:

答案 0 :(得分:1)

这是不可能的。看到类似问题的答案:

  

UiAutomator 2.0依赖于Instrumentation,只有在使用am instrument运行测试时才可以使用。常规(非测试)应用程序无法访问Instrumentation。

https://stackoverflow.com/a/29419540/1999084