Prueba de prueba de Espresso en CircleCI
Estoy tratando de ejecutar pruebas de instrumentación de proyectos de Android en CircleCI. Se ejecutan bien en una máquina local, tanto de Android Studio y la línea de comandos. La ejecución de CircleCI genera este stacktrace para cada prueba:
java.lang.RuntimeException: Waited for the root of the view hierarchy to have window focus and not be requesting layout for over 10 seconds. If you specified a non default root matcher, it may be picking a root that never takes focus. Otherwise, something is seriously wrong. Selected Root: Root{application-window-token=android.view.ViewRootImpl$W@677cf28, window-token=android.view.ViewRootImpl$W@677cf28, has-window-focus=false, layout-params-type=1, layout-params-string=WM.LayoutParams{(0,0)(fillxfill) sim=#100 ty=1 fl=#81810100 wanim=0x1030466 surfaceInsets=Rect(0, 0 - 0, 0) needsMenuKey=2}, decor-view-string=DecorView{id=-1, visibility=VISIBLE, width=480, height=800, has-focus=true, has-focusable=true, has-window-focus=false, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}} . All Roots: Root{application-window-token=android.view.ViewRootImpl$W@677cf28, window-token=android.view.ViewRootImpl$W@677cf28, has-window-focus=false, layout-params-type=1, layout-params-string=WM.LayoutParams{(0,0)(fillxfill) sim=#100 ty=1 fl=#81810100 wanim=0x1030466 surfaceInsets=Rect(0, 0 - 0, 0) needsMenuKey=2}, decor-view-string=DecorView{id=-1, visibility=VISIBLE, width=480, height=800, has-focus=true, has-focusable=true, has-window-focus=false, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}} at android.support.test.espresso.base.RootViewPicker.get(RootViewPicker.java:99) at android.support.test.espresso.ViewInteractionModule.provideRootView(ViewInteractionModule.java:69) at android.support.test.espresso.ViewInteractionModule_ProvideRootViewFactory.get(ViewInteractionModule_ProvideRootViewFactory.java:23) at android.support.test.espresso.ViewInteractionModule_ProvideRootViewFactory.get(ViewInteractionModule_ProvideRootViewFactory.java:9) at android.support.test.espresso.base.ViewFinderImpl.getView(ViewFinderImpl.java:68) at android.support.test.espresso.ViewInteraction$1.run(ViewInteraction.java:120) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5257) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
¿Alguna sugerencia? Aquí están las partes relevantes de circle.yml:
- Gradle kotlin Método no soportado Dependencies.getAtoms ()
- Android Studio 1.0 Gradle Error con getConfiguration ()
- Dependencias de Gradle: Cómo averiguar qué está causando esta duplicación
- Implementación de Gradle vs configuración de API
- Android Studio "La compatibilidad con NDK actual está obsoleta"
machine: environment: ANDROID_HOME: /usr/local/android-sdk-linux ADB_INSTALL_TIMEOUT: 8 dependencies: override: - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-21.1.2,android-22,extra-google-m2repository,extra-google-google_play_services,extra-android-support - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies test: override: - emulator -avd circleci-android22 -no-audio -no-window: background: true parallel: true - circle-android wait-for-boot # Build everything first - ./gradlew assembleDebugAndroidTest # Remove the look screen - adb shell input keyevent 82 - sleep 5 - ./gradlew connectedAndroidTest # copy the build outputs to artifacts - cp -r my-project/build/outputs $CIRCLE_ARTIFACTS # copy the test results to the test results directory. - cp -r my-project/build/outputs/androidTest-results/* $CIRCLE_TEST_REPORTS - (./gradlew assemble): timeout: 360
- Argumentos de la línea de comandos a la prueba de instrumento Android usando gradle
- Android - La ejecución falló para la tarea ': app: compileDebugJavaWithJavac'
- Bloqueo con NoSuchMethodError después proguard con referencias de método
- ActionBar Sherlock con Android Studio 0.2.2
- Android Studio 2.3 Actualizar no abrir la aplicación
- No se puede ejecutar ndk-build en el estudio de Android desde gradle on osx yosemite
- Gradle: Error: más de una biblioteca con el nombre del paquete 'com.google.android.gms'
- Duplicar archivos al agregar la compilación con Gradle en Android Studio
He contactado con el apoyo de CircleCI y les he pedido gentilmente que creen un proyecto de ejemplo con pruebas de espresso.
Así que aquí está .
Me ayudó. Espero que te ayude también.
- ¿Cómo evitar que ScrollView intercepte eventos de clic / toque de la vista detrás de él?
- Configuración regional: onConfigurationChanged not called