From c6d68e8392304e1e6118e26dee2970ae627c3972 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 13 Sep 2023 13:49:08 +0200 Subject: [PATCH 1/4] Maestro cli 1.32.0 does not like integer with this format :/ --- .maestro/tests/account/changeServer.yaml | 2 +- .maestro/tests/assertions/assertAnalyticsDisplayed.yaml | 2 +- .maestro/tests/assertions/assertHomeDisplayed.yaml | 2 +- .maestro/tests/assertions/assertInitDisplayed.yaml | 2 +- .maestro/tests/assertions/assertLoginDisplayed.yaml | 2 +- .maestro/tests/assertions/assertRoomListSynced.yaml | 2 +- .maestro/tests/assertions/assertWelcomeScreenDisplayed.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.maestro/tests/account/changeServer.yaml b/.maestro/tests/account/changeServer.yaml index e503589f5c..c6b092e018 100644 --- a/.maestro/tests/account/changeServer.yaml +++ b/.maestro/tests/account/changeServer.yaml @@ -15,7 +15,7 @@ appId: ${APP_ID} - tapOn: "gnuradio.org" - extendedWaitUntil: visible: "This server currently doesn’t support sliding sync." - timeout: 10_000 + timeout: 10000 - tapOn: "Cancel" - back - back diff --git a/.maestro/tests/assertions/assertAnalyticsDisplayed.yaml b/.maestro/tests/assertions/assertAnalyticsDisplayed.yaml index 96a91a24af..9c63c99ffc 100644 --- a/.maestro/tests/assertions/assertAnalyticsDisplayed.yaml +++ b/.maestro/tests/assertions/assertAnalyticsDisplayed.yaml @@ -2,4 +2,4 @@ appId: ${APP_ID} --- - extendedWaitUntil: visible: "Help improve Element X dbg" - timeout: 10_000 + timeout: 10000 diff --git a/.maestro/tests/assertions/assertHomeDisplayed.yaml b/.maestro/tests/assertions/assertHomeDisplayed.yaml index 6e9eec50db..ca409705e1 100644 --- a/.maestro/tests/assertions/assertHomeDisplayed.yaml +++ b/.maestro/tests/assertions/assertHomeDisplayed.yaml @@ -2,4 +2,4 @@ appId: ${APP_ID} --- - extendedWaitUntil: visible: "All Chats" - timeout: 10_000 + timeout: 10000 diff --git a/.maestro/tests/assertions/assertInitDisplayed.yaml b/.maestro/tests/assertions/assertInitDisplayed.yaml index 417ac87711..9424f382c1 100644 --- a/.maestro/tests/assertions/assertInitDisplayed.yaml +++ b/.maestro/tests/assertions/assertInitDisplayed.yaml @@ -2,4 +2,4 @@ appId: ${APP_ID} --- - extendedWaitUntil: visible: "Be in your element" - timeout: 10_000 + timeout: 10000 diff --git a/.maestro/tests/assertions/assertLoginDisplayed.yaml b/.maestro/tests/assertions/assertLoginDisplayed.yaml index 3abd86ceef..b18078f916 100644 --- a/.maestro/tests/assertions/assertLoginDisplayed.yaml +++ b/.maestro/tests/assertions/assertLoginDisplayed.yaml @@ -2,4 +2,4 @@ appId: ${APP_ID} --- - extendedWaitUntil: visible: "Change account provider" - timeout: 10_000 + timeout: 10000 diff --git a/.maestro/tests/assertions/assertRoomListSynced.yaml b/.maestro/tests/assertions/assertRoomListSynced.yaml index 2d13c17df9..5fcd6e093e 100644 --- a/.maestro/tests/assertions/assertRoomListSynced.yaml +++ b/.maestro/tests/assertions/assertRoomListSynced.yaml @@ -2,4 +2,4 @@ appId: ${APP_ID} --- - extendedWaitUntil: visible: ${ROOM_NAME} - timeout: 10_000 + timeout: 10000 diff --git a/.maestro/tests/assertions/assertWelcomeScreenDisplayed.yaml b/.maestro/tests/assertions/assertWelcomeScreenDisplayed.yaml index 73e8e78ef5..3fbd9d2513 100644 --- a/.maestro/tests/assertions/assertWelcomeScreenDisplayed.yaml +++ b/.maestro/tests/assertions/assertWelcomeScreenDisplayed.yaml @@ -3,4 +3,4 @@ appId: ${APP_ID} - extendedWaitUntil: visible: id: "welcome_screen-title" - timeout: 10_000 + timeout: 10000 From aedfed3be9b5c6c548c264771c79bc8a1238a7bc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 13 Sep 2023 14:33:32 +0200 Subject: [PATCH 2/4] Maestro: ensure the Rich Text Editor can be clicked by Maestro. We cannot click on the hint "Message" anymore, since it's now a separate Text. --- .maestro/tests/roomList/timeline/messages/text.yaml | 3 ++- .../kotlin/io/element/android/libraries/testtags/TestTags.kt | 5 +++++ libraries/textcomposer/impl/build.gradle.kts | 1 + .../element/android/libraries/textcomposer/TextComposer.kt | 5 ++++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.maestro/tests/roomList/timeline/messages/text.yaml b/.maestro/tests/roomList/timeline/messages/text.yaml index 4e3b7bbd45..963b2cf9e9 100644 --- a/.maestro/tests/roomList/timeline/messages/text.yaml +++ b/.maestro/tests/roomList/timeline/messages/text.yaml @@ -1,7 +1,8 @@ appId: ${APP_ID} --- - takeScreenshot: build/maestro/510-Timeline -- tapOn: "Message" +- tapOn: + id: "rich_text_editor" - inputText: "Hello world!" - tapOn: "Send" - hideKeyboard diff --git a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt index d832a6168d..d90be0c25c 100644 --- a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt +++ b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt @@ -47,6 +47,11 @@ object TestTags { * Welcome screen. */ val welcomeScreenTitle = TestTag("welcome_screen-title") + + /** + * RichTextEditor. + */ + val richTextEditor = TestTag("rich_text_editor") } diff --git a/libraries/textcomposer/impl/build.gradle.kts b/libraries/textcomposer/impl/build.gradle.kts index 633491d3b3..86e911ca3e 100644 --- a/libraries/textcomposer/impl/build.gradle.kts +++ b/libraries/textcomposer/impl/build.gradle.kts @@ -31,6 +31,7 @@ dependencies { implementation(projects.libraries.matrix.api) implementation(projects.libraries.matrixui) implementation(projects.libraries.designsystem) + implementation(projects.libraries.testtags) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.constraintlayout.compose) diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt index 3cc09ce09f..983c84c45b 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt @@ -74,6 +74,8 @@ import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.ui.components.AttachmentThumbnail import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailType +import io.element.android.libraries.testtags.TestTags +import io.element.android.libraries.testtags.testTag import io.element.android.libraries.textcomposer.components.FormattingOption import io.element.android.libraries.textcomposer.components.FormattingOptionState import io.element.android.libraries.theme.ElementTheme @@ -255,7 +257,8 @@ private fun TextInput( start = 12.dp.applyScaleUp(), end = 42.dp.applyScaleUp() ) - ), + ) + .testTag(TestTags.richTextEditor), contentAlignment = Alignment.CenterStart, ) { From 3c81f12f932f53ece0066078673c1ab30b0db33c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 13 Sep 2023 16:39:24 +0200 Subject: [PATCH 3/4] Ensure testTag does not resize the Composable. --- .../io/element/android/libraries/testtags/Compose.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/Compose.kt b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/Compose.kt index 966c88fa06..7d467dc5a4 100644 --- a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/Compose.kt +++ b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/Compose.kt @@ -26,9 +26,7 @@ import androidx.compose.ui.semantics.testTagsAsResourceId * Add a testTag to a Modifier, to be used by external tool, like TrafficLight for instance. */ @OptIn(ExperimentalComposeUiApi::class) -fun Modifier.testTag(id: TestTag) = this.then( - semantics { - testTag = id.value - testTagsAsResourceId = true - } -) +fun Modifier.testTag(id: TestTag) = semantics { + testTag = id.value + testTagsAsResourceId = true +} From 517f54ca2f2dceea2c1116ef1cca8d18979d2d5e Mon Sep 17 00:00:00 2001 From: ElementBot Date: Wed, 13 Sep 2023 15:48:14 +0000 Subject: [PATCH 4/4] Update screenshots --- ...SearchAccountProviderViewDark_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...SearchAccountProviderViewDark_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...earchAccountProviderViewLight_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...earchAccountProviderViewLight_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_0,NEXUS_5,1.0,en].png index f7ed356451..bc70d900bc 100644 --- a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8a6aa5c7bdddcb18453efc47f90dd0301173bcfa5622abc0821eb09cb2579d8 -size 25149 +oid sha256:856fc14eb010048f355c902419d7d346f77bfb26e79bbba7e966363a39f503f5 +size 24884 diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_1,NEXUS_5,1.0,en].png index 3b68e95447..ebb99ef2c6 100644 --- a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewDark_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6344d9976849f1e56782a463fcca625943a7c6adf74c598c7a58245809b9db5 -size 53642 +oid sha256:d4329c822e128dcfa495df0c81126d929fa5f787e28f3c144009aaaaafae4dc6 +size 53371 diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_0,NEXUS_5,1.0,en].png index cad7ad3f59..54d60d6642 100644 --- a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:602d7585b9693d08b1a4e3e620f2cecbbbde2a9b0e6b2beeb77f244520c5e4eb -size 25827 +oid sha256:8222670d7b08fc9f5e446e86a31fad4fa773bbac03742df9bb5dfb35189571aa +size 25617 diff --git a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_1,NEXUS_5,1.0,en].png index 2e35a8461c..79b7a23804 100644 --- a/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/ui_S_t[f.login.impl.screens.searchaccountprovider_null_SearchAccountProviderViewLight_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd7e6fc09011429e0fe19bff73d3c48124b1f3bed74d3cb12c9f3f0405f53980 -size 55728 +oid sha256:a4830db08b7e09971e299c31f18ce45dfa500c59a056b407c7df397b679e23d3 +size 55455