Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#21308] Increase hit area for selectors #21355

Merged
merged 2 commits into from
Oct 3, 2024

Conversation

ulisesmac
Copy link
Contributor

fixes #21308

Summary

This PR increases the hit area for all selectors in the app to 32dp.

This change affects the entire app.

Demo on onboarding:

Screencast.from.2024-09-30.14-52-30.mp4

Testing notes

Please test the app and make sure the selectors are easier to press now.

Platforms

  • Android
  • iOS

status: ready

@ulisesmac
Copy link
Contributor Author

@Francesca-G Could you please verify if the app is now easier to use?

We are using a slightly smaller pressable area, iOS guidelines suggest a size of 44 and Android of 48, in this PR we are using 32, previously it was 20.

LMK if we need to change something else :)

@status-im-auto
Copy link
Member

status-im-auto commented Sep 30, 2024

Jenkins Builds

Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ f9f3913 #1 2024-09-30 20:59:20 ~5 min tests 📄log
✔️ f9f3913 #1 2024-09-30 21:03:09 ~8 min android-e2e 🤖apk 📲
✔️ f9f3913 #1 2024-09-30 21:03:34 ~9 min android 🤖apk 📲
✔️ f9f3913 #1 2024-09-30 21:04:19 ~10 min ios 📱ipa 📲
✔️ c2a0323 #2 2024-10-03 18:49:40 ~4 min tests 📄log
✔️ c2a0323 #2 2024-10-03 18:51:49 ~6 min android-e2e 🤖apk 📲
✔️ c2a0323 #2 2024-10-03 18:53:09 ~7 min android 🤖apk 📲
✔️ c2a0323 #2 2024-10-03 18:54:18 ~9 min ios 📱ipa 📲

@status-im-auto
Copy link
Member

29% of end-end tests have passed

Total executed tests: 7
Failed tests: 5
Expected to fail tests: 0
Passed tests: 2
IDs of failed tests: 727230,702742,703133,702843,727229 

Failed tests (5)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 1: Wait for text element `EmojisNumber` to be equal to `1`
    Device 1: Find `EmojisNumber` by `xpath`: `//*[starts-with(@text,'Message AFTER edit 2 (Edited)')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']/../..//*[@content-desc='emoji-reaction-2']/android.widget.TextView[2]`

    critical/chats/test_public_chat_browsing.py:387: in test_community_message_edit
        self.errors.verify_no_errors()
    base_test_case.py:192: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message reaction is not shown for the sender
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742

    ## Creating new multiaccount (password:'qwerty1234', keycard:'False', enable_notification: 'False')
    Device 1: Find Button by xpath: //*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']

    Test setup failed: critical/chats/test_public_chat_browsing.py:26: in prepare_devices
        self.home = self.sign_in.create_user(username=self.username)
    ../views/sign_in_view.py:240: in create_user
        self.terms_and_privacy_checkbox.click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by xpath: `//*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    2. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Test setup failed: critical/chats/test_public_chat_browsing.py:26: in prepare_devices
        self.home = self.sign_in.create_user(username=self.username)
    ../views/sign_in_view.py:240: in create_user
        self.terms_and_privacy_checkbox.click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by xpath: `//*[@content-desc='terms-privacy-checkbox-container']/*[@content-desc='checkbox-off']` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    Test setup failed: critical/test_wallet.py:23: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    2. test_wallet_send_eth, id: 727229

    Test setup failed: critical/test_wallet.py:23: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Passed tests (2)

    Click to expand

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    @status-im-auto
    Copy link
    Member

    90% of end-end tests have passed

    Total executed tests: 51
    Failed tests: 5
    Expected to fail tests: 0
    Passed tests: 46
    
    IDs of failed tests: 702845,702786,702809,702948,703629 
    

    Failed tests (5)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    Test setup failed: critical/chats/test_public_chat_browsing.py:856: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:986: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    2. test_community_mentions_push_notification, id: 702786

    Device 1: ChatMessageInput element not found
    Device 1: Sending message 'hey'

    Test setup failed: critical/chats/test_public_chat_browsing.py:856: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:986: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    3. test_community_markdown_support, id: 702809

    Test setup failed: critical/chats/test_public_chat_browsing.py:856: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:986: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    4. test_community_hashtag_links_to_community_channels, id: 702948

    Test setup failed: critical/chats/test_public_chat_browsing.py:856: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:986: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    5. test_community_join_when_node_owner_offline, id: 703629

    Test setup failed: critical/chats/test_public_chat_browsing.py:856: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:986: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Passed tests (46)

    Click to expand

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    3. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    5. test_community_unread_messages_badge, id: 702841
    Device sessions

    6. test_community_message_delete, id: 702839
    Device sessions

    7. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    8. test_community_edit_delete_message_when_offline, id: 704615
    Device sessions

    9. test_community_one_image_send_reply, id: 702859
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_several_images_send_reply, id: 703194
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    Device sessions

    2. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    5. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    6. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    7. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    8. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    2. test_activity_center_mentions, id: 702957
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    4. test_group_chat_pin_messages, id: 702732
    Device sessions

    5. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    6. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    3. test_add_contact_field_validation, id: 702777
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    3. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    4. test_community_undo_delete_message, id: 702869
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    6. test_community_discovery, id: 703503
    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links_profile, id: 702775
    Device sessions

    3. test_deep_links_communities, id: 739307
    Device sessions

    @yevh-berdnyk
    Copy link
    Contributor

    Hi @ulisesmac,
    E2E failures are not PR related; it can be merged, thanks!

    @Francesca-G Francesca-G self-requested a review October 2, 2024 15:44
    Copy link

    @Francesca-G Francesca-G left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Looks good to me 👍

    @ulisesmac ulisesmac force-pushed the 21308-hit-area-for-checkboxes branch from f9f3913 to c2a0323 Compare October 3, 2024 18:44
    @ulisesmac ulisesmac merged commit 6dde1d7 into develop Oct 3, 2024
    6 checks passed
    @ulisesmac ulisesmac deleted the 21308-hit-area-for-checkboxes branch October 3, 2024 19:35
    yevh-berdnyk pushed a commit that referenced this pull request Oct 4, 2024
    * Increase hit-slop for all selectors
    
    * Remove unnecessary `:f>` wrapper
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    Increase hit area on checkboxes in the onboarding flows
    5 participants