You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.1 KiB
Kotlin
90 lines
3.1 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
|
|
|
|
import androidx.core.net.toUri
|
|
import org.junit.Rule
|
|
import org.junit.Test
|
|
import org.mozilla.fenix.customannotations.SmokeTest
|
|
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
|
|
import org.mozilla.fenix.helpers.MatcherHelper.itemContainingText
|
|
import org.mozilla.fenix.helpers.TestHelper.mDevice
|
|
import org.mozilla.fenix.helpers.TestSetup
|
|
import org.mozilla.fenix.ui.robots.clickPageObject
|
|
import org.mozilla.fenix.ui.robots.customTabScreen
|
|
import org.mozilla.fenix.ui.robots.navigationToolbar
|
|
import org.mozilla.fenix.ui.robots.pwaScreen
|
|
|
|
class PwaTest : TestSetup() {
|
|
/* Updated externalLinks.html to v2.0,
|
|
changed the hypertext reference to mozilla-mobile.github.io/testapp/downloads for "External link"
|
|
*/
|
|
private val externalLinksPWAPage = "https://mozilla-mobile.github.io/testapp/v2.0/externalLinks.html"
|
|
private val emailLink = "mailto://example@example.com"
|
|
private val phoneLink = "tel://1234567890"
|
|
private val shortcutTitle = "TEST_APP"
|
|
|
|
@get:Rule
|
|
val activityTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides()
|
|
|
|
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/845695
|
|
@Test
|
|
fun externalLinkPWATest() {
|
|
val externalLinkURL = "https://mozilla-mobile.github.io/testapp/downloads"
|
|
|
|
navigationToolbar {
|
|
}.enterURLAndEnterToBrowser(externalLinksPWAPage.toUri()) {
|
|
waitForPageToLoad()
|
|
verifyNotificationDotOnMainMenu()
|
|
}.openThreeDotMenu {
|
|
}.clickInstall {
|
|
clickAddAutomaticallyButton()
|
|
}.openHomeScreenShortcut(shortcutTitle) {
|
|
clickPageObject(itemContainingText("External link"))
|
|
}
|
|
|
|
customTabScreen {
|
|
verifyCustomTabToolbarTitle(externalLinkURL)
|
|
}
|
|
}
|
|
|
|
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/845694
|
|
@Test
|
|
fun appLikeExperiencePWATest() {
|
|
navigationToolbar {
|
|
}.enterURLAndEnterToBrowser(externalLinksPWAPage.toUri()) {
|
|
waitForPageToLoad()
|
|
verifyNotificationDotOnMainMenu()
|
|
}.openThreeDotMenu {
|
|
}.clickInstall {
|
|
clickAddAutomaticallyButton()
|
|
}.openHomeScreenShortcut(shortcutTitle) {
|
|
}
|
|
|
|
pwaScreen {
|
|
verifyCustomTabToolbarIsNotDisplayed()
|
|
verifyPwaActivityInCurrentTask()
|
|
}
|
|
}
|
|
|
|
// TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/834200
|
|
@SmokeTest
|
|
@Test
|
|
fun installPWAFromTheMainMenuTest() {
|
|
val pwaPage = "https://mozilla-mobile.github.io/testapp/"
|
|
|
|
navigationToolbar {
|
|
}.enterURLAndEnterToBrowser(pwaPage.toUri()) {
|
|
verifyNotificationDotOnMainMenu()
|
|
}.openThreeDotMenu {
|
|
}.clickInstall {
|
|
clickAddAutomaticallyButton()
|
|
}.openHomeScreenShortcut("TEST_APP") {
|
|
mDevice.waitForIdle()
|
|
verifyNavURLBarHidden()
|
|
}
|
|
}
|
|
}
|