Bug 1881491 - Add logs to SettingsSubMenuLoginsAndPasswordRobot

fenix/125.0
AndiAJ 4 months ago committed by mergify[bot]
parent 97fd69d04e
commit 89bd2fc465

@ -7,8 +7,9 @@
package org.mozilla.fenix.ui.robots package org.mozilla.fenix.ui.robots
import android.content.Context import android.content.Context
import android.util.Log
import androidx.test.espresso.Espresso.onView import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.isChecked import androidx.test.espresso.matcher.ViewMatchers.isChecked
@ -23,6 +24,7 @@ import androidx.test.uiautomator.Until
import org.hamcrest.CoreMatchers.allOf import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.CoreMatchers.endsWith import org.hamcrest.CoreMatchers.endsWith
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.helpers.Constants.TAG
import org.mozilla.fenix.helpers.TestAssetHelper import org.mozilla.fenix.helpers.TestAssetHelper
import org.mozilla.fenix.helpers.TestHelper.appName import org.mozilla.fenix.helpers.TestHelper.appName
import org.mozilla.fenix.helpers.TestHelper.hasCousin import org.mozilla.fenix.helpers.TestHelper.hasCousin
@ -37,12 +39,24 @@ class SettingsSubMenuLoginsAndPasswordRobot {
fun verifyDefaultView() { fun verifyDefaultView() {
mDevice.waitNotNull(Until.findObjects(By.text("Save logins and passwords")), TestAssetHelper.waitingTime) mDevice.waitNotNull(Until.findObjects(By.text("Save logins and passwords")), TestAssetHelper.waitingTime)
Log.i(TAG, "verifyDefaultView: Trying to verify that the \"Save logins and passwords\" button is displayed")
saveLoginsAndPasswordButton().check(matches(isDisplayed())) saveLoginsAndPasswordButton().check(matches(isDisplayed()))
Log.i(TAG, "verifyDefaultView: Verified that the \"Save logins and passwords\" button is displayed")
Log.i(TAG, "verifyDefaultView: Trying to verify that the Autofill in Firefox option is displayed")
autofillInFirefoxOption().check(matches(isDisplayed())) autofillInFirefoxOption().check(matches(isDisplayed()))
Log.i(TAG, "verifyDefaultView: Verified that the Autofill in Firefox option is displayed")
Log.i(TAG, "verifyDefaultView: Trying to verify that the \"Autofill in other apps\" option is displayed")
autofillInOtherAppsOption().check(matches(isDisplayed())) autofillInOtherAppsOption().check(matches(isDisplayed()))
Log.i(TAG, "verifyDefaultView: Verified that the \"Autofill in other apps\" option is displayed")
Log.i(TAG, "verifyDefaultView: Trying to verify that the \"Sync logins across devices\" button is displayed")
syncLoginsButton().check(matches(isDisplayed())) syncLoginsButton().check(matches(isDisplayed()))
Log.i(TAG, "verifyDefaultView: Verified that the \"Sync logins across devices\" button is displayed")
Log.i(TAG, "verifyDefaultView: Trying to verify that the \"Saved logins\" button is displayed")
savedLoginsButton().check(matches(isDisplayed())) savedLoginsButton().check(matches(isDisplayed()))
Log.i(TAG, "verifyDefaultView: Verified that the \"Saved logins\" button is displayed")
Log.i(TAG, "verifyDefaultView: Trying to verify that the \"Exceptions\" button is displayed")
loginExceptionsButton().check(matches(isDisplayed())) loginExceptionsButton().check(matches(isDisplayed()))
Log.i(TAG, "verifyDefaultView: Verified that the \"Exceptions\" button is displayed")
} }
fun verifyDefaultViewBeforeSyncComplete() { fun verifyDefaultViewBeforeSyncComplete() {
@ -53,11 +67,27 @@ class SettingsSubMenuLoginsAndPasswordRobot {
mDevice.waitNotNull(Until.findObjects(By.text("On")), TestAssetHelper.waitingTime) mDevice.waitNotNull(Until.findObjects(By.text("On")), TestAssetHelper.waitingTime)
} }
fun verifyDefaultValueAutofillLogins(context: Context) = assertDefaultValueAutofillLogins(context) fun verifyDefaultValueAutofillLogins(context: Context) {
Log.i(TAG, "verifyDefaultValueAutofillLogins: Trying to verify that the Autofill in Firefox option is displayed")
onView(
withText(
context.getString(
R.string.preferences_passwords_autofill2,
context.getString(R.string.app_name),
),
),
).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
Log.i(TAG, "verifyDefaultValueAutofillLogins: Verified that the Autofill in Firefox option is displayed")
}
fun clickAutofillInFirefoxOption() = autofillInFirefoxOption().click() fun clickAutofillInFirefoxOption() {
Log.i(TAG, "clickAutofillInFirefoxOption: Trying to click the Autofill in Firefox option")
autofillInFirefoxOption().click()
Log.i(TAG, "clickAutofillInFirefoxOption: Clicked the Autofill in Firefox option")
}
fun verifyAutofillInFirefoxToggle(enabled: Boolean) { fun verifyAutofillInFirefoxToggle(enabled: Boolean) {
Log.i(TAG, "verifyAutofillInFirefoxToggle: Trying to verify that the Autofill in Firefox toggle is enabled: $enabled")
autofillInFirefoxOption() autofillInFirefoxOption()
.check( .check(
matches( matches(
@ -73,8 +103,10 @@ class SettingsSubMenuLoginsAndPasswordRobot {
), ),
), ),
) )
Log.i(TAG, "verifyAutofillInFirefoxToggle: Verified that the Autofill in Firefox toggle is enabled: $enabled")
} }
fun verifyAutofillLoginsInOtherAppsToggle(enabled: Boolean) { fun verifyAutofillLoginsInOtherAppsToggle(enabled: Boolean) {
Log.i(TAG, "verifyAutofillLoginsInOtherAppsToggle: Trying to verify that the \"Autofill in other apps\" toggle is enabled: $enabled")
autofillInOtherAppsOption() autofillInOtherAppsOption()
.check( .check(
matches( matches(
@ -90,40 +122,51 @@ class SettingsSubMenuLoginsAndPasswordRobot {
), ),
), ),
) )
Log.i(TAG, "verifyAutofillLoginsInOtherAppsToggle: Verified that the \"Autofill in other apps\" toggle is enabled: $enabled")
} }
class Transition { class Transition {
fun goBack(interact: SettingsRobot.() -> Unit): SettingsRobot.Transition { fun goBack(interact: SettingsRobot.() -> Unit): SettingsRobot.Transition {
goBackButton().perform(ViewActions.click()) Log.i(TAG, "goBack: Trying to click the navigate up button")
goBackButton().perform(click())
Log.i(TAG, "goBack: Clicked the navigate up button")
SettingsRobot().interact() SettingsRobot().interact()
return SettingsRobot.Transition() return SettingsRobot.Transition()
} }
fun openSavedLogins(interact: SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition { fun openSavedLogins(interact: SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition {
Log.i(TAG, "openSavedLogins: Trying to click the \"Saved logins\" button")
savedLoginsButton().click() savedLoginsButton().click()
Log.i(TAG, "openSavedLogins: Clicked the \"Saved logins\" button")
SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot().interact() SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot().interact()
return SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition() return SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition()
} }
fun openLoginExceptions(interact: SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition { fun openLoginExceptions(interact: SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition {
Log.i(TAG, "openLoginExceptions: Trying to click the \"Exceptions\" button")
loginExceptionsButton().click() loginExceptionsButton().click()
Log.i(TAG, "openLoginExceptions: Clicked the \"Exceptions\" button")
SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot().interact() SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot().interact()
return SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition() return SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.Transition()
} }
fun openSyncLogins(interact: SettingsTurnOnSyncRobot.() -> Unit): SettingsTurnOnSyncRobot.Transition { fun openSyncLogins(interact: SettingsTurnOnSyncRobot.() -> Unit): SettingsTurnOnSyncRobot.Transition {
Log.i(TAG, "openSyncLogins: Trying to click the \"Sync logins across devices\" button")
syncLoginsButton().click() syncLoginsButton().click()
Log.i(TAG, "openSyncLogins: Clicked the \"Sync logins across devices\" button")
SettingsTurnOnSyncRobot().interact() SettingsTurnOnSyncRobot().interact()
return SettingsTurnOnSyncRobot.Transition() return SettingsTurnOnSyncRobot.Transition()
} }
fun openSaveLoginsAndPasswordsOptions(interact: SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot.Transition { fun openSaveLoginsAndPasswordsOptions(interact: SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot.Transition {
Log.i(TAG, "openSaveLoginsAndPasswordsOptions: Trying to click the \"Save logins and passwords\" button")
saveLoginsAndPasswordButton().click() saveLoginsAndPasswordButton().click()
Log.i(TAG, "openSaveLoginsAndPasswordsOptions: Clicked the \"Save logins and passwords\" button")
SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot().interact() SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot().interact()
return SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot.Transition() return SettingsSubMenuLoginsAndPasswordOptionsToSaveRobot.Transition()
@ -147,16 +190,6 @@ private fun loginExceptionsButton() = onView(withText("Exceptions"))
private fun goBackButton() = private fun goBackButton() =
onView(allOf(ViewMatchers.withContentDescription("Navigate up"))) onView(allOf(ViewMatchers.withContentDescription("Navigate up")))
private fun assertDefaultValueAutofillLogins(context: Context) = onView(
ViewMatchers.withText(
context.getString(
R.string.preferences_passwords_autofill2,
context.getString(R.string.app_name),
),
),
)
.check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
private fun autofillInFirefoxOption() = onView(withText("Autofill in $appName")) private fun autofillInFirefoxOption() = onView(withText("Autofill in $appName"))
private fun autofillInOtherAppsOption() = onView(withText("Autofill in other apps")) private fun autofillInOtherAppsOption() = onView(withText("Autofill in other apps"))

Loading…
Cancel
Save