Как запустить UiAutomator из MainActivity?
Я внедряю 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 инструментария возвращается нулевым. Есть идеи, как запустить UiAutomator из основного приложения?
1 ответ
Это невозможно. Посмотрите этот ответ на похожий вопрос:
UiAutomator 2.0 опирается на инструментарий, который доступен только при запуске теста с использованием инструмента am Instrument. Обычные (не тестовые) приложения не имеют доступа к инструментарию.
/questions/14675204/myi-mozhem-ispolzovat-uiautomator-v-prilozheniyah-dlya-android/14675213#14675213