Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermittent UI test failure - < ThreeDotMenuTest. privateBrowsingTabNavigationTest > #2085

Open
AndiAJ opened this issue Nov 7, 2022 · 11 comments
Labels
eng:disabled-test For any test that has been disabled eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer eng:ui-test UI Tests

Comments

@AndiAJ
Copy link
Contributor

AndiAJ commented Nov 7, 2022

Firebase Test Run: Firebase link

Stacktrace:

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches multiple views in the hierarchy.
Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@c5a5571, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@ee4ff56, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@1ce8cc4, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=17}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@76dd7ad, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@e49bae2, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@9219e73, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@189b130, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@6bd41a9, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@a4ca32e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@fedaecf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@690b05c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@47f4f65, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@183c43a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@7a67648, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@d9a7ce1, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@3d9ea06, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@fbaa8c7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@2d0aef4, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@ce1061d, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@31aa092, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@22f0a63, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@ec3c660, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@e0ce719, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@9fde9bf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@70ee88c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@175afea, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@3b162db, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@1ab6051, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@cf6e0b6, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@777bd24, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@774b08d, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@8275253, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@3058790, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text

Build: 11/6 Main

@AndiAJ AndiAJ added eng:ui-test UI Tests eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer labels Nov 7, 2022
@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 6, 2022

Flaky 1x on 12/4 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 8, 2022

Flaky 1x on 12/7 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 9, 2022

Flaky 1x on 12/8 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 12, 2022

Flaky 1x on 12/9 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 19, 2022

Flaky 1x on 12/17 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Jan 3, 2023

Flaky 1x on 1/2 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapxwrap) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013e surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Jan 19, 2023

Flaky 1x on 1/19 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapx1225) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013b surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
The complete view hierarchy is available in artifact file 'view-hierarchy-1.txt'.
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Feb 2, 2023

Failed 1x on 2/1 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=706, height=1225, 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={(985,559)(wrapx1225) gr=TOP START CENTER DISPLAY_CLIP_VERTICAL sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013b surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=706, height=1225, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=25.0, y=35.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
The complete view hierarchy is available in artifact file 'view-hierarchy-1.txt'.
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Feb 8, 2023

Flaky 1x on 2/7 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=694, height=1209, 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={(386,1658)(wrapx1209) gr=TOP START CENTER sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f13013d surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=694, height=1209, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296666, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=694, height=1209, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296668, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=19.0, y=27.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
The complete view hierarchy is available in artifact file 'view-hierarchy-1.txt'.
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Apr 21, 2023

Flaky 1x on 4/21 Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=694, height=1209, 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={(386,1658)(wrapx1209) gr=TOP START CENTER sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f130149 surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=694, height=1209, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296668, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=694, height=1209, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296670, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=19.0, y=27.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
The complete view hierarchy is available in artifact file 'view-hierarchy-1.txt'.
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented May 2, 2023

Failed 1x on 5/2 Main
Firebase link
Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'view.getContentDescription() is "Forward"' matches 2 views in the hierarchy:

  • [1] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
  • [2] AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, has-window-focus=false, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
    Problem views are marked with 'MATCHES' below.

View Hierarchy:
+>PopupDecorView{id=-1, visibility=VISIBLE, width=694, height=1209, 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={(386,1658)(wrapx1209) gr=TOP START CENTER sim={state=unchanged} ty=APPLICATION_PANEL fmt=TRANSLUCENT wanim=0x7f130149 surfaceInsets=Rect(0, 0 - 0, 0) (manual)
fl=ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED FLAG_LAYOUT_ATTACHED_IN_DECOR
pfl=WILL_NOT_REPLACE_ON_RELAUNCH LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME
fitTypes=STATUS_BARS NAVIGATION_BARS CAPTION_BAR}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->MenuView{id=-1, visibility=VISIBLE, width=694, height=1209, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-->CardView{id=2131296668, res-name=mozac_browser_menu_cardView, visibility=VISIBLE, width=694, height=1209, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->RecyclerView{id=2131296670, res-name=mozac_browser_menu_recyclerView, visibility=VISIBLE, width=656, height=1155, 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=android.widget.FrameLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=19.0, y=27.0, child-count=9}
|
+---->LinearLayout{id=-1, visibility=VISIBLE, width=656, height=147, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+----->AppCompatImageButton{id=-1, desc=Forward, visibility=VISIBLE, width=218, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} MATCHES
|
+----->AppCompatImageButton{id=-1, desc=Refresh, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=218.0, y=0.0}
|
+----->AppCompatImageButton{id=-1, desc=Stop, visibility=VISIBLE, width=219, height=147, has-focus=false, has-focusable=true, 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=android.widget.LinearLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=437.0, y=0.0}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=147.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Share, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=273.0, child-count=1}
|
+----->SwitchCompat{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=126, has-focus=false, has-focusable=true, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=0.0, text=Request desktop site, input-type=0, ime-target=false, has-links=false, is-checked=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=399.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add to homescreen, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=525.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Find in Page, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=651.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Add-ons, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=777.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Synced Tabs, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=903.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Report issue, input-type=0, ime-target=false, has-links=false}
|
+---->ConstraintLayout{id=-1, visibility=VISIBLE, width=656, height=126, has-focus=false, has-focusable=true, 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.recyclerview.widget.RecyclerView$LayoutParams@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1029.0, child-count=1}
|
+----->AppCompatTextView{id=2131296596, res-name=label, visibility=VISIBLE, width=572, height=57, 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@YYYYYY, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=35.0, text=Settings, input-type=0, ime-target=false, has-links=false}
The complete view hierarchy is available in artifact file 'view-hierarchy-1.txt'.
at androidx.test.espresso.AmbiguousViewMatcherException$Builder.build(AmbiguousViewMatcherException.java:6)
at androidx.test.espresso.base.DefaultFailureHandler.lambda$getAmbiguousViewMatcherExceptionTruncater$1(DefaultFailureHandler.java:5)
at androidx.test.espresso.base.DefaultFailureHandler$$ExternalSyntheticLambda0.truncateExceptionMessage(Unknown Source:2)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:5)
at androidx.test.espresso.base.ViewHierarchyExceptionHandler.handleSafely(ViewHierarchyExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at org.mozilla.reference.browser.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.reference.browser.ui.robots.ThreeDotMenuRobot$Transition.goForward(ThreeDotMenuRobot.kt:57)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.privateBrowsingTabNavigationTest(ThreeDotMenuTest.kt:153)

AndiAJ added a commit to AndiAJ/reference-browser that referenced this issue May 2, 2023
@AndiAJ AndiAJ added the eng:disabled-test For any test that has been disabled label May 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
eng:disabled-test For any test that has been disabled eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer eng:ui-test UI Tests
Projects
None yet
Development

No branches or pull requests

1 participant