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. reportIssueTest > #2094

Open
AndiAJ opened this issue Nov 10, 2022 · 6 comments
Open

Intermittent UI test failure - < ThreeDotMenuTest. reportIssueTest > #2094

AndiAJ opened this issue Nov 10, 2022 · 6 comments
Labels
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 10, 2022

Firebase Test Run: Firebase link

Stacktrace:

androidx.test.espresso.AmbiguousViewMatcherException: 'an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Report issue"' 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@b7d5c42, 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@3889453, 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@2a0da89, 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@8fa8e, 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=false, has-window-focus=true, is-clickable=true, is-enabled=false, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@7fe22af, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+----->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@82046bc, 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@cb39645, 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@e9e319a, 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@3943acb, 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@40912a8, 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@17c51c1, 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@f1dcd66, 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@729b8a7, 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@4bb48fd, 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@4a959f2, 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@8af3843, 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@c918ec0, 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@bf877f9, 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@ef233e, 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@283159f, 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@a60d6ec, 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} MATCHES
|
+---->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@33f9ab5, 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@36354a, 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@2fa75d8, 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@19c2d31, 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@a2a5c16, 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@b1c1997, 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} MATCHES
|
+---->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@9556b6d, 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@36823a2, 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@f8627f0, 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@fea5169, 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@662a48f, 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@bbdd31c, ta

Build: 11/9 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 10, 2022
@AndiAJ
Copy link
Contributor Author

AndiAJ commented Nov 15, 2022

Flaky 1x on 11/14 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Report issue"' matches 2 views in the hierarchy:

  • [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}
  • [2] AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, has-focus=false, has-focusable=false, has-window-focus=false, 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}
    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=false, has-window-focus=true, is-clickable=true, is-enabled=false, 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}
|
+----->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} MATCHES
|
+---->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.reportIssue(ThreeDotMenuRobot.kt:130)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.reportIssueTest(ThreeDotMenuTest.kt:229)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Nov 16, 2022

Flaky 1x on 11/16 Main
Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Report issue"' matches 2 views in the hierarchy:

  • [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}
  • [2] AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, has-focus=false, has-focusable=false, has-window-focus=false, 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}
    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=false, has-window-focus=true, is-clickable=true, is-enabled=false, 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}
|
+----->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} MATCHES
|
+---->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.reportIssue(ThreeDotMenuRobot.kt:130)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.reportIssueTest(ThreeDotMenuTest.kt:229)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 6, 2022

Flaky 1x on 12/6 Main Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Report issue"' matches 2 views in the hierarchy:

  • [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}
  • [2] AppCompatTextView{id=2131296597, res-name=label, visibility=VISIBLE, width=572, height=57, has-focus=false, has-focusable=false, has-window-focus=false, 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}
    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=false, has-window-focus=true, is-clickable=true, is-enabled=false, 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}
|
+----->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} MATCHES
|
+---->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.reportIssue(ThreeDotMenuRobot.kt:130)
at org.mozilla.reference.browser.ui.ThreeDotMenuTest.reportIssueTest(ThreeDotMenuTest.kt:229)

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Jun 2, 2023

► 6/1 Firebase link

androidx.test.espresso.AmbiguousViewMatcherException: 'an instance of android.widget.TextView and view.getText() with or without transformation to match: is "Report issue"' matches 2 views in the hierarchy:

@sv-ohorvath
Copy link

7/3 flaky Firebase link

@AndiAJ
Copy link
Contributor Author

AndiAJ commented Dec 19, 2023

► 12/18 Firebase link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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

2 participants