parent
ce74a49a22
commit
c9e4303fa0
|
@ -8,8 +8,12 @@ import android.net.Uri
|
|||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.action.ViewActions.longClick
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.UiScrollable
|
||||
import androidx.test.uiautomator.UiSelector
|
||||
import androidx.test.uiautomator.Until
|
||||
import org.mozilla.fenix.helpers.ext.waitNotNull
|
||||
import org.mozilla.fenix.ui.robots.mDevice
|
||||
|
||||
object TestHelper {
|
||||
fun scrollToElementByText(text: String): UiScrollable {
|
||||
|
@ -19,6 +23,10 @@ object TestHelper {
|
|||
}
|
||||
|
||||
fun longTapSelectItem(url: Uri) {
|
||||
mDevice.waitNotNull(
|
||||
Until.findObject(By.text(url.toString())),
|
||||
TestAssetHelper.waitingTime
|
||||
)
|
||||
onView(withText(url.toString())).perform(longClick())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,8 +71,8 @@ class HistoryTest {
|
|||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
verifyHistoryMenuView()
|
||||
verifyVisitedTimeTitle()
|
||||
|
@ -88,8 +88,8 @@ class HistoryTest {
|
|||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
openOverflowMenu()
|
||||
clickThreeDotMenuDelete()
|
||||
|
@ -98,14 +98,13 @@ class HistoryTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Ignore("Temp disable flakey test - see: https://github.com/mozilla-mobile/fenix/issues/5462")
|
||||
fun deleteAllHistoryTest() {
|
||||
val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
|
||||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
clickDeleteHistoryButton()
|
||||
verifyDeleteConfirmationMessage()
|
||||
|
@ -121,8 +120,8 @@ class HistoryTest {
|
|||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
}
|
||||
|
@ -166,8 +165,8 @@ class HistoryTest {
|
|||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
openActionBarOverflowOrOptionsMenu(activityTestRule.getActivity())
|
||||
|
@ -181,17 +180,18 @@ class HistoryTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Ignore("Temp disable flakey test - see: https://github.com/mozilla-mobile/fenix/issues/5462")
|
||||
fun deleteMultipleSelectionTest() {
|
||||
val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
|
||||
val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
|
||||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openNavigationToolbar {
|
||||
}.openHomeScreen {}
|
||||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(secondWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
longTapSelectItem(secondWebPage.url)
|
||||
|
@ -211,8 +211,8 @@ class HistoryTest {
|
|||
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openHomeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openLibrary {
|
||||
}.openHistory {
|
||||
longTapSelectItem(firstWebPage.url)
|
||||
}
|
||||
|
@ -237,8 +237,8 @@ class HistoryTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Ignore("Test will be included after back navigation from History Fragment is sorted")
|
||||
@Test
|
||||
@Ignore("Test will be included after back navigation from History Fragment is sorted")
|
||||
fun verifyCloseMenu() {
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
|
|
|
@ -15,10 +15,14 @@ import androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility
|
|||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withParent
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.Until
|
||||
import org.hamcrest.Matchers
|
||||
import org.hamcrest.Matchers.allOf
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime
|
||||
import org.mozilla.fenix.helpers.click
|
||||
import org.mozilla.fenix.helpers.ext.waitNotNull
|
||||
|
||||
/**
|
||||
* Implementation of Robot Pattern for the history menu.
|
||||
|
@ -27,9 +31,25 @@ class HistoryRobot {
|
|||
|
||||
fun verifyHistoryMenuView() = assertHistoryMenuView()
|
||||
|
||||
fun verifyEmptyHistoryView() = assertEmptyHistoryView()
|
||||
fun verifyEmptyHistoryView() {
|
||||
mDevice.waitNotNull(
|
||||
Until.findObject(
|
||||
By.text("No history here")
|
||||
),
|
||||
waitingTime
|
||||
)
|
||||
assertEmptyHistoryView()
|
||||
}
|
||||
|
||||
fun verifyVisitedTimeTitle() = assertVisitedTimeTitle()
|
||||
fun verifyVisitedTimeTitle() {
|
||||
mDevice.waitNotNull(
|
||||
Until.findObject(
|
||||
By.text("Last 24 hours")
|
||||
),
|
||||
waitingTime
|
||||
)
|
||||
assertVisitedTimeTitle()
|
||||
}
|
||||
|
||||
fun verifyFirstTestPageTitle(title: String) = assertTestPageTitle(title)
|
||||
|
||||
|
@ -40,6 +60,12 @@ class HistoryRobot {
|
|||
fun verifyHomeScreen() = HomeScreenRobot().verifyHomeScreen()
|
||||
|
||||
fun openOverflowMenu() {
|
||||
mDevice.waitNotNull(
|
||||
Until.findObject(
|
||||
By.res("org.mozilla.fenix.debug:id/overflow_menu")
|
||||
),
|
||||
waitingTime
|
||||
)
|
||||
overflowMenu().click()
|
||||
}
|
||||
|
||||
|
@ -48,6 +74,7 @@ class HistoryRobot {
|
|||
}
|
||||
|
||||
fun clickDeleteHistoryButton() {
|
||||
mDevice.waitNotNull(Until.findObject(By.text("Delete history")), waitingTime)
|
||||
deleteAllHistoryButton().click()
|
||||
}
|
||||
|
||||
|
@ -59,18 +86,18 @@ class HistoryRobot {
|
|||
}
|
||||
|
||||
class Transition {
|
||||
fun goBack(interact: HistoryRobot.() -> Unit): HistoryRobot.Transition {
|
||||
fun goBack(interact: HistoryRobot.() -> Unit): Transition {
|
||||
goBackButton().click()
|
||||
|
||||
HistoryRobot().interact()
|
||||
return HistoryRobot.Transition()
|
||||
return Transition()
|
||||
}
|
||||
|
||||
fun closeMenu(interact: HistoryRobot.() -> Unit): HistoryRobot.Transition {
|
||||
fun closeMenu(interact: HistoryRobot.() -> Unit): Transition {
|
||||
closeButton().click()
|
||||
|
||||
HistoryRobot().interact()
|
||||
return HistoryRobot.Transition()
|
||||
return Transition()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue