[fenix] For https://github.com/mozilla-mobile/fenix/issues/4885: D8 Build failure on attempt to execute UI test (https://github.com/mozilla-mobile/fenix/pull/4903)
* For https://github.com/mozilla-mobile/fenix/issues/4885: D8 Build failure on attempt to execute UI test * Disabled screengrab tests until AndroidX fix is availablepull/600/head
parent
df7dc6523c
commit
cdc611fec5
@ -1,71 +1,71 @@
|
||||
/* 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 androidx.test.rule.ActivityTestRule
|
||||
import org.junit.After
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.mozilla.fenix.helpers.HomeActivityTestRule
|
||||
import org.mozilla.fenix.HomeActivity
|
||||
import org.mozilla.fenix.R
|
||||
import android.os.SystemClock
|
||||
import tools.fastlane.screengrab.Screengrab
|
||||
import tools.fastlane.screengrab.locale.LocaleTestRule
|
||||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.action.ViewActions.click
|
||||
import androidx.test.espresso.action.ViewActions.swipeUp
|
||||
import androidx.test.espresso.action.ViewActions.swipeDown
|
||||
import androidx.test.espresso.matcher.ViewMatchers.hasFocus
|
||||
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
import org.hamcrest.Matchers.allOf
|
||||
|
||||
class DefaultHomeScreenTest : ScreenshotTest() {
|
||||
@Rule @JvmField
|
||||
val localeTestRule = LocaleTestRule()
|
||||
@get:Rule
|
||||
var mActivityTestRule: ActivityTestRule<HomeActivity> = HomeActivityTestRule()
|
||||
|
||||
@After
|
||||
fun tearDown() {
|
||||
mActivityTestRule.getActivity().finishAndRemoveTask()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun showDefaultHomeScreen() {
|
||||
onView(allOf(withId(R.id.homeLayout), isDisplayed(), hasFocus()))
|
||||
onView(allOf(withId(R.id.toolbar), isDisplayed()))
|
||||
SystemClock.sleep(5000)
|
||||
Screengrab.screenshot("home-screen")
|
||||
|
||||
onView(allOf(withId(R.id.privateBrowsingButton))).perform(click())
|
||||
Screengrab.screenshot("private-browsing-menu")
|
||||
onView(allOf(withId(R.id.privateBrowsingButton))).perform(click())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun scrollHomeScreen() {
|
||||
onView(withId(R.id.home_component)).perform(swipeUp())
|
||||
Screengrab.screenshot("home-screen2")
|
||||
SystemClock.sleep(3000)
|
||||
|
||||
onView(withId(R.id.home_component)).perform(swipeUp())
|
||||
Screengrab.screenshot("home-screen3")
|
||||
SystemClock.sleep(3000)
|
||||
|
||||
onView(withId(R.id.finish_button)).perform(click())
|
||||
SystemClock.sleep(3000)
|
||||
|
||||
Screengrab.screenshot("finish-button")
|
||||
SystemClock.sleep(3000)
|
||||
|
||||
onView(withId(R.id.home_component)).perform(swipeDown())
|
||||
SystemClock.sleep(3000)
|
||||
|
||||
onView(withId(R.id.add_tab_button)).perform(click())
|
||||
Screengrab.screenshot("add_tab_button")
|
||||
}
|
||||
}
|
||||
// /* 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 androidx.test.rule.ActivityTestRule
|
||||
// import org.junit.After
|
||||
// import org.junit.Rule
|
||||
// import org.junit.Test
|
||||
// import org.mozilla.fenix.helpers.HomeActivityTestRule
|
||||
// import org.mozilla.fenix.HomeActivity
|
||||
// import org.mozilla.fenix.R
|
||||
// import android.os.SystemClock
|
||||
// import tools.fastlane.screengrab.Screengrab
|
||||
// import tools.fastlane.screengrab.locale.LocaleTestRule
|
||||
// import androidx.test.espresso.Espresso.onView
|
||||
// import androidx.test.espresso.action.ViewActions.click
|
||||
// import androidx.test.espresso.action.ViewActions.swipeUp
|
||||
// import androidx.test.espresso.action.ViewActions.swipeDown
|
||||
// import androidx.test.espresso.matcher.ViewMatchers.hasFocus
|
||||
// import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
|
||||
// import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
// import org.hamcrest.Matchers.allOf
|
||||
//
|
||||
// class DefaultHomeScreenTest : ScreenshotTest() {
|
||||
// @Rule @JvmField
|
||||
// val localeTestRule = LocaleTestRule()
|
||||
// @get:Rule
|
||||
// var mActivityTestRule: ActivityTestRule<HomeActivity> = HomeActivityTestRule()
|
||||
//
|
||||
// @After
|
||||
// fun tearDown() {
|
||||
// mActivityTestRule.getActivity().finishAndRemoveTask()
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// fun showDefaultHomeScreen() {
|
||||
// onView(allOf(withId(R.id.homeLayout), isDisplayed(), hasFocus()))
|
||||
// onView(allOf(withId(R.id.toolbar), isDisplayed()))
|
||||
// SystemClock.sleep(5000)
|
||||
// Screengrab.screenshot("home-screen")
|
||||
//
|
||||
// onView(allOf(withId(R.id.privateBrowsingButton))).perform(click())
|
||||
// Screengrab.screenshot("private-browsing-menu")
|
||||
// onView(allOf(withId(R.id.privateBrowsingButton))).perform(click())
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// fun scrollHomeScreen() {
|
||||
// onView(withId(R.id.home_component)).perform(swipeUp())
|
||||
// Screengrab.screenshot("home-screen2")
|
||||
// SystemClock.sleep(3000)
|
||||
//
|
||||
// onView(withId(R.id.home_component)).perform(swipeUp())
|
||||
// Screengrab.screenshot("home-screen3")
|
||||
// SystemClock.sleep(3000)
|
||||
//
|
||||
// onView(withId(R.id.finish_button)).perform(click())
|
||||
// SystemClock.sleep(3000)
|
||||
//
|
||||
// Screengrab.screenshot("finish-button")
|
||||
// SystemClock.sleep(3000)
|
||||
//
|
||||
// onView(withId(R.id.home_component)).perform(swipeDown())
|
||||
// SystemClock.sleep(3000)
|
||||
//
|
||||
// onView(withId(R.id.add_tab_button)).perform(click())
|
||||
// Screengrab.screenshot("add_tab_button")
|
||||
// }
|
||||
// }
|
||||
|
@ -1,241 +1,241 @@
|
||||
/* 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.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
|
||||
device.wait(Until.findObjects(By.text("Save to collection")), TestAssetHelper.waitingTimeShort)
|
||||
openTabsMenu()
|
||||
Screengrab.screenshot("open-tabs-menu")
|
||||
device.pressBack()
|
||||
device.wait(Until.findObjects(By.text("Save to collection")), TestAssetHelper.waitingTimeShort)
|
||||
Screengrab.screenshot("save-collection-button")
|
||||
|
||||
// Save a collection
|
||||
saveToCollectionButton()
|
||||
Screengrab.screenshot("save-collection-view")
|
||||
device.wait(Until.findObject(By.res("name_collection_edittext")), TestAssetHelper.waitingTimeShort)
|
||||
nameCollectionTextBox().perform(replaceText("CollectionName"),
|
||||
pressImeActionButton())
|
||||
|
||||
// Homescreen after saving one collection
|
||||
device.wait(Until.findObject(By.res("collection_title")), TestAssetHelper.waitingTimeShort)
|
||||
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) {
|
||||
}
|
||||
device.wait(Until.findObjects(By.res("quick_action_sheet_handle")), TestAssetHelper.waitingTimeShort)
|
||||
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()
|
||||
device.wait(Until.findObjects(By.res("close_tab_button")), TestAssetHelper.waitingTimeShort)
|
||||
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()
|
||||
// /* 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.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
|
||||
// device.wait(Until.findObjects(By.text("Save to collection")), TestAssetHelper.waitingTimeShort)
|
||||
// openTabsMenu()
|
||||
// Screengrab.screenshot("open-tabs-menu")
|
||||
// device.pressBack()
|
||||
// device.wait(Until.findObjects(By.text("Save to collection")), TestAssetHelper.waitingTimeShort)
|
||||
// Screengrab.screenshot("save-collection-button")
|
||||
//
|
||||
// // Save a collection
|
||||
// saveToCollectionButton()
|
||||
// Screengrab.screenshot("save-collection-view")
|
||||
// device.wait(Until.findObject(By.res("name_collection_edittext")), TestAssetHelper.waitingTimeShort)
|
||||
// nameCollectionTextBox().perform(replaceText("CollectionName"),
|
||||
// pressImeActionButton())
|
||||
//
|
||||
// // Homescreen after saving one collection
|
||||
// device.wait(Until.findObject(By.res("collection_title")), TestAssetHelper.waitingTimeShort)
|
||||
// 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) {
|
||||
// }
|
||||
// device.wait(Until.findObjects(By.res("quick_action_sheet_handle")), TestAssetHelper.waitingTimeShort)
|
||||
// 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()
|
||||
// device.wait(Until.findObjects(By.res("close_tab_button")), TestAssetHelper.waitingTimeShort)
|
||||
// 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()
|
||||
|
@ -1,75 +1,75 @@
|
||||
/* 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.Manifest;
|
||||
import android.app.Instrumentation;
|
||||
import android.content.Context;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.rule.GrantPermissionRule;
|
||||
import androidx.test.uiautomator.UiDevice;
|
||||
import android.text.format.DateUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.rules.TestRule;
|
||||
import org.junit.rules.TestWatcher;
|
||||
import org.junit.runner.Description;
|
||||
|
||||
import tools.fastlane.screengrab.Screengrab;
|
||||
import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy;
|
||||
|
||||
/**
|
||||
* Base class for tests that take screenshots.
|
||||
*/
|
||||
public abstract class ScreenshotTest {
|
||||
final long waitingTime = DateUtils.SECOND_IN_MILLIS * 10;
|
||||
|
||||
private Context targetContext;
|
||||
|
||||
UiDevice device;
|
||||
|
||||
@Rule
|
||||
public GrantPermissionRule permissionRule = GrantPermissionRule.grant(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
|
||||
@Rule
|
||||
public TestRule screenshotOnFailureRule = new TestWatcher() {
|
||||
@Override
|
||||
protected void failed(Throwable e, Description description) {
|
||||
// On error take a screenshot so that we can debug it easily
|
||||
Screengrab.screenshot("FAILURE-" + getScreenshotName(description));
|
||||
}
|
||||
|
||||
private String getScreenshotName(Description description) {
|
||||
return description.getClassName().replace(".", "-")
|
||||
+ "_"
|
||||
+ description.getMethodName().replace(".", "-");
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
public void setUpScreenshots() {
|
||||
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
|
||||
targetContext = instrumentation.getTargetContext();
|
||||
device = UiDevice.getInstance(instrumentation);
|
||||
|
||||
// Use this to switch between default strategy and HostScreencap strategy
|
||||
Screengrab.setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
|
||||
}
|
||||
|
||||
String getString(@StringRes int resourceId) {
|
||||
return targetContext.getString(resourceId).trim();
|
||||
}
|
||||
|
||||
String getString(@StringRes int resourceId, Object... formatArgs) {
|
||||
return targetContext.getString(resourceId, formatArgs).trim();
|
||||
}
|
||||
|
||||
public void takeScreenshotsAfterWait(String filename, int waitingTime) throws InterruptedException {
|
||||
Thread.sleep(waitingTime);
|
||||
Screengrab.screenshot(filename);
|
||||
}
|
||||
}
|
||||
// /* 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.Manifest;
|
||||
// import android.app.Instrumentation;
|
||||
// import android.content.Context;
|
||||
// import androidx.annotation.StringRes;
|
||||
// import androidx.test.platform.app.InstrumentationRegistry;
|
||||
// import androidx.test.rule.GrantPermissionRule;
|
||||
// import androidx.test.uiautomator.UiDevice;
|
||||
// import android.text.format.DateUtils;
|
||||
//
|
||||
// import org.junit.Before;
|
||||
// import org.junit.Rule;
|
||||
// import org.junit.rules.TestRule;
|
||||
// import org.junit.rules.TestWatcher;
|
||||
// import org.junit.runner.Description;
|
||||
//
|
||||
// import tools.fastlane.screengrab.Screengrab;
|
||||
// import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy;
|
||||
//
|
||||
// /**
|
||||
// * Base class for tests that take screenshots.
|
||||
// */
|
||||
// public abstract class ScreenshotTest {
|
||||
// final long waitingTime = DateUtils.SECOND_IN_MILLIS * 10;
|
||||
//
|
||||
// private Context targetContext;
|
||||
//
|
||||
// UiDevice device;
|
||||
//
|
||||
// @Rule
|
||||
// public GrantPermissionRule permissionRule = GrantPermissionRule.grant(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
//
|
||||
// @Rule
|
||||
// public TestRule screenshotOnFailureRule = new TestWatcher() {
|
||||
// @Override
|
||||
// protected void failed(Throwable e, Description description) {
|
||||
// // On error take a screenshot so that we can debug it easily
|
||||
// Screengrab.screenshot("FAILURE-" + getScreenshotName(description));
|
||||
// }
|
||||
//
|
||||
// private String getScreenshotName(Description description) {
|
||||
// return description.getClassName().replace(".", "-")
|
||||
// + "_"
|
||||
// + description.getMethodName().replace(".", "-");
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// @Before
|
||||
// public void setUpScreenshots() {
|
||||
// Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
|
||||
// targetContext = instrumentation.getTargetContext();
|
||||
// device = UiDevice.getInstance(instrumentation);
|
||||
//
|
||||
// // Use this to switch between default strategy and HostScreencap strategy
|
||||
// Screengrab.setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
|
||||
// }
|
||||
//
|
||||
// String getString(@StringRes int resourceId) {
|
||||
// return targetContext.getString(resourceId).trim();
|
||||
// }
|
||||
//
|
||||
// String getString(@StringRes int resourceId, Object... formatArgs) {
|
||||
// return targetContext.getString(resourceId, formatArgs).trim();
|
||||
// }
|
||||
//
|
||||
// public void takeScreenshotsAfterWait(String filename, int waitingTime) throws InterruptedException {
|
||||
// Thread.sleep(waitingTime);
|
||||
// Screengrab.screenshot(filename);
|
||||
// }
|
||||
// }
|
||||
|
Loading…
Reference in New Issue