2015-11-28 104 views
5

我試圖在CircleCI上運行Android項目檢測測試。它們都可以在Android Studio和命令行中的本地機器上正常執行。 CircleCI執行生成此堆棧跟蹤爲每個測試: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) 

有什麼建議嗎? 這裏是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 
+1

聽起來像你的應用程序永遠不會跑。你可以讓你的expresso測試截圖,看circleci運行時發生了什麼嗎? – Blundell

+0

您是否設法找到解決方案?我有類似的問題。 – Ivelius

+0

@Ivelius現在還沒有解決方案,如果您發現有問題,請發帖! –

回答

9

我接觸CircleCI支持,並要求他們親切地創建具有咖啡的測試實例項目。

因此here it is

它幫助了我。希望它能幫助你。