2015-11-28 20 views
5

Tôi đang cố chạy thử nghiệm thiết bị đo dự án Android trên CircleCI. Chúng hoạt động tốt trên một máy cục bộ, cả từ Android Studio và dòng lệnh. Việc thực hiện CircleCI tạo ra stacktrace này cho mọi thử nghiệm:Lỗi kiểm tra Espresso trên 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) 

Bất kỳ đề xuất nào? Dưới đây là phần liên quan của circle.yml: hỗ trợ 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

có vẻ như ứng dụng của bạn chưa bao giờ chạy. Bạn có thể nhận được các bài kiểm tra expresso của bạn để chụp ảnh màn hình để xem những gì đang xảy ra khi circleci chạy nó? – Blundell

+0

Bạn đã tìm được giải pháp chưa? Tôi có vấn đề tương tự. – Ivelius

+0

@Ivelius Chưa có giải pháp, xin vui lòng gửi nếu bạn tìm thấy một cái gì đó! –

Trả lời

9

tôi đã liên lạc và yêu cầu họ vui lòng để tạo ra một dự án ví dụ với các bài kiểm tra espresso.

Vì vậy, here it is.

Nó đã giúp tôi. Hy vọng nó sẽ giúp bạn là tốt.

Các vấn đề liên quan