For #26784 refactor use of idling resources in UI tests
This commit is contained in:
parent
43b6445b46
commit
af1fbd5eeb
|
@ -24,6 +24,7 @@ import androidx.browser.customtabs.CustomTabsIntent
|
|||
import androidx.test.espresso.Espresso
|
||||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import androidx.test.espresso.IdlingResource
|
||||
import androidx.test.espresso.action.ViewActions.longClick
|
||||
import androidx.test.espresso.assertion.ViewAssertions
|
||||
import androidx.test.espresso.intent.Intents.intended
|
||||
|
@ -42,8 +43,6 @@ import androidx.test.uiautomator.UiObjectNotFoundException
|
|||
import androidx.test.uiautomator.UiScrollable
|
||||
import androidx.test.uiautomator.UiSelector
|
||||
import androidx.test.uiautomator.Until
|
||||
import java.util.Locale
|
||||
import java.util.regex.Pattern
|
||||
import junit.framework.AssertionFailedError
|
||||
import mozilla.components.browser.state.search.SearchEngine
|
||||
import mozilla.components.support.ktx.android.content.appName
|
||||
|
@ -64,6 +63,8 @@ import org.mozilla.fenix.helpers.idlingresource.NetworkConnectionIdlingResource
|
|||
import org.mozilla.fenix.ui.robots.BrowserRobot
|
||||
import org.mozilla.fenix.utils.IntentUtils
|
||||
import org.mozilla.gecko.util.ThreadUtils
|
||||
import java.util.Locale
|
||||
import java.util.regex.Pattern
|
||||
|
||||
object TestHelper {
|
||||
|
||||
|
@ -283,6 +284,29 @@ object TestHelper {
|
|||
return activityManager.appTasks[0].taskInfo.topActivity!!.className == ExternalAppBrowserActivity::class.java.name
|
||||
}
|
||||
|
||||
/**
|
||||
* Run test with automatically registering idling resources and cleanup.
|
||||
*
|
||||
* @param idlingResources zero or more [IdlingResource] to be used when running [testBlock].
|
||||
* @param testBlock test code to execute.
|
||||
*/
|
||||
fun registerAndCleanupIdlingResources(
|
||||
vararg idlingResources: IdlingResource,
|
||||
testBlock: () -> Unit,
|
||||
) {
|
||||
idlingResources.forEach {
|
||||
IdlingRegistry.getInstance().register(it)
|
||||
}
|
||||
|
||||
try {
|
||||
testBlock()
|
||||
} finally {
|
||||
idlingResources.forEach {
|
||||
IdlingRegistry.getInstance().unregister(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// exit from Menus to home screen or browser
|
||||
fun exitMenu() {
|
||||
val toolbar =
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
package org.mozilla.fenix.ui
|
||||
|
||||
import androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
|
||||
import androidx.test.uiautomator.UiDevice
|
||||
|
@ -27,6 +26,7 @@ import org.mozilla.fenix.helpers.RetryTestRule
|
|||
import org.mozilla.fenix.helpers.TestAssetHelper
|
||||
import org.mozilla.fenix.helpers.TestHelper
|
||||
import org.mozilla.fenix.helpers.TestHelper.longTapSelectItem
|
||||
import org.mozilla.fenix.helpers.TestHelper.registerAndCleanupIdlingResources
|
||||
import org.mozilla.fenix.ui.robots.bookmarksMenu
|
||||
import org.mozilla.fenix.ui.robots.browserScreen
|
||||
import org.mozilla.fenix.ui.robots.homeScreen
|
||||
|
@ -46,7 +46,6 @@ class BookmarksTest {
|
|||
var title: String = "Bookmark title"
|
||||
var url: String = "https://www.test.com"
|
||||
}
|
||||
private var bookmarksListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
|
||||
@get:Rule
|
||||
val activityTestRule = HomeActivityTestRule()
|
||||
|
@ -76,10 +75,6 @@ class BookmarksTest {
|
|||
val bookmarks = bookmarksStorage?.getTree(BookmarkRoot.Mobile.id)?.children
|
||||
bookmarks?.forEach { bookmarksStorage.deleteNode(it.guid) }
|
||||
}
|
||||
|
||||
if (bookmarksListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -87,17 +82,14 @@ class BookmarksTest {
|
|||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.bookmark_list),
|
||||
1,
|
||||
)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
verifyBookmarksMenuView()
|
||||
verifyAddFolderButton()
|
||||
verifyCloseButton()
|
||||
verifyBookmarkTitle("Desktop Bookmarks")
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1),
|
||||
) {
|
||||
verifyBookmarksMenuView()
|
||||
verifyAddFolderButton()
|
||||
verifyCloseButton()
|
||||
verifyBookmarkTitle("Desktop Bookmarks")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -106,15 +98,15 @@ class BookmarksTest {
|
|||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
selectFolder("Desktop Bookmarks")
|
||||
verifyFolderTitle("Bookmarks Menu")
|
||||
verifyFolderTitle("Bookmarks Toolbar")
|
||||
verifyFolderTitle("Other Bookmarks")
|
||||
verifySignInToSyncButton()
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1),
|
||||
) {
|
||||
selectFolder("Desktop Bookmarks")
|
||||
verifyFolderTitle("Bookmarks Menu")
|
||||
verifyFolderTitle("Bookmarks Toolbar")
|
||||
verifyFolderTitle("Other Bookmarks")
|
||||
verifySignInToSyncButton()
|
||||
}
|
||||
}.clickSingInToSyncButton {
|
||||
verifyTurnOnSyncToolbarTitle()
|
||||
}
|
||||
|
@ -141,12 +133,12 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
verifyBookmarkedURL(defaultWebPage.url.toString())
|
||||
verifyBookmarkFavicon(defaultWebPage.url)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
verifyBookmarkedURL(defaultWebPage.url.toString())
|
||||
verifyBookmarkFavicon(defaultWebPage.url)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,16 +147,16 @@ class BookmarksTest {
|
|||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
clickAddFolderButton()
|
||||
verifyKeyboardVisible()
|
||||
addNewFolderName(bookmarksFolderName)
|
||||
saveNewFolder()
|
||||
verifyFolderTitle(bookmarksFolderName)
|
||||
verifyKeyboardHidden()
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1),
|
||||
) {
|
||||
clickAddFolderButton()
|
||||
verifyKeyboardVisible()
|
||||
addNewFolderName(bookmarksFolderName)
|
||||
saveNewFolder()
|
||||
verifyFolderTitle(bookmarksFolderName)
|
||||
verifyKeyboardHidden()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -190,9 +182,9 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
}.clickEdit {
|
||||
verifyEditBookmarksView()
|
||||
|
@ -216,9 +208,9 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
}.clickCopy {
|
||||
verifyCopySnackBarText()
|
||||
|
@ -242,9 +234,9 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
}.clickShare {
|
||||
verifyShareOverlay()
|
||||
|
@ -262,9 +254,9 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
}.clickOpenInNewTab {
|
||||
verifyTabTrayIsOpened()
|
||||
|
@ -280,9 +272,9 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
}.clickOpenInPrivateTab {
|
||||
verifyTabTrayIsOpened()
|
||||
|
@ -299,11 +291,10 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
}.clickDelete {
|
||||
verifyDeleteSnackBarText()
|
||||
verifyUndoDeleteSnackBarButton()
|
||||
|
@ -319,19 +310,19 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
}.clickDelete {
|
||||
verifyUndoDeleteSnackBarButton()
|
||||
clickUndoDeleteButton()
|
||||
verifySnackBarHidden()
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
verifyBookmarkedURL(defaultWebPage.url.toString())
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
verifyBookmarkedURL(defaultWebPage.url.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -344,11 +335,11 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -376,12 +367,12 @@ class BookmarksTest {
|
|||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -401,12 +392,12 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -427,13 +418,12 @@ class BookmarksTest {
|
|||
createBookmark(secondWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 3)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 3),
|
||||
) {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
}
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
|
||||
|
@ -457,13 +447,12 @@ class BookmarksTest {
|
|||
createBookmark(secondWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 3)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 3),
|
||||
) {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
}
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
|
||||
|
@ -487,11 +476,11 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
longTapSelectItem(defaultWebPage.url)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -546,27 +535,19 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
createFolder(bookmarksFolderName)
|
||||
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {
|
||||
createFolder(bookmarksFolderName)
|
||||
}
|
||||
}.openThreeDotMenu(defaultWebPage.title) {
|
||||
}.clickEdit {
|
||||
clickParentFolderSelector()
|
||||
selectFolder(bookmarksFolderName)
|
||||
navigateUp()
|
||||
saveEditBookmark()
|
||||
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
selectFolder(bookmarksFolderName)
|
||||
verifyBookmarkedURL(defaultWebPage.url.toString())
|
||||
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -598,12 +579,12 @@ class BookmarksTest {
|
|||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list))
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
|
||||
longTapDesktopFolder("Desktop Bookmarks")
|
||||
verifySelectDefaultFolderSnackBarText()
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list)),
|
||||
) {
|
||||
longTapDesktopFolder("Desktop Bookmarks")
|
||||
verifySelectDefaultFolderSnackBarText()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -625,11 +606,10 @@ class BookmarksTest {
|
|||
createBookmark(defaultWebPage.url)
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 2),
|
||||
) {}
|
||||
}.openThreeDotMenu(defaultWebPage.url) {
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
}.clickEdit {
|
||||
clickDeleteInEditModeButton()
|
||||
cancelDeletion()
|
||||
|
@ -646,12 +626,12 @@ class BookmarksTest {
|
|||
browserScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openBookmarks {
|
||||
bookmarksListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1)
|
||||
IdlingRegistry.getInstance().register(bookmarksListIdlingResource!!)
|
||||
createFolder("My Folder")
|
||||
verifyFolderTitle("My Folder")
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.bookmark_list), 1),
|
||||
) {
|
||||
createFolder("My Folder")
|
||||
verifyFolderTitle("My Folder")
|
||||
}
|
||||
}.openThreeDotMenu("My Folder") {
|
||||
}.clickDelete {
|
||||
cancelFolderDeletion()
|
||||
|
|
|
@ -6,7 +6,6 @@ package org.mozilla.fenix.ui
|
|||
|
||||
import android.content.Context
|
||||
import androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.uiautomator.UiDevice
|
||||
import kotlinx.coroutines.runBlocking
|
||||
|
@ -25,6 +24,7 @@ import org.mozilla.fenix.helpers.HomeActivityTestRule
|
|||
import org.mozilla.fenix.helpers.RecyclerViewIdlingResource
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper
|
||||
import org.mozilla.fenix.helpers.TestHelper.longTapSelectItem
|
||||
import org.mozilla.fenix.helpers.TestHelper.registerAndCleanupIdlingResources
|
||||
import org.mozilla.fenix.ui.robots.historyMenu
|
||||
import org.mozilla.fenix.ui.robots.homeScreen
|
||||
import org.mozilla.fenix.ui.robots.multipleSelectionToolbar
|
||||
|
@ -38,8 +38,6 @@ class HistoryTest {
|
|||
/* ktlint-disable no-blank-line-before-rbrace */ // This imposes unreadable grouping.
|
||||
private lateinit var mockWebServer: MockWebServer
|
||||
private lateinit var mDevice: UiDevice
|
||||
private var historyListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
private var recentlyClosedTabsListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
|
||||
@get:Rule
|
||||
val activityTestRule = HomeActivityTestRule()
|
||||
|
@ -69,14 +67,6 @@ class HistoryTest {
|
|||
runBlocking {
|
||||
historyStorage.deleteEverything()
|
||||
}
|
||||
|
||||
if (historyListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(historyListIdlingResource!!)
|
||||
}
|
||||
|
||||
if (recentlyClosedTabsListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(recentlyClosedTabsListIdlingResource!!)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -102,13 +92,14 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
verifyHistoryMenuView()
|
||||
verifyVisitedTimeTitle()
|
||||
verifyFirstTestPageTitle("Test_Page_1")
|
||||
verifyTestPageUrl(firstWebPage.url)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
verifyHistoryMenuView()
|
||||
verifyVisitedTimeTitle()
|
||||
verifyFirstTestPageTitle("Test_Page_1")
|
||||
verifyTestPageUrl(firstWebPage.url)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -122,11 +113,11 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
clickDeleteHistoryButton(firstWebPage.url.toString())
|
||||
IdlingRegistry.getInstance().unregister(historyListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
clickDeleteHistoryButton(firstWebPage.url.toString())
|
||||
}
|
||||
verifyDeleteSnackbarText("Deleted")
|
||||
verifyEmptyHistoryView()
|
||||
}
|
||||
|
@ -142,11 +133,11 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
clickDeleteHistoryButton(firstWebPage.url.toString())
|
||||
IdlingRegistry.getInstance().unregister(historyListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
clickDeleteHistoryButton(firstWebPage.url.toString())
|
||||
}
|
||||
verifyUndoDeleteSnackBarButton()
|
||||
clickUndoDeleteButton()
|
||||
verifyHistoryItemExists(true, firstWebPage.url.toString())
|
||||
|
@ -164,11 +155,12 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
clickDeleteAllHistoryButton()
|
||||
IdlingRegistry.getInstance().unregister(historyListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
clickDeleteAllHistoryButton()
|
||||
|
||||
}
|
||||
verifyDeleteConfirmationMessage()
|
||||
selectEverythingOption()
|
||||
cancelDeleteHistory()
|
||||
|
@ -187,11 +179,11 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
clickDeleteAllHistoryButton()
|
||||
IdlingRegistry.getInstance().unregister(historyListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
clickDeleteAllHistoryButton()
|
||||
}
|
||||
verifyDeleteConfirmationMessage()
|
||||
selectEverythingOption()
|
||||
confirmDeleteAllHistory()
|
||||
|
@ -211,10 +203,11 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -242,11 +235,12 @@ class HistoryTest {
|
|||
homeScreen { }.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -267,11 +261,12 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -295,15 +290,15 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 2)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
verifyHistoryItemExists(true, firstWebPage.url.toString())
|
||||
verifyHistoryItemExists(true, secondWebPage.url.toString())
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
IdlingRegistry.getInstance().unregister(historyListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 2),
|
||||
) {
|
||||
verifyHistoryItemExists(true, firstWebPage.url.toString())
|
||||
verifyHistoryItemExists(true, secondWebPage.url.toString())
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.activity)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -325,10 +320,11 @@ class HistoryTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openHistory {
|
||||
verifyHistoryListExists()
|
||||
historyListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1)
|
||||
IdlingRegistry.getInstance().register(historyListIdlingResource!!)
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.history_list), 1),
|
||||
) {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
}
|
||||
}
|
||||
|
||||
multipleSelectionToolbar {
|
||||
|
@ -355,11 +351,11 @@ class HistoryTest {
|
|||
}.openTabDrawer {
|
||||
}.openRecentlyClosedTabs {
|
||||
waitForListToExist()
|
||||
recentlyClosedTabsListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.recently_closed_list), 1)
|
||||
IdlingRegistry.getInstance().register(recentlyClosedTabsListIdlingResource!!)
|
||||
verifyRecentlyClosedTabsMenuView()
|
||||
IdlingRegistry.getInstance().unregister(recentlyClosedTabsListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.recently_closed_list), 1),
|
||||
) {
|
||||
verifyRecentlyClosedTabsMenuView()
|
||||
}
|
||||
verifyRecentlyClosedTabsPageTitle("Test_Page_1")
|
||||
verifyRecentlyClosedTabsUrl(website.url)
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
package org.mozilla.fenix.ui
|
||||
|
||||
import android.view.View
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.uiautomator.UiDevice
|
||||
import okhttp3.mockwebserver.MockWebServer
|
||||
|
@ -18,6 +17,7 @@ import org.mozilla.fenix.helpers.AndroidAssetDispatcher
|
|||
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
|
||||
import org.mozilla.fenix.helpers.RetryTestRule
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper
|
||||
import org.mozilla.fenix.helpers.TestHelper.registerAndCleanupIdlingResources
|
||||
import org.mozilla.fenix.helpers.ViewVisibilityIdlingResource
|
||||
import org.mozilla.fenix.ui.robots.browserScreen
|
||||
import org.mozilla.fenix.ui.robots.navigationToolbar
|
||||
|
@ -34,7 +34,6 @@ import org.mozilla.fenix.ui.robots.navigationToolbar
|
|||
class ReaderViewTest {
|
||||
private lateinit var mockWebServer: MockWebServer
|
||||
private lateinit var mDevice: UiDevice
|
||||
private var readerViewNotification: ViewVisibilityIdlingResource? = null
|
||||
private val estimatedReadingTime = "1 - 2 minutes"
|
||||
|
||||
@get:Rule
|
||||
|
@ -56,7 +55,6 @@ class ReaderViewTest {
|
|||
@After
|
||||
fun tearDown() {
|
||||
mockWebServer.shutdown()
|
||||
IdlingRegistry.getInstance().unregister(readerViewNotification)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -75,12 +73,12 @@ class ReaderViewTest {
|
|||
mDevice.waitForIdle()
|
||||
}
|
||||
|
||||
readerViewNotification = ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
)
|
||||
|
||||
IdlingRegistry.getInstance().register(readerViewNotification)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
|
||||
navigationToolbar {
|
||||
verifyReaderViewDetected(true)
|
||||
|
@ -118,12 +116,12 @@ class ReaderViewTest {
|
|||
mDevice.waitForIdle()
|
||||
}
|
||||
|
||||
readerViewNotification = ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
)
|
||||
|
||||
IdlingRegistry.getInstance().register(readerViewNotification)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
|
||||
navigationToolbar {
|
||||
verifyReaderViewDetected(true)
|
||||
|
@ -156,12 +154,12 @@ class ReaderViewTest {
|
|||
mDevice.waitForIdle()
|
||||
}
|
||||
|
||||
readerViewNotification = ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
)
|
||||
|
||||
IdlingRegistry.getInstance().register(readerViewNotification)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
|
||||
navigationToolbar {
|
||||
verifyReaderViewDetected(true)
|
||||
|
@ -196,12 +194,12 @@ class ReaderViewTest {
|
|||
mDevice.waitForIdle()
|
||||
}
|
||||
|
||||
readerViewNotification = ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
)
|
||||
|
||||
IdlingRegistry.getInstance().register(readerViewNotification)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
|
||||
navigationToolbar {
|
||||
verifyReaderViewDetected(true)
|
||||
|
@ -242,12 +240,12 @@ class ReaderViewTest {
|
|||
mDevice.waitForIdle()
|
||||
}
|
||||
|
||||
readerViewNotification = ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
)
|
||||
|
||||
IdlingRegistry.getInstance().register(readerViewNotification)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
|
||||
navigationToolbar {
|
||||
verifyReaderViewDetected(true)
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
package org.mozilla.fenix.ui
|
||||
|
||||
import android.view.View
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import okhttp3.mockwebserver.MockWebServer
|
||||
import org.junit.After
|
||||
import org.junit.Before
|
||||
|
@ -20,6 +19,7 @@ import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
|
|||
import org.mozilla.fenix.helpers.RecyclerViewIdlingResource
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper.getEnhancedTrackingProtectionAsset
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper.getGenericAsset
|
||||
import org.mozilla.fenix.helpers.TestHelper.registerAndCleanupIdlingResources
|
||||
import org.mozilla.fenix.helpers.ViewVisibilityIdlingResource
|
||||
import org.mozilla.fenix.ui.robots.addonsMenu
|
||||
import org.mozilla.fenix.ui.robots.homeScreen
|
||||
|
@ -31,8 +31,6 @@ import org.mozilla.fenix.ui.robots.navigationToolbar
|
|||
*/
|
||||
class SettingsAddonsTest {
|
||||
private lateinit var mockWebServer: MockWebServer
|
||||
private var addonsListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
private var addonContainerIdlingResource: ViewVisibilityIdlingResource? = null
|
||||
private val featureSettingsHelper = FeatureSettingsHelper()
|
||||
|
||||
@get:Rule
|
||||
|
@ -52,14 +50,6 @@ class SettingsAddonsTest {
|
|||
fun tearDown() {
|
||||
mockWebServer.shutdown()
|
||||
|
||||
if (addonsListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(addonsListIdlingResource!!)
|
||||
}
|
||||
|
||||
if (addonContainerIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(addonContainerIdlingResource!!)
|
||||
}
|
||||
|
||||
featureSettingsHelper.resetAllFeatureFlags()
|
||||
}
|
||||
|
||||
|
@ -72,10 +62,11 @@ class SettingsAddonsTest {
|
|||
verifyAdvancedHeading()
|
||||
verifyAddons()
|
||||
}.openAddonsManagerMenu {
|
||||
addonsListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.add_ons_list), 1)
|
||||
IdlingRegistry.getInstance().register(addonsListIdlingResource!!)
|
||||
verifyAddonsItems()
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.add_ons_list), 1),
|
||||
) {
|
||||
verifyAddonsItems()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -87,14 +78,14 @@ class SettingsAddonsTest {
|
|||
homeScreen {}
|
||||
.openThreeDotMenu {}
|
||||
.openAddonsManagerMenu {
|
||||
addonsListIdlingResource =
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.add_ons_list),
|
||||
1,
|
||||
)
|
||||
IdlingRegistry.getInstance().register(addonsListIdlingResource!!)
|
||||
clickInstallAddon(addonName)
|
||||
IdlingRegistry.getInstance().unregister(addonsListIdlingResource!!)
|
||||
),
|
||||
) {
|
||||
clickInstallAddon(addonName)
|
||||
}
|
||||
verifyAddonPermissionPrompt(addonName)
|
||||
cancelInstallAddon()
|
||||
clickInstallAddon(addonName)
|
||||
|
@ -117,13 +108,13 @@ class SettingsAddonsTest {
|
|||
verifyAddonInstallCompleted(addonName, activityTestRule)
|
||||
closeAddonInstallCompletePrompt()
|
||||
}.openDetailedMenuForAddon(addonName) {
|
||||
addonContainerIdlingResource = ViewVisibilityIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.addon_container),
|
||||
View.VISIBLE,
|
||||
)
|
||||
IdlingRegistry.getInstance().register(addonContainerIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.addon_container),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
}.removeAddon {
|
||||
IdlingRegistry.getInstance().unregister(addonContainerIdlingResource!!)
|
||||
verifyAddonCanBeInstalled(addonName)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,9 +5,6 @@
|
|||
package org.mozilla.fenix.ui
|
||||
|
||||
import android.content.res.Configuration
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import java.time.LocalDate
|
||||
import java.util.Locale
|
||||
import okhttp3.mockwebserver.MockWebServer
|
||||
import org.junit.After
|
||||
import org.junit.Before
|
||||
|
@ -24,9 +21,10 @@ import org.mozilla.fenix.helpers.RecyclerViewIdlingResource
|
|||
import org.mozilla.fenix.helpers.TestAssetHelper
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper.getLoremIpsumAsset
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper.waitingTimeLong
|
||||
import org.mozilla.fenix.helpers.TestHelper.runWithSystemLocaleChanged
|
||||
import org.mozilla.fenix.helpers.TestHelper.getStringResource
|
||||
import org.mozilla.fenix.helpers.TestHelper.mDevice
|
||||
import org.mozilla.fenix.helpers.TestHelper.runWithSystemLocaleChanged
|
||||
import org.mozilla.fenix.helpers.TestHelper.registerAndCleanupIdlingResources
|
||||
import org.mozilla.fenix.ui.SettingsBasicsTest.CreditCard.MOCK_CREDIT_CARD_NUMBER
|
||||
import org.mozilla.fenix.ui.SettingsBasicsTest.CreditCard.MOCK_EXPIRATION_MONTH
|
||||
import org.mozilla.fenix.ui.SettingsBasicsTest.CreditCard.MOCK_EXPIRATION_YEAR
|
||||
|
@ -39,6 +37,8 @@ import org.mozilla.fenix.ui.util.FRENCH_LANGUAGE_HEADER
|
|||
import org.mozilla.fenix.ui.util.FRENCH_SYSTEM_LOCALE_OPTION
|
||||
import org.mozilla.fenix.ui.util.FR_SETTINGS
|
||||
import org.mozilla.fenix.ui.util.ROMANIAN_LANGUAGE_HEADER
|
||||
import java.time.LocalDate
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* Tests for verifying the General section of the Settings menu
|
||||
|
@ -48,7 +48,6 @@ class SettingsBasicsTest {
|
|||
/* ktlint-disable no-blank-line-before-rbrace */ // This imposes unreadable grouping.
|
||||
private lateinit var mockWebServer: MockWebServer
|
||||
private val featureSettingsHelper = FeatureSettingsHelper()
|
||||
private var localeListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
|
||||
object CreditCard {
|
||||
const val MOCK_CREDIT_CARD_NUMBER = "5555555555554444"
|
||||
|
@ -79,10 +78,6 @@ class SettingsBasicsTest {
|
|||
|
||||
// resetting modified features enabled setting to default
|
||||
featureSettingsHelper.resetAllFeatureFlags()
|
||||
|
||||
if (localeListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(localeListIdlingResource)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getUiTheme(): Boolean {
|
||||
|
@ -279,19 +274,19 @@ class SettingsBasicsTest {
|
|||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openLanguageSubMenu {
|
||||
localeListIdlingResource =
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(
|
||||
activityIntentTestRule.activity.findViewById(R.id.locale_list),
|
||||
2,
|
||||
)
|
||||
IdlingRegistry.getInstance().register(localeListIdlingResource)
|
||||
selectLanguage("Romanian")
|
||||
verifyLanguageHeaderIsTranslated(ROMANIAN_LANGUAGE_HEADER)
|
||||
selectLanguage("Français")
|
||||
verifyLanguageHeaderIsTranslated(FRENCH_LANGUAGE_HEADER)
|
||||
selectLanguage(FRENCH_SYSTEM_LOCALE_OPTION)
|
||||
verifyLanguageHeaderIsTranslated(enLanguageHeaderText)
|
||||
IdlingRegistry.getInstance().unregister(localeListIdlingResource)
|
||||
),
|
||||
) {
|
||||
selectLanguage("Romanian")
|
||||
verifyLanguageHeaderIsTranslated(ROMANIAN_LANGUAGE_HEADER)
|
||||
selectLanguage("Français")
|
||||
verifyLanguageHeaderIsTranslated(FRENCH_LANGUAGE_HEADER)
|
||||
selectLanguage(FRENCH_SYSTEM_LOCALE_OPTION)
|
||||
verifyLanguageHeaderIsTranslated(enLanguageHeaderText)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.mozilla.fenix.ui
|
|||
import android.view.View
|
||||
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
|
||||
import androidx.core.net.toUri
|
||||
import androidx.test.espresso.IdlingRegistry
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.uiautomator.UiDevice
|
||||
|
@ -38,6 +37,7 @@ import org.mozilla.fenix.helpers.TestHelper.assertNativeAppOpens
|
|||
import org.mozilla.fenix.helpers.TestHelper.createCustomTabIntent
|
||||
import org.mozilla.fenix.helpers.TestHelper.generateRandomString
|
||||
import org.mozilla.fenix.helpers.TestHelper.scrollToElementByText
|
||||
import org.mozilla.fenix.helpers.TestHelper.registerAndCleanupIdlingResources
|
||||
import org.mozilla.fenix.helpers.ViewVisibilityIdlingResource
|
||||
import org.mozilla.fenix.ui.robots.browserScreen
|
||||
import org.mozilla.fenix.ui.robots.customTabScreen
|
||||
|
@ -60,11 +60,6 @@ import org.mozilla.fenix.ui.util.STRING_ONBOARDING_TRACKING_PROTECTION_HEADER
|
|||
class SmokeTest {
|
||||
private lateinit var mDevice: UiDevice
|
||||
private lateinit var mockWebServer: MockWebServer
|
||||
private var awesomeBar: ViewVisibilityIdlingResource? = null
|
||||
private var addonsListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
private var recentlyClosedTabsListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
private var readerViewNotification: ViewVisibilityIdlingResource? = null
|
||||
private var bookmarksListIdlingResource: RecyclerViewIdlingResource? = null
|
||||
private val customMenuItem = "TestMenuItem"
|
||||
private lateinit var browserStore: BrowserStore
|
||||
private val featureSettingsHelper = FeatureSettingsHelper()
|
||||
|
@ -108,26 +103,6 @@ class SmokeTest {
|
|||
fun tearDown() {
|
||||
mockWebServer.shutdown()
|
||||
|
||||
if (awesomeBar != null) {
|
||||
IdlingRegistry.getInstance().unregister(awesomeBar!!)
|
||||
}
|
||||
|
||||
if (addonsListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(addonsListIdlingResource!!)
|
||||
}
|
||||
|
||||
if (recentlyClosedTabsListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(recentlyClosedTabsListIdlingResource!!)
|
||||
}
|
||||
|
||||
if (bookmarksListIdlingResource != null) {
|
||||
IdlingRegistry.getInstance().unregister(bookmarksListIdlingResource!!)
|
||||
}
|
||||
|
||||
if (readerViewNotification != null) {
|
||||
IdlingRegistry.getInstance().unregister(readerViewNotification)
|
||||
}
|
||||
|
||||
// resetting modified features enabled setting to default
|
||||
featureSettingsHelper.resetAllFeatureFlags()
|
||||
}
|
||||
|
@ -262,14 +237,11 @@ class SmokeTest {
|
|||
}.enterURLAndEnterToBrowser(defaultWebPage.url) {
|
||||
}.openThreeDotMenu {
|
||||
}.openAddonsManagerMenu {
|
||||
addonsListIdlingResource =
|
||||
RecyclerViewIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.add_ons_list),
|
||||
1,
|
||||
)
|
||||
IdlingRegistry.getInstance().register(addonsListIdlingResource!!)
|
||||
verifyAddonsItems()
|
||||
IdlingRegistry.getInstance().unregister(addonsListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.add_ons_list), 1),
|
||||
) {
|
||||
verifyAddonsItems()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -547,11 +519,11 @@ class SmokeTest {
|
|||
}.openTabDrawer {
|
||||
}.openRecentlyClosedTabs {
|
||||
waitForListToExist()
|
||||
recentlyClosedTabsListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.recently_closed_list), 1)
|
||||
IdlingRegistry.getInstance().register(recentlyClosedTabsListIdlingResource!!)
|
||||
verifyRecentlyClosedTabsMenuView()
|
||||
IdlingRegistry.getInstance().unregister(recentlyClosedTabsListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.recently_closed_list), 1),
|
||||
) {
|
||||
verifyRecentlyClosedTabsMenuView()
|
||||
}
|
||||
}.clickRecentlyClosedItem("Test_Page_1") {
|
||||
verifyUrl(website.url.toString())
|
||||
}
|
||||
|
@ -572,11 +544,11 @@ class SmokeTest {
|
|||
}.openTabDrawer {
|
||||
}.openRecentlyClosedTabs {
|
||||
waitForListToExist()
|
||||
recentlyClosedTabsListIdlingResource =
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.recently_closed_list), 1)
|
||||
IdlingRegistry.getInstance().register(recentlyClosedTabsListIdlingResource!!)
|
||||
verifyRecentlyClosedTabsMenuView()
|
||||
IdlingRegistry.getInstance().unregister(recentlyClosedTabsListIdlingResource!!)
|
||||
registerAndCleanupIdlingResources(
|
||||
RecyclerViewIdlingResource(activityTestRule.activity.findViewById(R.id.recently_closed_list), 1),
|
||||
) {
|
||||
verifyRecentlyClosedTabsMenuView()
|
||||
}
|
||||
clickDeleteRecentlyClosedTabs()
|
||||
verifyEmptyRecentlyClosedTabsList()
|
||||
}
|
||||
|
@ -769,12 +741,12 @@ class SmokeTest {
|
|||
mDevice.waitForIdle()
|
||||
}
|
||||
|
||||
readerViewNotification = ViewVisibilityIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
)
|
||||
|
||||
IdlingRegistry.getInstance().register(readerViewNotification)
|
||||
registerAndCleanupIdlingResources(
|
||||
ViewVisibilityIdlingResource(
|
||||
activityTestRule.activity.findViewById(R.id.mozac_browser_toolbar_page_actions),
|
||||
View.VISIBLE,
|
||||
),
|
||||
) {}
|
||||
|
||||
navigationToolbar {
|
||||
verifyReaderViewDetected(true)
|
||||
|
|
Loading…
Reference in New Issue