Как выполнить тестовые случаи UiAutomator программно в последних версиях Android - PullRequest
0 голосов
/ 07 апреля 2019

Ниже код работает нормально, когда я выполняю с помощью команды оболочки adb.Но если я попробовал с apk, это не работает.Любая помощь?

MainActivity.class

public void onStart() {

    super.onStart();

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Bundle bundle = new Bundle();
            bundle.putString("Test", "value");

            try {
                startInstrumentation(new ComponentName("com.example.mypro.uiauto.test", "android.support.test.runner.AndroidJUnitRunner"),null, bundle);

            } catch (Exception e) {

            }
        }
    });


}

ExampleInstrumentedTest.class

@Test
public void pressHome() {

    UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
    uiDevice.pressHome();
}

1 Ответ

0 голосов
/ 09 апреля 2019

Я попал в ту же ситуацию в прошлом году в августе. Пока вы не можете запустить инструментальные тесты из APK. Вот ссылка Руководство для Android . Потому что в этом случае вы также можете получить доступ к интерфейсу других приложений. Это будет проблемой безопасности в общей ОС Android, где одно приложение открывает другое приложение и выполняет случайные действия, которые представляют угрозу.

Вы можете выполнять инструментальные тесты либо через командную строку / терминал, либо только через Android Studio. Ссылка, которой я поделился, есть колонка с заголовком «Запускать тесты UI Automator на устройстве или эмуляторе».

...