diff options
| author | Kalle Lindström <karl.lindstrom@mullvad.net> | 2025-04-28 16:43:01 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-04-30 09:27:03 +0200 |
| commit | e178b2759071ce6cb3f7ee0d6d47e28fd55dbed4 (patch) | |
| tree | dd466ea13d90e9a9dd210c5d729f1c66d82aa1d0 /android/test | |
| parent | bbbef9d05e5bc7e989f00975ea4141cecd187661 (diff) | |
| download | mullvadvpn-e178b2759071ce6cb3f7ee0d6d47e28fd55dbed4.tar.xz mullvadvpn-e178b2759071ce6cb3f7ee0d6d47e28fd55dbed4.zip | |
Move all test tags to new lib.ui.tag module
Diffstat (limited to 'android/test')
13 files changed, 52 insertions, 60 deletions
diff --git a/android/test/common/build.gradle.kts b/android/test/common/build.gradle.kts index ebb719bbbd..a479efadf2 100644 --- a/android/test/common/build.gradle.kts +++ b/android/test/common/build.gradle.kts @@ -47,6 +47,7 @@ androidComponents { dependencies { implementation(projects.lib.endpoint) + implementation(projects.lib.ui.tag) implementation(libs.androidx.test.core) implementation(libs.androidx.test.runner) 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 a75747c76b..b3a35d21e3 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 @@ -8,6 +8,12 @@ import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.Until import net.mullvad.mullvadvpn.lib.endpoint.ApiEndpointOverride import net.mullvad.mullvadvpn.lib.endpoint.putApiEndpointConfigurationExtra +import net.mullvad.mullvadvpn.lib.ui.tag.CONNECT_CARD_HEADER_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LOCATION_INFO_CONNECTION_IN_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LOCATION_INFO_CONNECTION_OUT_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.OUT_OF_TIME_SCREEN_TITLE_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.TOP_BAR_ACCOUNT_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.TOP_BAR_SETTINGS_BUTTON_TEST_TAG import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.EXTREMELY_LONG_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.LONG_TIMEOUT @@ -81,7 +87,7 @@ class AppInteractor( } fun ensureOutOfTime() { - device.findObjectWithTimeout(By.res("out_of_time_screen_title_test_tag")) + device.findObjectWithTimeout(By.res(OUT_OF_TIME_SCREEN_TITLE_TEST_TAG)) } fun ensureAccountScreen() { @@ -89,22 +95,22 @@ class AppInteractor( } fun extractOutIpv4Address(): String { - device.findObjectWithTimeout(By.res("connect_card_header_test_tag")).click() + device.findObjectWithTimeout(By.res(CONNECT_CARD_HEADER_TEST_TAG)).click() return device .findObjectWithTimeout( // Text exist and contains IP address - By.res("location_info_connection_out_test_tag").textContains("."), + By.res(LOCATION_INFO_CONNECTION_OUT_TEST_TAG).textContains("."), VERY_LONG_TIMEOUT, ) .text } fun extractInIpv4Address(): String { - device.findObjectWithTimeout(By.res("connect_card_header_test_tag")).click() + device.findObjectWithTimeout(By.res(CONNECT_CARD_HEADER_TEST_TAG)).click() val inString = device .findObjectWithTimeout( - By.res("location_info_connection_in_test_tag"), + By.res(LOCATION_INFO_CONNECTION_IN_TEST_TAG), VERY_LONG_TIMEOUT, ) .text @@ -114,11 +120,11 @@ class AppInteractor( } fun clickSettingsCog() { - device.findObjectWithTimeout(By.res("top_bar_settings_button")).click() + device.findObjectWithTimeout(By.res(TOP_BAR_SETTINGS_BUTTON_TEST_TAG)).click() } fun clickAccountCog() { - device.findObjectWithTimeout(By.res("top_bar_account_button")).click() + device.findObjectWithTimeout(By.res(TOP_BAR_ACCOUNT_BUTTON_TEST_TAG)).click() } fun clickListItemByText(text: String) { diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/ConnectPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/ConnectPage.kt index d8f45b43bf..2e2b6b6d87 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/ConnectPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/ConnectPage.kt @@ -1,6 +1,13 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.uiautomator.By +import net.mullvad.mullvadvpn.lib.ui.tag.CONNECT_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.CONNECT_CARD_HEADER_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LOCATION_INFO_CONNECTION_IN_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LOCATION_INFO_CONNECTION_OUT_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.SELECT_LOCATION_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.TOP_BAR_ACCOUNT_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.TOP_BAR_SETTINGS_BUTTON_TEST_TAG import net.mullvad.mullvadvpn.test.common.constant.VERY_LONG_TIMEOUT import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout @@ -16,11 +23,11 @@ class ConnectPage internal constructor() : Page() { } fun clickSettings() { - uiDevice.findObjectWithTimeout(By.res(TOP_BAR_SETTINGS_BUTTON)).click() + uiDevice.findObjectWithTimeout(By.res(TOP_BAR_SETTINGS_BUTTON_TEST_TAG)).click() } fun clickAccount() { - uiDevice.findObjectWithTimeout(By.res(TOP_BAR_ACCOUNT_BUTTON)).click() + uiDevice.findObjectWithTimeout(By.res(TOP_BAR_ACCOUNT_BUTTON_TEST_TAG)).click() } fun clickSelectLocation() { @@ -56,11 +63,11 @@ class ConnectPage internal constructor() : Page() { * connection card is in collapsed state. */ fun extractInIpv4Address(): String { - uiDevice.findObjectWithTimeout(By.res("connect_card_header_test_tag")).click() + uiDevice.findObjectWithTimeout(By.res(CONNECT_CARD_HEADER_TEST_TAG)).click() val inString = uiDevice .findObjectWithTimeout( - By.res("location_info_connection_in_test_tag"), + By.res(LOCATION_INFO_CONNECTION_IN_TEST_TAG), VERY_LONG_TIMEOUT, ) .text @@ -74,21 +81,13 @@ class ConnectPage internal constructor() : Page() { * connection card is in collapsed state. */ fun extractOutIpv4Address(): String { - uiDevice.findObjectWithTimeout(By.res("connect_card_header_test_tag")).click() + uiDevice.findObjectWithTimeout(By.res(CONNECT_CARD_HEADER_TEST_TAG)).click() return uiDevice .findObjectWithTimeout( // Text exist and contains IP address - By.res("location_info_connection_out_test_tag").textContains("."), + By.res(LOCATION_INFO_CONNECTION_OUT_TEST_TAG).textContains("."), VERY_LONG_TIMEOUT, ) .text } - - companion object { - const val TOP_BAR_ACCOUNT_BUTTON = "top_bar_account_button" - const val TOP_BAR_SETTINGS_BUTTON = "top_bar_settings_button" - const val CONNECT_CARD_HEADER_TEST_TAG = "connect_card_header_test_tag" - const val SELECT_LOCATION_BUTTON_TEST_TAG = "select_location_button_test_tag" - const val CONNECT_BUTTON_TEST_TAG = "connect_button_test_tag" - } } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/DaitaSettingsPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/DaitaSettingsPage.kt index a4fa5b9286..efaacc1588 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/DaitaSettingsPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/DaitaSettingsPage.kt @@ -1,8 +1,9 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.uiautomator.By +import net.mullvad.mullvadvpn.lib.ui.tag.DAITA_SCREEN_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.SWITCH_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout -import net.mullvad.mullvadvpn.test.common.page.VpnSettingsPage.Companion.SWITCH_TEST_TAG class DaitaSettingsPage internal constructor() : Page() { private val enableSelector = By.text("Enable") @@ -18,8 +19,4 @@ class DaitaSettingsPage internal constructor() : Page() { localNetworkSharingSwitch.click() } - - companion object { - const val DAITA_SCREEN_TEST_TAG = "daita_screen_test_tag" - } } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/LoginPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/LoginPage.kt index e08ff92106..173fde50fa 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/LoginPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/LoginPage.kt @@ -3,6 +3,7 @@ package net.mullvad.mullvadvpn.test.common.page import android.widget.Button import androidx.test.uiautomator.By import androidx.test.uiautomator.Until +import net.mullvad.mullvadvpn.lib.ui.tag.TOP_BAR_SETTINGS_BUTTON_TEST_TAG import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.EXTREMELY_LONG_TIMEOUT import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout @@ -12,7 +13,7 @@ class LoginPage internal constructor() : Page() { private val loginSelector = By.text("Login") fun clickSettings() { - uiDevice.findObjectWithTimeout(By.res(TOP_BAR_SETTINGS_BUTTON)).click() + uiDevice.findObjectWithTimeout(By.res(TOP_BAR_SETTINGS_BUTTON_TEST_TAG)).click() } fun enterAccountNumber(accountNumber: String) { @@ -33,8 +34,4 @@ class LoginPage internal constructor() : Page() { override fun assertIsDisplayed() { uiDevice.findObjectWithTimeout(loginSelector) } - - companion object { - const val TOP_BAR_SETTINGS_BUTTON = "top_bar_settings_button" - } } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SelectLocationPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SelectLocationPage.kt index e10a53ec4d..86e3c89a08 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SelectLocationPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SelectLocationPage.kt @@ -1,6 +1,8 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.uiautomator.By +import net.mullvad.mullvadvpn.lib.ui.tag.EXPAND_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.SELECT_LOCATION_SCREEN_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout class SelectLocationPage internal constructor() : Page() { @@ -17,9 +19,4 @@ class SelectLocationPage internal constructor() : Page() { fun clickLocationCell(locationName: String) { uiDevice.findObjectWithTimeout(By.text(locationName)).click() } - - companion object { - const val SELECT_LOCATION_SCREEN_TEST_TAG = "select_location_screen_test_tag" - const val EXPAND_BUTTON_TEST_TAG = "expand_button_test_tag" - } } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SettingsPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SettingsPage.kt index 2ce0cc1c29..d3d27db072 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SettingsPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/SettingsPage.kt @@ -1,6 +1,8 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.uiautomator.By +import net.mullvad.mullvadvpn.lib.ui.tag.DAITA_CELL_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.VPN_SETTINGS_CELL_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout class SettingsPage internal constructor() : Page() { @@ -22,9 +24,4 @@ class SettingsPage internal constructor() : Page() { fun clickDaita() { uiDevice.findObjectWithTimeout(By.res(DAITA_CELL_TEST_TAG)).click() } - - companion object { - const val VPN_SETTINGS_CELL_TEST_TAG = "vpn_settings_cell_test_tag" - const val DAITA_CELL_TEST_TAG = "data_cell_test_tag" - } } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/VpnSettingsPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/VpnSettingsPage.kt index 6d5dbee492..20d0ecb3a4 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/VpnSettingsPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/VpnSettingsPage.kt @@ -3,6 +3,13 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.uiautomator.By import androidx.test.uiautomator.Direction import androidx.test.uiautomator.Until +import net.mullvad.mullvadvpn.lib.ui.tag.LAZY_LIST_VPN_SETTINGS_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.QUANTUM_RESISTANCE_OFF_CELL_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.SWITCH_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.WIREGUARD_OBFUSCATION_OFF_CELL_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.WIREGUARD_OBFUSCATION_SHADOWSOCKS_CELL_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.WIREGUARD_OBFUSCATION_UDP_OVER_TCP_CELL_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.clickObjectAwaitIsChecked import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout @@ -56,25 +63,13 @@ class VpnSettingsPage internal constructor() : Page() { } private fun scrollUntilCell(testTag: String) { - val scrollView2 = uiDevice.findObjectWithTimeout(By.res(SETTINGS_SCROLL_VIEW_TEST_TAG)) + val scrollView2 = uiDevice.findObjectWithTimeout(By.res(LAZY_LIST_VPN_SETTINGS_TEST_TAG)) scrollView2.scrollUntil(Direction.DOWN, Until.hasObject(By.res(testTag))) } fun clickWireguardCustomPort() { - uiDevice.findObjectWithTimeout(By.res(WIREGUARD_CUSTOM_PORT_CELL_TEST_TAG)).click() - } - - companion object { - const val SETTINGS_SCROLL_VIEW_TEST_TAG = "lazy_list_vpn_settings_test_tag" - const val WIREGUARD_OBFUSCATION_UDP_OVER_TCP_CELL_TEST_TAG = - "wireguard_obfuscation_udp_over_tcp_cell_test_tag" - const val WIREGUARD_OBFUSCATION_OFF_CELL_TEST_TAG = - "wireguard_obfuscation_off_cell_test_tag" - const val WIREGUARD_CUSTOM_PORT_CELL_TEST_TAG = - "lazy_list_wireguard_custom_port_text_test_tag" - const val WIREGUARD_OBFUSCATION_SHADOWSOCKS_CELL_TEST_TAG = - "wireguard_obfuscation_shadowsocks_cell_test_tag" - const val SWITCH_TEST_TAG = "switch_test_tag" - const val QUANTUM_RESISTANCE_OFF_CELL_TEST_TAG = "lazy_list_quantum_item_off_test_tag" + uiDevice + .findObjectWithTimeout(By.res(LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_TEST_TAG)) + .click() } } diff --git a/android/test/e2e/build.gradle.kts b/android/test/e2e/build.gradle.kts index 0fdc7448b0..31181aab52 100644 --- a/android/test/e2e/build.gradle.kts +++ b/android/test/e2e/build.gradle.kts @@ -139,6 +139,7 @@ androidComponents { dependencies { implementation(projects.test.common) implementation(projects.lib.endpoint) + implementation(projects.lib.ui.tag) implementation(libs.androidx.test.core) // Fixes: https://github.com/android/android-test/issues/1589 implementation(libs.androidx.test.monitor) diff --git a/android/test/mockapi/build.gradle.kts b/android/test/mockapi/build.gradle.kts index f0310107ac..a384fe61f0 100644 --- a/android/test/mockapi/build.gradle.kts +++ b/android/test/mockapi/build.gradle.kts @@ -64,6 +64,7 @@ android { dependencies { implementation(projects.lib.endpoint) implementation(projects.test.common) + implementation(projects.lib.ui.tag) implementation(libs.androidx.test.core) // Fixes: https://github.com/android/android-test/issues/1589 diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt index deb63c89b4..095ad66c64 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt @@ -2,7 +2,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By import java.time.ZonedDateTime -import net.mullvad.mullvadvpn.compose.test.LOGIN_INPUT_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LOGIN_INPUT_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt index 5feee8abd8..b246bf2062 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt @@ -3,7 +3,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By import androidx.test.uiautomator.Until import java.time.ZonedDateTime -import net.mullvad.mullvadvpn.compose.test.LOGIN_TITLE_TEST_TAG +import net.mullvad.mullvadvpn.lib.ui.tag.LOGIN_TITLE_TEST_TAG import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_TIMEOUT import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/ManageDevicesMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/ManageDevicesMockApiTest.kt index 5852bb9bb3..dafb6e3615 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/ManageDevicesMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/ManageDevicesMockApiTest.kt @@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By import java.time.ZonedDateTime +import net.mullvad.mullvadvpn.lib.ui.tag.MANAGE_DEVICES_BUTTON_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown @@ -34,7 +35,7 @@ class ManageDevicesMockApiTest : MockApiTest() { device.dismissChangelogDialogIfShown() app.ensureLoggedIn() app.clickAccountCog() - device.findObject(By.res("manage_devices_button_test_tag")).click() + device.findObject(By.res(MANAGE_DEVICES_BUTTON_TEST_TAG)).click() // Assert - current device is shown but not clickable val current = device.findObjectWithTimeout(By.text("Current device")).parent |
