You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
run a failing test with a view hierarchy large enough
Expected Results
full view hierarchy followed by a stack trace to a failed function
Actual Results
truncated view hierarchy; example:
androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (view.getParent() view.getId() is <2131296782/app.grzegdev.dartsapp.bed_practice.test:id/toolbar> and an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Doubles Stats #1 of 3")
This is unfortunately working as expected. Large test error messages need to be truncated to overflow the Binder transaction limit. See #269
That being said its obviously a poor experience to just truncate the message. At minimum we should be able to save a file or logcat containing the full error message.
Description
see the subject
Steps to Reproduce
run a failing test with a view hierarchy large enough
Expected Results
full view hierarchy followed by a stack trace to a failed function
Actual Results
truncated view hierarchy; example:
androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (view.getParent() view.getId() is <2131296782/app.grzegdev.dartsapp.bed_practice.test:id/toolbar> and an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Doubles Stats #1 of 3")
View Hierarchy:
+>DecorView{id=-1, visibility=VISIBLE, width=1220, height=2643, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params={(0,0)(fillxfill) ty=BASE_APPLICATION wanim=0x10302fe
fl=LAYOUT_IN_SCREEN LAYOUT_INSET_DECOR SPLIT_TOUCH HARDWARE_ACCELERATED DRAWS_SYSTEM_BAR_BACKGROUNDS
pfl=FORCE_DRAW_STATUS_BAR_BACKGROUND}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+->LinearLayout{id=-1, visibility=VISIBLE, width=1220, height=2595, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@75a1821, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+-->ViewStub{id=16908692, res-name=action_mode_bar_stub, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@f3c8446, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+-->FrameLayout{id=-1, visibility=VISIBLE, width=1220, height=2523, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@135d607, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=72.0, child-count=1}
|
+--->FitWindowsLinearLayout{id=2131296308, res-name=action_bar_root, visibility=VISIBLE, width=1220, height=2523, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@41f155d, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+---->ViewStubCompat{id=2131296320, res-name=action_mode_bar_stub, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@cac9ed2, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+---->ContentFrameLayout{id=16908290, res-name=content, visibility=VISIBLE, width=1220, height=2523, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@64fcba3, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+----->CoordinatorLayout{id=2131296449, res-name=coordinator, visibility=VISIBLE, width=1220, height=2523, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@3178ea0, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+------>AppCompatImageView{id=2131296370, res-name=background, desc=background with dartboard of water and fire, visibility=VISIBLE, width=1220, height=2523, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams@e3caa59, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+------>AppBarLayout{id=2131296362, res-name=app_bar, visibility=VISIBLE, width=1220, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams@591d61e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+------->Toolbar{id=2131296782, res-name=toolbar, visibility=VISIBLE, width=1220, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=com.google.android.material.appbar.AppBarLayout$LayoutParams@7897eff, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=4}
|
+-------->AppCompatTextView{id=-1, visibility=VISIBLE, width=534, height=81, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@276f4cc, tag=null, root-is-layout-requested=false, has-input-connection=false, x=216.0, y=12.0, text=Doubles Stats #1/3, input-type=0, ime-target=false, has-links=false}
|
+-------->AppCompatImageButton{id=-1, desc=Navigate up, visibility=VISIBLE, width=168, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@d049315, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+-------->AppCompatTextView{id=-1, visibility=VISIBLE, width=620, height=63, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@701362a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=216.0, y=93.0, text=Jun 25, 2021 5:53 PM - 0 min, input-type=0, ime-target=false, has-links=false}
|
+-------->ActionMenuView{id=-1, visibility=VISIBLE, width=264, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@8810c1b, tag=null, root-is-layout-requested=false, has-input-connection=false, x=956.0, y=0.0, child-count=2}
|
+--------->ActionMenuItemView{id=2131296328, res-name=action_settings, desc=Last X Weeks Accuracy Setting, visibility=VISIBLE, width=144, height=144, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.ActionMenuView$LayoutParams@88491b8, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=12.0, text=, input-type=0, ime-target=false, has-links=false}
|
+--------->OverflowMenuButton{id=-1, desc=More options, visibility=VISIBLE, width=120, height=144, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.ActionMenuView$LayoutParams@1284b91, tag=null, root-is-layout-requested=false, has-input-connection=false, x=144.0, y=12.0}
|
+------>FrameLayout{id=2131296344, res-name=activity_content, visibility=VISIBLE, width=1220, height=2355, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams@8548af6, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=168.0, child-count=1}
|
+------->CoordinatorLayout{id=-1, visibility=VISIBLE, width=1220, height=2355, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@e9a4ef7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+-------->ConstraintLayout{id=-1, visibility=VISIBLE, width=1220, height=2355, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams@5cd1164, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+--------->MyAdView{id=2131296351, res-name=ad_view_stats, visibility=VISIBLE, width=1220, height=300, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@af50fcd, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=6.0, child-count=1}
|
+---------->FrameLayout{id=2131296349, res-name=ad_view_container, desc=Advertisement, visibility=VISIBLE, width=1220, height=300, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@ab66082, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+----------->MaterialTextView{id=2131296350, res-name=ad_view_placeholder, visibility=VISIBLE, width=1220, height=300, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@79ae393, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Advertisement
Emulator, input-type=0, ime-target=false, has-links=false}
|
+----------->AdView{id=-1, visibility=VISIBLE, width=1220, height=300, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@4fbdfd0, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+------------>FrameLayout{id=-1, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@84fdbc9, tag=null, root-is-layout-requested=false, has-input-connection=false, x=610.0, y=150.0, child-count=0}
|
+--------->NestedScrollView{id=2131296686, res-name=scroll_view, visibility=VISIBLE, width=1220, height=2037, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@56e02ce, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=318.0, child-count=1}
|
+---------->LinearLayoutCompat{id=-1, visibility=VISIBLE, width=1220, height=2638, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@e0625ef, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=6}
|
+----------->MaterialTextView{id=2131296458, res-name=dartboard_chart_heading, visibility=VISIBLE, width=1220, height=65, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.LinearLayoutCompat$LayoutParams@e0728fc, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Accuracy Dartboard Chart, input-type=0, ime-target=false, has-links=false}
|
+----------->FragmentContainerView{id=2131296457, res-name=dartboard_chart_fragment, visibility=VISIBLE, width=1172, height=1256, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.LinearLayoutCompat$LayoutParams@6716b85, tag=dartboard_chart_fragment, root-is-layout-requested=false, has-input-connection=false, x=24.0, y=77.0, child-count=1}
|
+------------>DartboardChart{id=2131296456, res-name=dartboard_chart, visibility=VISIBLE, width=1172, height=1256, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@aeb7dda, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=0}
|
+----------->MaterialTextView{id=2131296372, res-name=bar_chart_heading, visibility=VISIBLE, width=1220, height=65, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.LinearLayoutCompat$LayoutParams@739320b, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1381.0, text=Accuracy Bar Chart, input-type=0, ime-target=false, has-links=false}
|
+----------->PortraitBarChart{id=2131296371, res-name=bar_chart, visibility=VISIBLE, width=1172, height=380, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.LinearLayoutCompat$LayoutParams@1bd8e8, tag=null, root-is-layout-requested=false, has-input-connection=false, x=24.0, y=1458.0, child-count=0}
|
+----------->MaterialTextView{id=2131296740, res-name=table_heading, visibility=VISIBLE, width=1220, height=65, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.LinearLayoutCompat$LayoutParams@3623b01, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1898.0, text=Accuracy Table, input-type=0, ime-target=false, has-links=false}
|
+----------->TableLayout{id=2131296734, res-name=stats_table, visibility=VISIBLE, width=1172, height=483, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.LinearLayoutCompat$LayoutParams@2939da6, tag=null, root-is-layout-requested=false, has-input-connection=false, x=24.0, y=1975.0, child-cou
AndroidX Test and Android OS Versions
Android 10.0
Link to a public git repo demonstrating the problem:
The text was updated successfully, but these errors were encountered: