From fc0f3a65fac3be48b999e1e747ee054ea2ea7ae6 Mon Sep 17 00:00:00 2001 From: AndiAJ Date: Fri, 21 Jul 2023 15:44:31 +0300 Subject: [PATCH] Bug 1815650 - Fix verifyLastUsedLoginSortingOptionTest UI test --- .../java/org/mozilla/fenix/ui/LoginsTest.kt | 25 +++++++++---------- ...bMenuLoginsAndPasswordsSavedLoginsRobot.kt | 22 +++++++++------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt index 5cbbb7f17..8acd1c30e 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt @@ -664,7 +664,6 @@ class LoginsTest { } } - @Ignore("Failing, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1815650") @Test fun verifyLastUsedLoginSortingOptionTest() { val firstLoginPage = TestAssetHelper.getSaveLoginAsset(mockWebServer) @@ -691,12 +690,12 @@ class LoginsTest { clickSavedLoginsChevronIcon() verifyLoginsSortingOptions() clickLastUsedSortingOption() - verifySortedLogin(activityTestRule, 0, originWebsite) - verifySortedLogin(activityTestRule, 1, firstLoginPage.url.authority.toString()) + verifySortedLogin(0, originWebsite) + verifySortedLogin(1, firstLoginPage.url.authority.toString()) }.goBack { }.openSavedLogins { - verifySortedLogin(activityTestRule, 0, originWebsite) - verifySortedLogin(activityTestRule, 1, firstLoginPage.url.authority.toString()) + verifySortedLogin(0, originWebsite) + verifySortedLogin(1, firstLoginPage.url.authority.toString()) } restartApp(activityTestRule) @@ -706,8 +705,8 @@ class LoginsTest { }.openSettings { }.openLoginsAndPasswordSubMenu { }.openSavedLogins { - verifySortedLogin(activityTestRule, 0, originWebsite) - verifySortedLogin(activityTestRule, 1, firstLoginPage.url.authority.toString()) + verifySortedLogin(0, originWebsite) + verifySortedLogin(1, firstLoginPage.url.authority.toString()) } } @@ -735,12 +734,12 @@ class LoginsTest { }.openLoginsAndPasswordSubMenu { }.openSavedLogins { tapSetupLater() - verifySortedLogin(activityTestRule, 0, firstLoginPage.url.authority.toString()) - verifySortedLogin(activityTestRule, 1, originWebsite) + verifySortedLogin(0, firstLoginPage.url.authority.toString()) + verifySortedLogin(1, originWebsite) }.goBack { }.openSavedLogins { - verifySortedLogin(activityTestRule, 0, firstLoginPage.url.authority.toString()) - verifySortedLogin(activityTestRule, 1, originWebsite) + verifySortedLogin(0, firstLoginPage.url.authority.toString()) + verifySortedLogin(1, originWebsite) } restartApp(activityTestRule) @@ -750,8 +749,8 @@ class LoginsTest { }.openSettings { }.openLoginsAndPasswordSubMenu { }.openSavedLogins { - verifySortedLogin(activityTestRule, 0, firstLoginPage.url.authority.toString()) - verifySortedLogin(activityTestRule, 1, originWebsite) + verifySortedLogin(0, firstLoginPage.url.authority.toString()) + verifySortedLogin(1, originWebsite) } } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt index bd1cd8717..57653171e 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt @@ -4,8 +4,6 @@ package org.mozilla.fenix.ui.robots -import androidx.appcompat.widget.AppCompatTextView -import androidx.recyclerview.widget.RecyclerView import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu import androidx.test.espresso.action.ViewActions @@ -19,10 +17,10 @@ import androidx.test.espresso.matcher.ViewMatchers.withHint import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.espresso.matcher.ViewMatchers.withText import androidx.test.uiautomator.By +import androidx.test.uiautomator.UiSelector import androidx.test.uiautomator.Until import org.hamcrest.CoreMatchers import org.hamcrest.CoreMatchers.containsString -import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.mozilla.fenix.R @@ -110,12 +108,18 @@ class SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot { fun clickLastUsedSortingOption() = itemContainingText(getStringResource(R.string.saved_logins_sort_strategy_last_used)).click() - fun verifySortedLogin(testRule: HomeActivityIntentTestRule, position: Int, loginTitle: String) { - val list = testRule.activity.findViewById(R.id.saved_logins_list) - val item = list.layoutManager?.findViewByPosition(position) - val title = item?.findViewById(R.id.webAddressView) - assertEquals(loginTitle, title?.text) - } + fun verifySortedLogin(position: Int, loginTitle: String) = + assertTrue( + mDevice.findObject( + UiSelector() + .className("android.view.ViewGroup") + .index(position), + ).getChild( + UiSelector() + .resourceId("$packageName:id/webAddressView") + .textContains(loginTitle), + ).waitForExists(waitingTime), + ) fun searchLogin(searchTerm: String) = itemContainingText(getStringResource(R.string.preferences_passwords_saved_logins_search)).setText(searchTerm)