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

[Intermittent] UI test failure navigateBookmarksFoldersTest #10909

Closed
grigoryk opened this issue May 25, 2020 · 3 comments · Fixed by #11592
Closed

[Intermittent] UI test failure navigateBookmarksFoldersTest #10909

grigoryk opened this issue May 25, 2020 · 3 comments · Fixed by #11592
Assignees
Labels
eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer eng:tech-debt Engineering debt. Missing unit tests, etc. eng:ui-test UI Tests Feature:Bookmarks

Comments

@grigoryk
Copy link
Contributor

grigoryk commented May 25, 2020

Noticed in #10812. Test failure log.

navigateBookmarksFoldersTest failed with:

androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "1"

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) sim={adjust=resize} ty=BASE_APPLICATION wanim=0x7f140310
fl=LAYOUT_IN_SCREEN LAYOUT_INSET_DECOR HARDWARE_ACCELERATED DRAWS_SYSTEM_BAR_BACKGROUNDS
pfl=FORCE_DRAW_STATUS_BAR_BACKGROUND
vsysui=LIGHT_STATUS_BAR LIGHT_NAVIGATION_BAR}, 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@284b518, 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@a3e9b71, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+-->FrameLayout{id=-1, 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@a6acd56, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=66.0, child-count=1}
|
+--->FitWindowsLinearLayout{id=2131361864, res-name=action_bar_root, 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.FrameLayout$LayoutParams@59c0ac4, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+---->ViewStubCompat{id=2131361923, 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@6507dad, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+---->ContentFrameLayout{id=16908290, res-name=content, visibility=VISIBLE, width=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@75e68e2, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+----->LinearLayout{id=2131362670, res-name=rootContainer, 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.FrameLayout$LayoutParams@7f3b473, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+------>Toolbar{id=2131362554, res-name=navigationToolbar, visibility=VISIBLE, width=1080, height=154, 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@82447a9, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=4}
|
+------->FrameLayout{id=2131362883, res-name=toolbar_child_container, 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.appcompat.widget.Toolbar$LayoutParams@afe312e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=0}
|
+------->AppCompatImageButton{id=-1, desc=Navigate up, visibility=VISIBLE, width=154, height=154, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@8cb24cf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+------->ActionMenuView{id=-1, visibility=VISIBLE, width=132, height=154, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@acfee5c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=948.0, y=0.0, child-count=1}
|
+-------->ActionMenuItemView{id=2131361964, res-name=add_bookmark_folder, desc=Add folder, visibility=VISIBLE, width=132, height=132, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.ActionMenuView$LayoutParams@c50b565, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=11.0, text=, input-type=0, ime-target=false, has-links=false}
|
+------->AppCompatTextView{id=-1, visibility=VISIBLE, width=306, height=70, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=androidx.appcompat.widget.Toolbar$LayoutParams@6c0323a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=198.0, y=42.0, text=Bookmarks, input-type=0, ime-target=false, has-links=false}
|
+------>FragmentContainerView{id=2131362141, res-name=container, visibility=VISIBLE, width=1080, height=1568, 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@1ff3eeb, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=154.0, child-count=1}
|
+------->CoordinatorLayout{id=-1, visibility=VISIBLE, width=1080, height=1568, 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@39b9448, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+-------->LinearLayout{id=2131362039, res-name=bookmarkLayout, visibility=VISIBLE, width=1080, height=154, 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@81c42e1, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--------->FrameLayout{id=2131362051, res-name=bookmarks_wrapper, visibility=VISIBLE, width=1080, height=154, 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@c10dec7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+---------->RecyclerView{id=2131362047, res-name=bookmark_list, visibility=VISIBLE, width=1080, height=154, 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@bf9acf4, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+----------->LibrarySiteItemView{id=-1, visibility=VISIBLE, width=1080, height=154, 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@4b92c1d, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+------------>ConstraintLayout{id=-1, visibility=VISIBLE, width=1080, height=154, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@2416d19, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=5}
|
+------------->ImageSwitcher{id=2131362350, res-name=icon, visibility=VISIBLE, width=110, height=110, 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.constraintlayout.widget.ConstraintLayout$LayoutParams@824dfbf, tag=null, root-is-layout-requested=false, has-input-connection=false, x=55.0, y=22.0, child-count=2}
|
+-------------->AppCompatImageView{id=2131362281, res-name=favicon, visibility=VISIBLE, width=110, height=110, 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@99a68c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+-------------->AppCompatImageView{id=2131362098, res-name=checkmark, 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@e72c1d5, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+------------->AppCompatTextView{id=2131362870, res-name=title, visibility=VISIBLE, width=882, height=67, 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@da99dea, tag=null, root-is-layout-requested=false, has-input-connection=false, x=198.0, y=44.0, text=Desktop Bookmarks, input-type=0, ime-target=false, has-links=false}
|
+------------->AppCompatTextView{id=2131362927, res-name=url, 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@c51b8db, 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=2131362589, res-name=overflow_menu, desc=More options, 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@9809f78, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+------------->View{id=2131362739, res-name=separator, 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@b2aa651, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+---------->AppCompatTextView{id=2131362049, res-name=bookmarks_empty_view, 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@37baeb6, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=No bookmarks here, input-type=0, ime-target=false, has-links=false}
|
+---------->ProgressBar{id=2131362050, res-name=bookmarks_progress_bar, visibility=GONE, width=132, 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=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@1a907b7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=474.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@3dc3b24, 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.desugaredPerform(ViewInteraction.java:43)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:94)
at org.mozilla.fenix.helpers.ViewInteractionKt.click(ViewInteraction.kt:11)
at org.mozilla.fenix.ui.robots.BookmarksRobot.selectFolder(BookmarksRobot.kt:171)
at org.mozilla.fenix.ui.BookmarksTest$navigateBookmarksFoldersTest$3.invoke(BookmarksTest.kt:503)
at org.mozilla.fenix.ui.BookmarksTest$navigateBookmarksFoldersTest$3.invoke(BookmarksTest.kt:35)
at org.mozilla.fenix.ui.robots.ThreeDotMenuMainRobot$Transition.openBookmarks(ThreeDotMenuMainRobot.kt:127)
at org.mozilla.fenix.ui.BookmarksTest.navigateBookmarksFoldersTest(BookmarksTest.kt:500)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at androidx.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
at androidx.test.internal.runner.junit4.statement.RunAfters.evaluate(RunAfters.java:61)
at androidx.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:531)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:395)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2145)

┆Issue is synchronized with this Jira Task

@grigoryk grigoryk added Feature:Bookmarks eng:intermittent-test Evil test failures that only happen now-and-then and are a productivity killer eng:tech-debt Engineering debt. Missing unit tests, etc. labels May 25, 2020
@github-actions github-actions bot added the needs:triage Issue needs triage label May 25, 2020
@kglazko kglazko added eng:automation Build automation, Continuous integration, .. and removed needs:triage Issue needs triage labels Jun 1, 2020
@AaronMT AaronMT removed the eng:automation Build automation, Continuous integration, .. label Jun 2, 2020
@sv-ohorvath
Copy link
Contributor

I cannot reproduce this running the test locally or on Firebase. I'll leave it open to see if it shows up again or was it just a one-time case.

@AaronMT AaronMT added the eng:ui-test UI Tests label Jun 3, 2020
@sv-ohorvath sv-ohorvath reopened this Jun 9, 2020
@sv-ohorvath
Copy link
Contributor

sv-ohorvath commented Jun 9, 2020

@sv-ohorvath
Copy link
Contributor

The issue that I was able to reproduce was that the folder name wasn't getting typed, so I replaced it with a more direct method that seems to work for now.

@data-sync-user data-sync-user changed the title [Intermittent] UI test failure navigateBookmarksFoldersTest FNX2-16242 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest Jul 31, 2020
@data-sync-user data-sync-user changed the title FNX2-16242 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest FNX3-14252 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest Aug 10, 2020
@data-sync-user data-sync-user changed the title FNX3-14252 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest FNX-4678 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest Aug 10, 2020
@data-sync-user data-sync-user changed the title FNX-4678 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest FNX2-16242 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest Aug 11, 2020
@data-sync-user data-sync-user changed the title FNX2-16242 ⁃ [Intermittent] UI test failure navigateBookmarksFoldersTest [Intermittent] UI test failure navigateBookmarksFoldersTest May 18, 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:tech-debt Engineering debt. Missing unit tests, etc. eng:ui-test UI Tests Feature:Bookmarks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants