Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Не стартуют тесты с AndroidLibrary: Error=Unable to find instrumentation


(Vital Che) #1

Использую robot framework с библиотекой AndroidLibrary

Суть проблемы:
При запуске тестов выпадает ошибка:

In this case we: android.util.AndroidException: INSTRUMENTATION_FAILED: com.mytest.activities.test/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner
at com.android.commands.am.Am.runInstrument(Am.java:586)
at com.android.commands.am.Am.run(Am.java:117)
at com.android.commands.am.Am.main(Am.java:80)
at com.android.internal.os.RuntimeInit.finishInit(Native Method)
INSTRUMENTATION_STATUS: id=ActivityManagerService
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:238)
at INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.mytest.activities.test/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner}
INSTRUMENTATION_STATUS_CODE: -1
dalvik.system.NativeStart.main(Native Method)

Хотя, если запустить напрямую:

calabash-android run Mytest.apk
То так запускаются тесты и приложение.

Еще вот какой инструментарий на девайсе.

adb shell pm list instrumentation
instrumentation:sh.calaba.android.test/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner (target=com.mytest.activities)

Но вот почему в телефоне нет пакета com.mytest.activities.test и почему он не генерируется?!

Подобна проблема для Robotium, пункт 2.


(Dmitry Cheremushkin) #2
  1. Для каждого нового APK, перед запуском теста нужно выполнить:

calabash-android resign app.apk


  1. Перед тестом (или в самом тесте) нужно сделать установку приложения вместе с instrumentation:
  • перед тестом:
    echo 'reinstall_apps' | calabash-android console app.apk

  • в тесте:
    Wait For Device Install Application Start Testserver with apk app.apk