243 lines
9.7 KiB
Kotlin
243 lines
9.7 KiB
Kotlin
// /* This Source Code Form is subject to the terms of the Mozilla Public
|
|
// * License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
//
|
|
// package org.mozilla.fenix.ui.screenshots
|
|
//
|
|
// import android.os.SystemClock
|
|
// import android.widget.ImageView
|
|
// import androidx.test.espresso.Espresso
|
|
// import androidx.test.espresso.action.ViewActions.pressImeActionButton
|
|
// import androidx.test.espresso.action.ViewActions.replaceText
|
|
// import androidx.test.espresso.matcher.ViewMatchers
|
|
// import androidx.test.rule.ActivityTestRule
|
|
// import androidx.test.uiautomator.By
|
|
// import androidx.test.uiautomator.UiSelector
|
|
// import androidx.test.uiautomator.Until
|
|
// import br.com.concretesolutions.kappuccino.actions.ClickActions
|
|
// import br.com.concretesolutions.kappuccino.extensions.type
|
|
// import okhttp3.mockwebserver.MockWebServer
|
|
// import org.hamcrest.Matchers
|
|
// import org.junit.After
|
|
// import org.junit.Before
|
|
// import org.junit.Rule
|
|
// import org.junit.Test
|
|
// import org.mozilla.fenix.HomeActivity
|
|
// import org.mozilla.fenix.R
|
|
// import org.mozilla.fenix.helpers.AndroidAssetDispatcher
|
|
// import org.mozilla.fenix.helpers.ext.waitNotNull
|
|
// import org.mozilla.fenix.helpers.HomeActivityTestRule
|
|
// import org.mozilla.fenix.helpers.TestAssetHelper
|
|
// import org.mozilla.fenix.helpers.click
|
|
// import org.mozilla.fenix.ui.robots.homeScreen
|
|
// import org.mozilla.fenix.ui.robots.navigationToolbar
|
|
// import org.mozilla.fenix.ui.robots.swipeToBottom
|
|
// import tools.fastlane.screengrab.Screengrab
|
|
// import tools.fastlane.screengrab.locale.LocaleTestRule
|
|
//
|
|
// class MenuScreenShotTest : ScreenshotTest() {
|
|
//
|
|
// private lateinit var mockWebServer: MockWebServer
|
|
// @Rule @JvmField
|
|
// val localeTestRule = LocaleTestRule()
|
|
//
|
|
// @get:Rule
|
|
// var mActivityTestRule: ActivityTestRule<HomeActivity> = HomeActivityTestRule()
|
|
//
|
|
// @Before
|
|
// fun setUp() {
|
|
// mockWebServer = MockWebServer().apply {
|
|
// setDispatcher(AndroidAssetDispatcher())
|
|
// start()
|
|
// }
|
|
// }
|
|
//
|
|
// @After
|
|
// fun tearDown() {
|
|
// mActivityTestRule.getActivity().finishAndRemoveTask()
|
|
// mockWebServer.shutdown()
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun threeDotMenu() {
|
|
// homeScreen {
|
|
// }.openThreeDotMenu { }
|
|
// Screengrab.screenshot("three-dot-menu")
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun settingsTest() {
|
|
// homeScreen {
|
|
// }.openThreeDotMenu {
|
|
// }.openSettings { }
|
|
// Screengrab.screenshot("settings")
|
|
//
|
|
// SystemClock.sleep(TestAssetHelper.waitingTimeShort)
|
|
// settingsAccount()
|
|
// Screengrab.screenshot("settings-sync")
|
|
// device.pressBack()
|
|
//
|
|
// settingsTheme()
|
|
// Screengrab.screenshot("settings-theme")
|
|
// device.pressBack()
|
|
//
|
|
// settingsSearch()
|
|
// Screengrab.screenshot("settings-search")
|
|
// device.pressBack()
|
|
//
|
|
// settingsAccessibility()
|
|
// Screengrab.screenshot("settings-accessibility")
|
|
// device.pressBack()
|
|
//
|
|
// settingsTp()
|
|
// Screengrab.screenshot("settings-tp")
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun settingsAfterScrollMenusTest() {
|
|
// homeScreen {
|
|
// }.openThreeDotMenu {
|
|
// }.openSettings {
|
|
// swipeToBottom()
|
|
// }
|
|
// Screengrab.screenshot("settings-scroll-to-bottom")
|
|
// SystemClock.sleep(TestAssetHelper.waitingTimeShort)
|
|
//
|
|
// settingsRemoveData()
|
|
// Screengrab.screenshot("settings-delete-browsing-data")
|
|
// device.pressBack()
|
|
// SystemClock.sleep(TestAssetHelper.waitingTimeShort)
|
|
//
|
|
// settingsTelemetry()
|
|
// Screengrab.screenshot("settings-telemetry")
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun libraryTest() {
|
|
// homeScreen {
|
|
// }.openThreeDotMenu {
|
|
// }.openLibrary { }
|
|
// Screengrab.screenshot("library")
|
|
//
|
|
// bookmarksButton()
|
|
// Screengrab.screenshot("library-bookmarks")
|
|
// device.pressBack()
|
|
// historyButton()
|
|
// Screengrab.screenshot("library-history")
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun bookmarksManagementTest() {
|
|
// homeScreen {
|
|
// }.openThreeDotMenu {
|
|
// }.openLibrary { }
|
|
// bookmarksButton()
|
|
// addBookmarkFolderButton()
|
|
// Screengrab.screenshot("add-folder-view")
|
|
//
|
|
// confirmAddFolderButton()
|
|
// Screengrab.screenshot("error-empty-folder-name")
|
|
//
|
|
// // Enter folder name and save
|
|
// addFolderName()
|
|
// confirmAddFolderButton()
|
|
// SystemClock.sleep(TestAssetHelper.waitingTimeShort)
|
|
//
|
|
// // Open folder menu
|
|
// bookmarkFolderMenu()
|
|
// Screengrab.screenshot("folder-menu")
|
|
//
|
|
// // Edit folder menu
|
|
// editBookmarkFolder()
|
|
// device.pressBack()
|
|
// Screengrab.screenshot("edit-bookmark-folder-menu")
|
|
//
|
|
// // Delete folder
|
|
// bookmarkFolderMenu()
|
|
// deleteBookmarkFolder()
|
|
// Screengrab.screenshot("delete-bookmark-folder-menu")
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun collectionMenuTest() {
|
|
// val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
|
|
// navigationToolbar {
|
|
// }.enterURLAndEnterToBrowser(defaultWebPage.url) {
|
|
// }
|
|
// device.findObject(UiSelector()
|
|
// .instance(1)
|
|
// .className(ImageView::class.java)).click()
|
|
// // Homescreen with visited tabs
|
|
// mDevice.waitNotNull(device.wait(Until.findObjects(By.text("Save to collection")))
|
|
// openTabsMenu()
|
|
// Screengrab.screenshot("open-tabs-menu")
|
|
// device.pressBack()
|
|
// mDevice.waitNotNull(Until.findObjects(By.text("Save to collection")))
|
|
// Screengrab.screenshot("save-collection-button")
|
|
//
|
|
// // Save a collection
|
|
// saveToCollectionButton()
|
|
// Screengrab.screenshot("save-collection-view")
|
|
// mDevice.waitNotNull(Until.findObject(By.res("org.mozilla.fenix.debug:id/name_collection_edittext")))
|
|
// nameCollectionTextBox().perform(replaceText("CollectionName"),
|
|
// pressImeActionButton())
|
|
//
|
|
// // Homescreen after saving one collection
|
|
// mDevice.waitNotNull(Until.findObject(By.res("org.mozilla.fenix.debug:id/collection_title")))
|
|
// Screengrab.screenshot("saved-tab")
|
|
//
|
|
// // Open Collection menu
|
|
// collectionsButton()
|
|
// Screengrab.screenshot("saved-collections-menu")
|
|
// }
|
|
//
|
|
// @Test
|
|
// fun tabMenuTest() {
|
|
// val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
|
|
// navigationToolbar {
|
|
// }.enterURLAndEnterToBrowser(defaultWebPage.url) {
|
|
// }
|
|
// mDevice.waitNotNull(Until.findObjects(By.res("org.mozilla.fenix.debug:id/quick_action_sheet_handle")))
|
|
// openQuickActionMenu()
|
|
// Screengrab.screenshot("browser-tab-share-bookmark")
|
|
// // Open Browser tab menu
|
|
// device.findObject(UiSelector()
|
|
// .instance(2)
|
|
// .className(ImageView::class.java)).click()
|
|
// Screengrab.screenshot("browser-tab-menu")
|
|
// // Close menu and go back to Homescreen and remove the tab
|
|
// device.pressBack()
|
|
// device.findObject(UiSelector()
|
|
// .instance(1)
|
|
// .className(ImageView::class.java)).click()
|
|
// mDevice.waitNotNull(Until.findObjects(By.res("org.mozilla.fenix.debug:id/close_tab_button")))
|
|
// closeTabButton()
|
|
// Screengrab.screenshot("remove-tab")
|
|
// }
|
|
// }
|
|
//
|
|
// fun bookmarksButton() = ClickActions.click { text(R.string.library_bookmarks) }
|
|
// fun historyButton() = ClickActions.click { text(R.string.library_history) }
|
|
// fun settingsAccount() = ClickActions.click { text(R.string.preferences_sync) }
|
|
//
|
|
// fun settingsSearch() = ClickActions.click { text(R.string.preferences_search_engine) }
|
|
// fun settingsTheme() = ClickActions.click { text(R.string.preferences_theme) }
|
|
// fun settingsAccessibility() = ClickActions.click { text(R.string.preferences_accessibility) }
|
|
// fun settingsTp() = ClickActions.click { text(R.string.preferences_tracking_protection) }
|
|
// fun settingsRemoveData() = ClickActions.click { text(R.string.preferences_delete_browsing_data) }
|
|
// fun settingsTelemetry() = ClickActions.click { text(R.string.preferences_data_collection) }
|
|
//
|
|
// fun openTabsMenu() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.tabs_overflow_button))).click()
|
|
// fun openQuickActionMenu() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.quick_action_sheet_handle))).click()
|
|
// fun saveToCollectionButton() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.save_tab_group_button))).click()
|
|
// fun collectionsButton() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.collection_overflow_button))).click()
|
|
// fun addBookmarkFolderButton() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.add_bookmark_folder))).click()
|
|
// fun confirmAddFolderButton() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.confirm_add_folder_button))).click()
|
|
// fun addFolderName() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.bookmarkAddFolderTitleEdit)))
|
|
// .type("folder")
|
|
// fun bookmarkFolderMenu() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.overflow_menu))).click()
|
|
// fun editBookmarkFolder() = ClickActions.click { text(R.string.bookmark_menu_edit_button) }
|
|
// fun deleteBookmarkFolder() = ClickActions.click { text(R.string.bookmark_menu_delete_button) }
|
|
// fun nameCollectionTextBox() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.name_collection_edittext)))
|
|
// fun closeTabButton() = Espresso.onView(Matchers.allOf(ViewMatchers.withId(R.id.close_tab_button))).click()
|