Closed ulisesmac closed 1 day ago
:grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
---|---|---|---|---|---|---|
:heavy_check_mark: | 037af86c | #15 | 2024-11-19 20:19:58 | ~4 min | tests |
:page_facing_up:log |
:heavy_check_mark: | 037af86c | #15 | 2024-11-19 20:21:37 | ~6 min | android-e2e |
:robot:apk :calling: |
:heavy_check_mark: | 037af86c | #15 | 2024-11-19 20:23:28 | ~8 min | android |
:robot:apk :calling: |
:heavy_check_mark: | 037af86c | #15 | 2024-11-19 20:24:21 | ~9 min | ios |
:iphone:ipa :calling: |
:heavy_check_mark: | 368bfbea | #16 | 2024-11-20 18:49:52 | ~4 min | tests |
:page_facing_up:log |
:heavy_check_mark: | 368bfbea | #16 | 2024-11-20 18:52:37 | ~7 min | android |
:robot:apk :calling: |
:heavy_check_mark: | 368bfbea | #16 | 2024-11-20 18:53:05 | ~8 min | android-e2e |
:robot:apk :calling: |
:heavy_check_mark: | 368bfbea | #16 | 2024-11-20 18:54:55 | ~9 min | ios |
:iphone:ipa :calling: |
Total executed tests: 8
Failed tests: 5
Expected to fail tests: 1
Passed tests: 2
IDs of failed tests: 727230,727231,740490,727229,703133
IDs of expected to fail tests: 702843
1. test_wallet_add_remove_regular_account, id: 727231 |
``` critical/test_wallet.py:255: in test_wallet_add_remove_regular_account self.wallet_view.add_regular_account(account_name=new_account_name) ../views/wallet_view.py:161: in add_regular_account self.add_account_button.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 accessibility id: `add-account` 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 ``` |
2. test_wallet_balance_mainnet, id: 740490 |
``` critical/test_wallet.py:219: in test_wallet_balance_mainnet self.sign_in_view.sign_in() ../views/sign_in_view.py:342: in sign_in self.password_input.wait_for_visibility_of_element(10) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: EditBox by accessibility id:`password-input` is not found on the screen after wait_for_visibility_of_element ``` |
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
``` critical/chats/test_public_chat_browsing.py:161: in test_restore_multiaccount_with_waku_backup_remove_profile_switch self.sign_in.recover_access(passphrase=waku_user.seed, second_user=True) ../views/sign_in_view.py:298: in recover_access self.show_profiles_button.wait_and_click(20) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element ``` Device sessions Device 1: |
1. test_wallet_send_asset_from_drawer, id: 727230 |
``` critical/test_wallet.py:163: in test_wallet_send_asset_from_drawer sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx() critical/test_wallet.py:42: in _get_balances_before_tx self.wallet_1.get_account_element().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: `//android.view.ViewGroup[contains(@content-desc,'Account 1')]` 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 ``` |
2. test_wallet_send_eth, id: 727229 |
``` critical/test_wallet.py:146: in test_wallet_send_eth self._check_balances_after_tx(amount_to_send, sender_balance, receiver_balance, eth_amount_sender, critical/test_wallet.py:85: in _check_balances_after_tx self.loop.run_until_complete( /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:52: in run_in_parallel returns.append(await k) /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../views/base_view.py:713: in reopen_app sign_in_view.sign_in(password) ../views/sign_in_view.py:342: in sign_in self.password_input.wait_for_visibility_of_element(10) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: EditBox by accessibility id:`password-input` is not found on the screen after wait_for_visibility_of_element ``` |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
Hi @yevh-berdnyk, could you take a look at the E2E tests in this PR? The flow has changed, which seems to have broken our E2E runs.
unassigning myself from this PR. Face id has broken on my ios :(
Total executed tests: 8
Failed tests: 5
Expected to fail tests: 1
Passed tests: 2
IDs of failed tests: 727230,727231,740490,727229,703133
IDs of expected to fail tests: 702843
1. test_wallet_send_asset_from_drawer, id: 727230 |
``` critical/test_wallet.py:163: in test_wallet_send_asset_from_drawer sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx() critical/test_wallet.py:42: in _get_balances_before_tx self.wallet_1.get_account_element().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: `//android.view.ViewGroup[contains(@content-desc,'Account 1')]` 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 ``` |
2. test_wallet_send_eth, id: 727229 |
``` critical/test_wallet.py:146: in test_wallet_send_eth self._check_balances_after_tx(amount_to_send, sender_balance, receiver_balance, eth_amount_sender, critical/test_wallet.py:85: in _check_balances_after_tx self.loop.run_until_complete( /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:52: in run_in_parallel returns.append(await k) /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../views/base_view.py:713: in reopen_app sign_in_view.sign_in(password) ../views/sign_in_view.py:342: in sign_in self.password_input.wait_for_visibility_of_element(10) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: EditBox by accessibility id:`password-input` is not found on the screen after wait_for_visibility_of_element ``` |
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
``` critical/chats/test_public_chat_browsing.py:161: in test_restore_multiaccount_with_waku_backup_remove_profile_switch self.sign_in.recover_access(passphrase=waku_user.seed, second_user=True) ../views/sign_in_view.py:298: in recover_access self.show_profiles_button.wait_and_click(20) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element ``` Device sessions Device 1: |
1. test_wallet_add_remove_regular_account, id: 727231 |
``` critical/test_wallet.py:255: in test_wallet_add_remove_regular_account self.wallet_view.add_regular_account(account_name=new_account_name) ../views/wallet_view.py:161: in add_regular_account self.add_account_button.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 accessibility id: `add-account` 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 ``` |
2. test_wallet_balance_mainnet, id: 740490 |
``` critical/test_wallet.py:219: in test_wallet_balance_mainnet self.sign_in_view.sign_in() ../views/sign_in_view.py:342: in sign_in self.password_input.wait_for_visibility_of_element(10) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: EditBox by accessibility id:`password-input` is not found on the screen after wait_for_visibility_of_element ``` |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
Total executed tests: 8
Failed tests: 3
Expected to fail tests: 1
Passed tests: 4
IDs of failed tests: 727230,703133,727229
IDs of expected to fail tests: 702843
1. test_wallet_send_asset_from_drawer, id: 727230 |
``` critical/test_wallet.py:163: in test_wallet_send_asset_from_drawer sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx() critical/test_wallet.py:42: in _get_balances_before_tx self.wallet_1.get_account_element().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: `//android.view.ViewGroup[contains(@content-desc,'Account 1')]` 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 ``` |
2. test_wallet_send_eth, id: 727229 |
``` critical/test_wallet.py:146: in test_wallet_send_eth self._check_balances_after_tx(amount_to_send, sender_balance, receiver_balance, eth_amount_sender, critical/test_wallet.py:85: in _check_balances_after_tx self.loop.run_until_complete( /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete return future.result() __init__.py:52: in run_in_parallel returns.append(await k) /usr/lib/python3.10/concurrent/futures/thread.py:58: in run result = self.fn(*self.args, **self.kwargs) ../views/base_view.py:713: in reopen_app sign_in_view.sign_in(password) ../views/sign_in_view.py:342: in sign_in self.get_user_profile_by_name(user_name).click() ../views/sign_in_view.py:406: in get_user_profile_by_name return expected_element if expected_element.is_element_displayed(10) else self.driver.fail( base_test_case.py:180: in fail pytest.fail('Device %s: %s' % (self.number, text)) Device 1: User qwerty1234 is not found! ``` |
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
``` critical/chats/test_public_chat_browsing.py:161: in test_restore_multiaccount_with_waku_backup_remove_profile_switch self.sign_in.recover_access(passphrase=waku_user.seed, second_user=True) ../views/sign_in_view.py:298: in recover_access self.show_profiles_button.wait_and_click(20) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element ``` Device sessions Device 1: |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
Total executed tests: 8
Failed tests: 1
Expected to fail tests: 1
Passed tests: 6
IDs of failed tests: 703133
IDs of expected to fail tests: 702843
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
``` critical/chats/test_public_chat_browsing.py:220: in test_restore_multiaccount_with_waku_backup_remove_profile_switch self.sign_in.show_profiles_button.wait_and_click() ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element ``` Device sessions Device 1: |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
1. test_wallet_send_asset_from_drawer, id: 727230 |
2. test_wallet_send_eth, id: 727229 |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
Total executed tests: 8
Failed tests: 0
Expected to fail tests: 1
Passed tests: 7
IDs of expected to fail tests: 702843
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
Device sessions Device 1: |
2. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
1. test_wallet_send_asset_from_drawer, id: 727230 |
2. test_wallet_send_eth, id: 727229 |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
Switching profiles with biometrics is much better now with this PR.
But I did notice one problem and I'm sharing the iOS screencasts @ulisesmac. The first video is 2.31 from the production build, the second video is the PR's build. In the PR build I sometimes see a loading spinner after logout, something I've never seen before after logout. When the spinner doesn't appear, I also get the impression the initial animation showing the list of profiles is clunky, unlike what's in the production build.
Prod build https://github.com/user-attachments/assets/f9e02fdf-49ec-408f-8807-f6a54fd5bb79
PR build https://github.com/user-attachments/assets/23fec410-55d8-4488-b9f0-2b68d9bbfc91
@ulisesmac Thank you for your PR. The PR is ready to be merged, but this comment is still unresolved. I need to understand whether a re-test will be required or not.
Will there be any changes to this?
Switching profiles with biometrics is much better now with this PR. But I did notice one problem and I'm sharing the iOS screencasts @ulisesmac. The first video is 2.31 from the production build, the second video is the PR's build. In the PR build I sometimes see a loading spinner after logout, something I've never seen before after logout. When the spinner doesn't appear, I also get the impression the initial animation showing the list of profiles is clunky, unlike what's in the production build. Prod build https://github.com/user-attachments/assets/f9e02fdf-49ec-408f-8807-f6a54fd5bb79 PR build https://github.com/user-attachments/assets/23fec410-55d8-4488-b9f0-2b68d9bbfc91
@ulisesmac Thank you for your PR. The PR is ready to be merged, but this comment is still unresolved. I need to understand whether a re-test will be required or not.
Will there be any changes to this?
Hi @ilmotta @Horupa-Olena
I'm investigating this issue now. Thank you so much @ilmotta for paying attention to this detail. I'll check how to improve it, btw on Android the logout process is faster. I'll post a follow up comment with the results.
@ilmotta @Horupa-Olena
The implementation has been fixed and the comments solved, here's the final result of logging out.
iOS:
https://github.com/user-attachments/assets/d31cf5d5-21a5-487c-97c0-6aa48d061115
Android:
https://github.com/user-attachments/assets/00e7cf88-0146-4d09-be54-1e11c77a477e
@ulisesmac Thank you for your fix! Everything looks good on my side; you can go ahead and merge this PR.
fixes #21476
Summary
This PR implements the new flow defined in figma
Important changes
Moved the ns
legacy.status-im.multiaccounts.logout.core
tostatus-im.contexts.profile.logout.events
and renamed its events consistently and analogous to our login events, additionally, it doesn't userf/defn
since it's deprecated.This PR uses
dispatch-sync
to properly trigger updates on the react state when a user presses a profile to log-in. Here are videos showing the difference, look at the profile card:dispatch
:https://github.com/user-attachments/assets/2dc17f23-44ef-42c3-8a7a-1d78d19afd19
dispatch-sync
:https://github.com/user-attachments/assets/d92599f0-1092-4677-a570-ab8c9aeb0543
Additional fixes
To make the review easier, the changes not fully related to the feature had been split into two PRs:
Partially solves
21241
in:
Testing notes
Please test the authentication flows, mainly logging in and logging out, but also changing the password and enabling/disabling biometrics on both Android and iOS.
Platforms
status: ready