summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-08-27 17:10:15 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-08-27 17:10:15 +0200
commite1af89b893444b2c58312a8199693dca13e9707a (patch)
tree38fd3f3f8fbb0e1ae1b9883389135bd2c8f518e6 /android
parent3a227395b1598adbc995eaa78a0d5863b123afe2 (diff)
parent2e280c73a2f1e599a9651ad96dbca04713d56a75 (diff)
downloadmullvadvpn-e1af89b893444b2c58312a8199693dca13e9707a.tar.xz
mullvadvpn-e1af89b893444b2c58312a8199693dca13e9707a.zip
Merge branch 'fix-failing-test-testconnectandverifywithconnectioncheck-droid-1262'
Diffstat (limited to 'android')
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt7
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/rule/ForgetAllVpnAppsInSettingsTestRule.kt12
-rw-r--r--android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt2
3 files changed, 15 insertions, 6 deletions
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt
index bc2481e55f..19de2ac789 100644
--- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt
+++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt
@@ -57,7 +57,9 @@ class AppInteractor(
device.findObjectWithTimeout(By.clazz("android.widget.EditText")).apply {
text = accountNumber
}
- loginObject.parent.findObject(By.clazz(Button::class.java)).click()
+ val loginButton = loginObject.parent.findObject(By.clazz(Button::class.java))
+ loginButton.wait(Until.enabled(true), DEFAULT_INTERACTION_TIMEOUT)
+ loginButton.click()
}
fun attemptCreateAccount() {
@@ -91,7 +93,8 @@ class AppInteractor(
device.findObjectWithTimeout(By.res("location_info_test_tag")).click()
return device
.findObjectWithTimeout(
- By.res("location_info_connection_out_test_tag"),
+ // Text exist and contains IP address
+ By.res("location_info_connection_out_test_tag").textContains("."),
CONNECTION_TIMEOUT
)
.text
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/rule/ForgetAllVpnAppsInSettingsTestRule.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/rule/ForgetAllVpnAppsInSettingsTestRule.kt
index 9457b7862e..2bb751c5d2 100644
--- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/rule/ForgetAllVpnAppsInSettingsTestRule.kt
+++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/rule/ForgetAllVpnAppsInSettingsTestRule.kt
@@ -23,14 +23,22 @@ class ForgetAllVpnAppsInSettingsTestRule : BeforeTestExecutionCallback {
device.findObjects(By.res(SETTINGS_PACKAGE, VPN_SETTINGS_BUTTON_ID))
vpnSettingsButtons.forEach { button ->
button.click()
- device.findObjectWithTimeout(By.text(FORGET_VPN_VPN_BUTTON_TEXT)).click()
- device.findObjectByCaseInsensitiveText(FORGET_VPN_VPN_CONFIRM_BUTTON_TEXT).click()
+
+ try {
+ device.findObjectWithTimeout(By.text(FORGET_VPN_VPN_BUTTON_TEXT)).click()
+ device.findObjectByCaseInsensitiveText(FORGET_VPN_VPN_CONFIRM_BUTTON_TEXT).click()
+ } catch (_: Exception) {
+ device.findObjectWithTimeout(By.text(DELETE_VPN_PROFILE_TEXT)).click()
+ device.findObjectWithTimeout(By.text(DELETE_VPN_CONFIRM_BUTTON_TEXT)).click()
+ }
}
}
companion object {
private const val FORGET_VPN_VPN_BUTTON_TEXT = "Forget VPN"
+ private const val DELETE_VPN_PROFILE_TEXT = "Delete VPN profile"
private const val FORGET_VPN_VPN_CONFIRM_BUTTON_TEXT = "Forget"
+ private const val DELETE_VPN_CONFIRM_BUTTON_TEXT = "DELETE"
private const val SETTINGS_PACKAGE = "com.android.settings"
private const val VPN_SETTINGS_BUTTON_ID = "settings_button"
}
diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt
index f25ca9a8b5..62db448494 100644
--- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt
+++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt
@@ -9,7 +9,6 @@ import net.mullvad.mullvadvpn.test.e2e.misc.AccountTestRule
import net.mullvad.mullvadvpn.test.e2e.misc.ConnCheckState
import net.mullvad.mullvadvpn.test.e2e.misc.SimpleMullvadHttpClient
import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -35,7 +34,6 @@ class ConnectionTest : EndToEndTest(BuildConfig.FLAVOR_infrastructure) {
}
@Test
- @Disabled("Disabled since the connection check isn't reliable in the stagemole infrastructure.")
fun testConnectAndVerifyWithConnectionCheck() {
// Given
app.launchAndEnsureLoggedIn(accountTestRule.validAccountNumber)