CircleCI espresso test error

I am trying to run Android toolkit tests on CircleCI. They work perfectly on the local computer, both from Android Studio and from the command line. Running CircleCI creates this stack for each test:

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) 

Any suggestions? Here are the relevant parts of circle.yml:

 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 
+5
source share
1 answer

I contacted CircleCI support and asked them to create an example project with espresso tests.

So here he is .

It helps me. Hope this helps you too.

+9
source

Source: https://habr.com/ru/post/1237012/


All Articles