Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Intermittent UI test failure - TabbedBrowsingTest.closeTabTest #17484

Closed
sv-ohorvath opened this issue Jan 15, 2021 · 20 comments · Fixed by #22133
Closed

Intermittent UI test failure - TabbedBrowsingTest.closeTabTest #17484

sv-ohorvath opened this issue Jan 15, 2021 · 20 comments · Fixed by #22133
Assignees
Labels
eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer eng:ui-test UI Tests

Comments

@sv-ohorvath
Copy link
Contributor

sv-ohorvath commented Jan 15, 2021

Firebase Test Run:

Flaky, failed 1 out of 2 tries.
https://console.firebase.google.com/project/moz-fenix/testlab/histories/bh.66b7091e15d53d45/matrices/6371030455636822920/executions/bs.6d701475289cdc12/testcases/3/test-cases

Stacktrace:

androidx.test.espresso.AmbiguousViewMatcherException: '(with id: org.mozilla.fenix.debug:id/mozac_browser_tabstray_title and with text: is "Test_Page_1")' matches multiple views in the hierarchy. Problem views are marked with '****MATCHES****' below. View Hierarchy: +>DecorView{id=-1, visibility=VISIBLE, width=1080, height=1920, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params={(0,0)(fillxfill) gr=CENTER sim={adjust=pan} ty=APPLICATION fmt=TRANSPARENT wanim=0x7f140009 fl=DIM_BEHIND LAYOUT_IN_SCREEN LAYOUT_INSET_DECOR HARDWARE_ACCELERATED DRAWS_SYSTEM_BAR_BACKGROUNDS pfl=FORCE_DRAW_STATUS_BAR_BACKGROUND}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +->LinearLayout{id=-1, visibility=VISIBLE, width=1080, height=1788, 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@4f4dcda, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +-->ViewStub{id=16908682, res-name=action_mode_bar_stub, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@228a50b, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-->FrameLayout{id=16908290, res-name=content, visibility=VISIBLE, width=1080, height=1722, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@f19cfe8, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=66.0, child-count=1} | +--->CoordinatorLayout{id=2131362930, res-name=tabLayout, visibility=VISIBLE, width=1080, height=1722, 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.FrameLayout$LayoutParams@c66601, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +---->ExtendedFloatingActionButton{id=2131362625, res-name=new_tab_button, desc=Add tab, visibility=VISIBLE, width=176, height=176, 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.coordinatorlayout.widget.CoordinatorLayout$LayoutParams@d53eca6, tag=null, root-is-layout-requested=false, has-input-connection=false, x=860.0, y=1502.0, text=Private, input-type=0, ime-target=false, has-links=false, is-checked=false} | +---->ConstraintLayout{id=2131362948, res-name=tab_wrapper, visibility=VISIBLE, width=1080, height=1722, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams@768d439, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=607.0, child-count=14} | +----->View{id=2131362367, res-name=handle, visibility=VISIBLE, width=108, height=8, 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@561ea7e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=486.0, y=22.0} | +----->ConstraintLayout{id=2131362405, res-name=infoBanner, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@b976bdf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=0} | +----->AppCompatTextView{id=2131362942, res-name=tab_tray_empty_view, visibility=GONE, width=1080, height=1471, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@fd1102c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=251.0, text=Your open tabs will be shown here., input-type=0, ime-target=false, has-links=false} | +----->View{id=2131363013, res-name=topBar, visibility=VISIBLE, width=1080, height=221, 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@cf97af5, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=30.0} | +----->AppCompatImageButton{id=2131362317, res-name=exit_multi_select, desc=Exit multiselect mode, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@82e308a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +----->AppCompatTextView{id=2131362614, res-name=multiselect_title, visibility=GONE, width=1047, height=70, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@330e6fb, tag=null, root-is-layout-requested=false, has-input-connection=false, x=33.0, y=106.0, text=, input-type=0, ime-target=false, has-links=false} | +----->AppCompatImageButton{id=2131362150, res-name=collect_multi_select, desc=Save selected tabs to collection, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@3550318, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +----->AppCompatImageButton{id=2131362843, res-name=share_multi_select, desc=Share selected tabs, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@eb3d171, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +----->AppCompatImageButton{id=2131362513, res-name=menu_multi_select, desc=Selected tabs menu, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@ac6cb56, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +----->TabLayout{id=2131362936, res-name=tab_layout, visibility=VISIBLE, width=540, height=221, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@31cf7d7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=30.0, child-count=1} | +------>SlidingTabIndicator{id=-1, visibility=VISIBLE, width=540, height=221, 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@e2338c4, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2} | +------->TabView{id=-1, desc=1 open tab. Tap to switch tabs., visibility=VISIBLE, width=270, height=221, 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=true, layout-params=android.widget.LinearLayout$LayoutParams@b4f3a73, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3} | +-------->AppCompatImageView{id=-1, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=true, layout-params=android.widget.LinearLayout$LayoutParams@c7d1d30, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-------->AppCompatTextView{id=-1, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=true, layout-params=android.widget.LinearLayout$LayoutParams@34a3da9, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=, input-type=0, ime-target=false, has-links=false} | +-------->FrameLayout{id=2131362180, res-name=counter_root, visibility=VISIBLE, width=66, height=66, 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=true, layout-params=android.widget.LinearLayout$LayoutParams@f1bef2e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=102.0, y=77.0, child-count=2} | +--------->AppCompatImageView{id=2131362179, res-name=counter_box, visibility=VISIBLE, width=66, height=66, 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=true, layout-params=android.widget.FrameLayout$LayoutParams@d590acf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +--------->AppCompatTextView{id=2131362181, res-name=counter_text, visibility=VISIBLE, width=19, height=44, 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=true, layout-params=android.widget.FrameLayout$LayoutParams@b4edc5c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=23.0, y=11.0, text=1, input-type=0, ime-target=false, has-links=false} | +------->TabView{id=-1, desc=Private tabs, visibility=VISIBLE, width=270, height=221, 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@1fbd03a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=270.0, y=0.0, child-count=2} | +-------->AppCompatImageView{id=-1, visibility=VISIBLE, width=66, height=66, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@88584eb, tag=null, root-is-layout-requested=false, has-input-connection=false, x=102.0, y=77.0} | +-------->AppCompatTextView{id=-1, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@81b6248, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=, input-type=0, ime-target=false, has-links=false} | +----->AppCompatImageButton{id=2131362944, res-name=tab_tray_new_tab, desc=Add tab, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@74af8e1, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +----->AppCompatImageButton{id=2131362945, res-name=tab_tray_overflow, desc=Open tabs menu, visibility=VISIBLE, width=132, height=132, 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@1c6b606, tag=null, root-is-layout-requested=false, has-input-connection=false, x=948.0, y=75.0} | +----->View{id=2131362259, res-name=divider, visibility=VISIBLE, width=1080, height=3, 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@bb584c7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=251.0} | +----->RecyclerView{id=2131362950, res-name=tabsTray, visibility=VISIBLE, width=1080, height=1468, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@3a85af4, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=254.0, child-count=3} | +------>ConstraintLayout{id=2131362935, res-name=tab_item, visibility=VISIBLE, width=1080, height=243, 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@1082c92, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=5} | +------->AppCompatImageButton{id=2131362692, res-name=play_pause_button, desc=Pause, visibility=GONE, width=0, height=0, 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=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@8fba663, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +------->CardView{id=2131362549, res-name=mozac_browser_tabstray_card, visibility=VISIBLE, width=254, height=198, 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@5d0e319, tag=null, root-is-layout-requested=false, has-input-connection=false, x=44.0, y=22.0, child-count=3} | +-------->AppCompatImageView{id=2131362213, res-name=default_tab_thumbnail, visibility=VISIBLE, width=254, height=198, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@d787fde, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-------->TabThumbnailView{id=2131362553, res-name=mozac_browser_tabstray_thumbnail, desc=Open Tab, visibility=VISIBLE, width=254, height=198, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@6f845bf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-------->FrameLayout{id=2131362831, res-name=selected_mask, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@a8397d5, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +--------->AppCompatImageView{id=2131362123, res-name=checkmark, desc=Selected, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@608bbea, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +------->AppCompatTextView{id=2131362554, res-name=mozac_browser_tabstray_title, visibility=VISIBLE, width=617, height=59, 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@bf57edb, tag=null, root-is-layout-requested=false, has-input-connection=false, x=331.0, y=60.0, text=Test_Page_1, input-type=0, ime-target=false, has-links=false} ****MATCHES**** | +------->AppCompatTextView{id=2131362555, res-name=mozac_browser_tabstray_url, visibility=VISIBLE, width=617, height=53, 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@c8fed78, tag=null, root-is-layout-requested=false, has-input-connection=false, x=331.0, y=130.0, text=localhost, input-type=0, ime-target=false, has-links=false} | +------->AppCompatImageButton{id=2131362550, res-name=mozac_browser_tabstray_close, desc=Close tab Test_Page_1, visibility=VISIBLE, width=132, height=243, 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@672dc51, tag=null, root-is-layout-requested=false, has-input-connection=false, x=948.0, y=0.0} | +------>MaterialButton{id=-1, visibility=VISIBLE, width=1036, height=132, 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@5aeacb6, tag=null, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=265.0, text=Select tabs, input-type=0, ime-target=false, has-links=false, is-checked=false} | +------>ConstraintLayout{id=2131362935, res-name=tab_item, visibility=VISIBLE, width=1080, height=243, 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@3926924, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=5} | +------->AppCompatImageButton{id=2131362692, res-name=play_pause_button, desc=Pause, visibility=GONE, width=0, height=0, 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=true, is-selected=false, layout-params=androidx.constraintlayout.widget.ConstraintLayout$LayoutParams@737ec8d, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +------->CardView{id=2131362549, res-name=mozac_browser_tabstray_card, visibility=VISIBLE, width=254, height=198, 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@952ee53, tag=null, root-is-layout-requested=false, has-input-connection=false, x=44.0, y=22.0, child-count=3} | +-------->AppCompatImageView{id=2131362213, res-name=default_tab_thumbnail, visibility=VISIBLE, width=254, height=198, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@41ef390, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-------->TabThumbnailView{id=2131362553, res-name=mozac_browser_tabstray_thumbnail, desc=Open Tab, visibility=VISIBLE, width=254, height=198, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@c3c489, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +-------->FrameLayout{id=2131362831, res-name=selected_mask, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@9141caf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1} | +--------->AppCompatImageView{id=2131362123, res-name=checkmark, desc=Selected, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@ca7b8bc, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0} | +------->AppCompatTextView{id=2131362554, res-name=mozac_browser_tabstray_title, visibility=VISIBLE, width=617, height=59, 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@b1b2045, tag=null, root-is-layout-requested=false, has-input-connection=false, x=331.0, y=60.0, text=Test_Page_1, input-type=0, ime-target=false, has-links=false} ****MATCHES**** | +------->AppCompatTextView{id=2131362555, res-name=mozac_browser_tabstray_url, visibility=VISIBLE, width=617, height=53, 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@8bff39a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=331.0, y=130.0, text=localhost, input-type=0, ime-target=false, has-links=false} | +------->AppCompatImageButton{id=2131362550, res-name=mozac_browser_tabstray_close, desc=Close tab Test_Page_1, visibility=VISIBLE, width=132, height=243, 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@90fd4cb, tag=null, root-is-layout-requested=false, has-input-connection=false, x=948.0, y=0.0} | +->View{id=16908336, res-name=navigationBarBackground, visibility=VISIBLE, width=1080, height=132, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@e95a4a8, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=1788.0} | at dalvik.system.VMStack.getThreadStackTrace(Native Method) at java.lang.Thread.getStackTrace(Thread.java:1538) at androidx.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:16) at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:36) at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:106) at androidx.test.espresso.ViewInteraction.check(ViewInteraction.java:31) at org.mozilla.fenix.ui.robots.TabDrawerRobotKt.assertExistingOpenTabs(TabDrawerRobot.kt:282) at org.mozilla.fenix.ui.robots.TabDrawerRobotKt.access$assertExistingOpenTabs(TabDrawerRobot.kt:1) at org.mozilla.fenix.ui.robots.TabDrawerRobot.verifyExistingOpenTabs(TabDrawerRobot.kt:54) at org.mozilla.fenix.ui.TabbedBrowsingTest$closeTabTest$9.invoke(TabbedBrowsingTest.kt:189) at org.mozilla.fenix.ui.TabbedBrowsingTest$closeTabTest$9.invoke(TabbedBrowsingTest.kt:42) at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:427) at org.mozilla.fenix.ui.TabbedBrowsingTest.closeTabTest(TabbedBrowsingTest.kt:188)

Build:

Master 1/14/21

┆Issue is synchronized with this Jira Task

@sv-ohorvath sv-ohorvath added eng:ui-test UI Tests eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer labels Jan 15, 2021
@github-actions github-actions bot added the needs:triage Issue needs triage label Jan 15, 2021
@sv-ohorvath sv-ohorvath removed the needs:triage Issue needs triage label Jan 15, 2021
@AndiAJ
Copy link
Collaborator

AndiAJ commented Feb 8, 2021

• Master 2/5 :
► Flaky 1x closeTabTest
Firebase link

java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:87)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.junit.Assert.assertNotNull(Assert.java:713)
at org.junit.Assert.assertNotNull(Assert.java:723)
at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20)
at org.mozilla.fenix.ui.robots.TabDrawerRobot.verifySnackBarText(TabDrawerRobot.kt:109)
at org.mozilla.fenix.ui.TabbedBrowsingTest$closeTabTest$5.invoke(TabbedBrowsingTest.kt:171)
at org.mozilla.fenix.ui.TabbedBrowsingTest$closeTabTest$5.invoke(TabbedBrowsingTest.kt:42)
at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:439)
at org.mozilla.fenix.ui.TabbedBrowsingTest.closeTabTest(TabbedBrowsingTest.kt:168)
at java.lang.reflect.Method.invoke(Native Method)

@sv-ohorvath
Copy link
Contributor Author

From the logs and video it looks like it either fails to close a tab in one of the steps (results in multiple tabs matching), or fails to swipe right in the second comment

@sv-ohorvath
Copy link
Contributor Author

Similar problem: #18003 (fails to close the tab)

@sv-ohorvath
Copy link
Contributor Author

Potential fix landed in 23cc352. Closing the issue. If it fails again we can reopen it.

@AndiAJ
Copy link
Collaborator

AndiAJ commented Jul 27, 2021

Flaky on Master 7/26 Firebase link

@AndiAJ AndiAJ reopened this Jul 27, 2021
@sv-ohorvath
Copy link
Contributor Author

Flaky on Master 7/26 Firebase link

Same as #20354, #20479 and #20296 which I couldn't reproduce or find an explanation for. Still looking.

pkirakosyan pushed a commit to gexsi/user-agent-android that referenced this issue Aug 4, 2021
@sv-ohorvath
Copy link
Contributor Author

Last report of this issue was July 26. I think it may have been something fixed in the meantime. I'll close these issues (related ones as well) until it comes up again.

@sv-ohorvath
Copy link
Contributor Author

Ok, the problem persists, #15624 has the same error.

@sv-ohorvath sv-ohorvath reopened this Aug 25, 2021
@AndiAJ
Copy link
Collaborator

AndiAJ commented Sep 8, 2021

Flaky 2x on 9/7 Main
Firebase link
Firebase link

@sv-ohorvath
Copy link
Contributor Author

This issue appears to be related to multiple tests (duplicate tabs title, close button, or tab item):
https://github.com/mozilla-mobile/fenix/issues?q=is%3Aissue+is%3Aopen+androidx.test.espresso.AmbiguousViewMatcherException%3A

@sv-ohorvath
Copy link
Contributor Author

Flaky on 10/1, logs

@AndiAJ
Copy link
Collaborator

AndiAJ commented Oct 11, 2021

Flaky on 10/8 Main Firebase link

java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:87)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.junit.Assert.assertNotNull(Assert.java:713)
at org.junit.Assert.assertNotNull(Assert.java:723)
at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20)
at org.mozilla.fenix.ui.robots.TabDrawerRobot.verifySnackBarText(TabDrawerRobot.kt:119)
at org.mozilla.fenix.ui.TabbedBrowsingTest$closeTabTest$3.invoke(TabbedBrowsingTest.kt:149)
at org.mozilla.fenix.ui.TabbedBrowsingTest$closeTabTest$3.invoke(TabbedBrowsingTest.kt:146)
at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:504)
at org.mozilla.fenix.ui.TabbedBrowsingTest.closeTabTest(TabbedBrowsingTest.kt:146)
at java.lang.reflect.Method.invoke(Native Method)

@AndiAJ
Copy link
Collaborator

AndiAJ commented Oct 11, 2021

Fixed the AmbiguousViewMatcherException in #21704

@sv-ohorvath
Copy link
Contributor Author

Flaky on 10/13: logs
java.lang.AssertionError at org.junit.Assert.fail(Assert.java:87) at org.junit.Assert.assertTrue(Assert.java:42) at org.junit.Assert.assertNotNull(Assert.java:713) at org.junit.Assert.assertNotNull(Assert.java:723) at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20) at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull$default(WaitNotNull.kt:17) at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:500) at org.mozilla.fenix.ui.TabbedBrowsingTest.closeTabTest(TabbedBrowsingTest.kt:156)

@AndiAJ
Copy link
Collaborator

AndiAJ commented Oct 18, 2021

Flaky 1x on 10/15 Main Firebase link

java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:87)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.junit.Assert.assertNotNull(Assert.java:713)
at org.junit.Assert.assertNotNull(Assert.java:723)
at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20)
at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull$default(WaitNotNull.kt:17)
at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:500)
at org.mozilla.fenix.ui.TabbedBrowsingTest.closeTabTest(TabbedBrowsingTest.kt:176)
at java.lang.reflect.Method.invoke(Native Method)

@AndiAJ
Copy link
Collaborator

AndiAJ commented Oct 19, 2021

Flaky 1x on 10/19 on Main Firebase link

java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:87)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.junit.Assert.assertNotNull(Assert.java:713)
at org.junit.Assert.assertNotNull(Assert.java:723)
at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20)
at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull$default(WaitNotNull.kt:17)
at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:500)
at org.mozilla.fenix.ui.TabbedBrowsingTest.closeTabTest(TabbedBrowsingTest.kt:156)
at java.lang.reflect.Method.invoke(Native Method)

@AndiAJ
Copy link
Collaborator

AndiAJ commented Oct 21, 2021

Flaky 2x on 10/21 Main
Firebase link

Firebase link

androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (with id is org.mozilla.fenix.debug:id/snackbar_btn and with text: is "UNDO")

@sv-ohorvath
Copy link
Contributor Author

Flaky 2x on 10/21 Main Firebase link

Firebase link

androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (with id is org.mozilla.fenix.debug:id/snackbar_btn and with text: is "UNDO")

In this case, the snackbar is displayed, but there is some refreshing of the home screen behind it, so I think that interferes with the visibility of the snack bar.

@sv-ohorvath
Copy link
Contributor Author

sv-ohorvath commented Oct 26, 2021

Flaky on 10/25:

logs
androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (with id is <org.mozilla.fenix.debug:id/snackbar_btn> and with text: is "UNDO")

logs
java.lang.AssertionError at org.junit.Assert.fail(Assert.java:87) at org.junit.Assert.assertTrue(Assert.java:42) at org.junit.Assert.assertNotNull(Assert.java:713) at org.junit.Assert.assertNotNull(Assert.java:723) at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20) at org.mozilla.fenix.ui.robots.TabDrawerRobot.verifySnackBarText(TabDrawerRobot.kt:120)

logs
java.lang.AssertionError at org.junit.Assert.fail(Assert.java:87) at org.junit.Assert.assertTrue(Assert.java:42) at org.junit.Assert.assertNotNull(Assert.java:713) at org.junit.Assert.assertNotNull(Assert.java:723) at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20) at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull$default(WaitNotNull.kt:17) at org.mozilla.fenix.ui.robots.BrowserRobot$Transition.openTabDrawer(BrowserRobot.kt:529)

@sv-ohorvath
Copy link
Contributor Author

Flaky on 10/27: logs

java.lang.AssertionError at org.junit.Assert.fail(Assert.java:87) at org.junit.Assert.assertTrue(Assert.java:42) at org.junit.Assert.assertNotNull(Assert.java:713) at org.junit.Assert.assertNotNull(Assert.java:723) at org.mozilla.fenix.helpers.ext.WaitNotNullKt.waitNotNull(WaitNotNull.kt:20) at org.mozilla.fenix.ui.robots.TabDrawerRobot.verifySnackBarText(TabDrawerRobot.kt:120)

sv-ohorvath pushed a commit that referenced this issue Oct 28, 2021
pkirakosyan pushed a commit to gexsi/user-agent-android that referenced this issue Mar 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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

Successfully merging a pull request may close this issue.

2 participants