2015-11-28 16 views
5

Sto provando a eseguire test di strumentazione di progetto Android su CircleCI. Eseguono bene su una macchina locale, sia da Android Studio che dalla riga di comando. L'esecuzione CircleCI genera questo stacktrace per ogni test:Errore test Espresso su CircleCI

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{[email protected], [email protected], 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{[email protected], [email protected], 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) 

Qualche suggerimento? Qui ci sono parti rilevanti del circle.yml: supporto CircleCI

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 
+1

sembra che la tua app non sia mai stata pubblicata. Potresti fare i tuoi test expresso per fare uno screenshot per vedere cosa sta succedendo quando circleci lo esegue? – Blundell

+0

Sei riuscito a trovare una soluzione? Ho un problema simile – Ivelius

+0

@Ivelius Nessuna soluzione ancora, per favore posta se trovi qualcosa! –

risposta

9

ho contattato e chiesto loro gentilmente di creare un progetto di esempio con i test per caffè espresso.

Quindi here it is.

Mi ha aiutato. Spero che ti possa aiutare.

Problemi correlati