diff --git a/test/e2e/gui/screens/onboarding.py b/test/e2e/gui/screens/onboarding.py index 5d3df17106..5ad6fd9ccd 100755 --- a/test/e2e/gui/screens/onboarding.py +++ b/test/e2e/gui/screens/onboarding.py @@ -69,10 +69,6 @@ class OnboardingView(QObject): super(OnboardingView, self).__init__(object_name) self._back_button = Button(onboarding_names.mainWindow_onboardingBackButton_StatusRoundButton) - @abstractmethod - def back(self): - pass - class KeysView(OnboardingView): diff --git a/test/e2e/tests/crtitical_tests_prs/test_onboarding_generate_new_keys.py b/test/e2e/tests/crtitical_tests_prs/test_onboarding_generate_new_keys.py index 06a9630f9f..f6e0e5f13b 100755 --- a/test/e2e/tests/crtitical_tests_prs/test_onboarding_generate_new_keys.py +++ b/test/e2e/tests/crtitical_tests_prs/test_onboarding_generate_new_keys.py @@ -19,14 +19,6 @@ from gui.screens.onboarding import WelcomeToStatusView, BiometricsView, KeysView pytestmark = marks -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - welcome_screen = WelcomeToStatusView().wait_until_appears() - return welcome_screen.get_keys() - - @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703421', 'Generate new keys') @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703010', 'Settings - Sign out & Quit') @pytest.mark.case(703421, 703010) @@ -45,9 +37,12 @@ def keys_screen(main_window) -> KeysView: 5, shift_image(0, 1000, 1000, 0)) ]) -def test_generate_new_keys_sign_out_from_settings(aut, main_window, keys_screen, user_name: str, password, +def test_generate_new_keys_sign_out_from_settings(aut, main_window, user_name: str, password, user_image: str, zoom: int, shift): with step('Click generate new keys and open profile view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + profile_view = keys_screen.generate_new_keys() assert profile_view.is_next_button_enabled is False, \ f'Next button is enabled on profile screen when it should not' diff --git a/test/e2e/tests/crtitical_tests_prs/test_onboarding_import_seed.py b/test/e2e/tests/crtitical_tests_prs/test_onboarding_import_seed.py index b78055b00b..e1cb013f3e 100644 --- a/test/e2e/tests/crtitical_tests_prs/test_onboarding_import_seed.py +++ b/test/e2e/tests/crtitical_tests_prs/test_onboarding_import_seed.py @@ -14,26 +14,23 @@ from gui.components.onboarding.before_started_popup import BeforeStartedPopUp from gui.components.onboarding.beta_consent_popup import BetaConsentPopup from gui.components.splash_screen import SplashScreen from gui.main_window import LeftPanel -from gui.screens.onboarding import BiometricsView, WelcomeToStatusView, KeysView, \ +from gui.screens.onboarding import BiometricsView, WelcomeToStatusView, \ YourEmojihashAndIdenticonRingView, LoginView pytestmark = marks -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - welcome_screen = WelcomeToStatusView().wait_until_appears() - return welcome_screen.get_keys() - - @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703040', 'Import: 12 word seed phrase') @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/736372', 'Re-importing seed-phrase') @pytest.mark.case(703040, 736372) @pytest.mark.parametrize('user_account', [RandomUser()]) @pytest.mark.critical -def test_import_seed_phrase(keys_screen, main_window, aut: AUT, user_account): +def test_import_seed_phrase(main_window, aut: AUT, user_account): + + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open import seed phrase view and enter seed phrase'): seed_phrase = random_mnemonic() input_view = keys_screen.open_import_seed_phrase_view().open_seed_phrase_input_view() diff --git a/test/e2e/tests/crtitical_tests_prs/test_onboarding_sync_with_code.py b/test/e2e/tests/crtitical_tests_prs/test_onboarding_sync_with_code.py index 533a4eeff4..7225eb409b 100644 --- a/test/e2e/tests/crtitical_tests_prs/test_onboarding_sync_with_code.py +++ b/test/e2e/tests/crtitical_tests_prs/test_onboarding_sync_with_code.py @@ -51,8 +51,8 @@ def test_sync_device_during_onboarding(multiple_instances): aut_two.attach() main_window.prepare() BeforeStartedPopUp().get_started() - wellcome_screen = WelcomeToStatusView().wait_until_appears() - sync_view = wellcome_screen.sync_existing_user().open_sync_code_view() + welcome_screen = WelcomeToStatusView().wait_until_appears() + sync_view = welcome_screen.sync_existing_user().open_sync_code_view() with step('Paste sync code on second instance and wait until device is synced'): sync_start = sync_view.open_enter_sync_code_form() diff --git a/test/e2e/tests/onboarding/test_onboarding_negative_scenarios.py b/test/e2e/tests/onboarding/test_onboarding_negative_scenarios.py index 2c47c20b1c..93ab5d023c 100644 --- a/test/e2e/tests/onboarding/test_onboarding_negative_scenarios.py +++ b/test/e2e/tests/onboarding/test_onboarding_negative_scenarios.py @@ -22,21 +22,17 @@ from gui.screens.onboarding import WelcomeToStatusView, KeysView, BiometricsView pytestmark = marks -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - welcome_screen = WelcomeToStatusView().wait_until_appears() - return welcome_screen.get_keys() - - @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/702991', 'Login with an invalid password') @pytest.mark.case(702991) @pytest.mark.parametrize('error', [OnboardingMessages.PASSWORD_INCORRECT.value ]) -def test_login_with_wrong_password(aut: AUT, keys_screen, main_window, error: str): +def test_login_with_wrong_password(aut: AUT, main_window, error: str): user_one: UserAccount = RandomUser() + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open generate keys view and set user name'): profile_view = keys_screen.generate_new_keys() profile_view.set_display_name(user_one.name) @@ -82,8 +78,12 @@ def test_login_with_wrong_password(aut: AUT, keys_screen, main_window, error: st pytest.param(''.join(random.choice(string.punctuation) for i in range(5, 25)), OnboardingMessages.WRONG_LOGIN_SYMBOLS_NOT_ALLOWED.value) ]) -def test_sign_up_with_wrong_name(keys_screen, user_name: str, error: str): - with step(f'Input name {user_name}'): +def test_sign_up_with_wrong_name(aut: AUT, main_window, user_name, error): + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + + with step(f'Input name Athl'): profile_view = keys_screen.generate_new_keys() profile_view.set_display_name(user_name) @@ -104,7 +104,11 @@ def test_sign_up_with_wrong_name(keys_screen, user_name: str, error: str): @pytest.mark.parametrize('error', [ pytest.param(OnboardingMessages.WRONG_PASSWORD.value), ]) -def test_sign_up_with_wrong_password_length(keys_screen, user_account, error: str): +def test_sign_up_with_wrong_password_length(user_account, error: str, aut: AUT, main_window): + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Input correct user name'): profile_view = keys_screen.generate_new_keys() profile_view.set_display_name(user_account.name) @@ -124,7 +128,11 @@ def test_sign_up_with_wrong_password_length(keys_screen, user_account, error: st @pytest.mark.case(702994) @pytest.mark.parametrize('user_account', [ RandomUser()]) -def test_sign_up_with_wrong_password_in_confirmation_field(keys_screen, user_account): +def test_sign_up_with_wrong_password_in_confirmation_field(user_account, aut: AUT, main_window): + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Input correct user name'): profile_view = keys_screen.generate_new_keys() profile_view.set_display_name(user_account.name) @@ -145,8 +153,12 @@ def test_sign_up_with_wrong_password_in_confirmation_field(keys_screen, user_acc @pytest.mark.parametrize('error', [ pytest.param(OnboardingMessages.PASSWORDS_DONT_MATCH.value), ]) -def test_sign_up_with_wrong_password_in_confirmation_again_field(keys_screen, user_account, - error: str): +def test_sign_up_with_wrong_password_in_confirmation_again_field(user_account, + error: str, aut: AUT, main_window): + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Input correct user name'): profile_view = keys_screen.generate_new_keys() profile_view.set_display_name(user_account.name) @@ -169,7 +181,11 @@ def test_sign_up_with_wrong_password_in_confirmation_again_field(keys_screen, us @pytest.mark.parametrize('seed_phrase', [ pytest.param('pelican chief sudden oval media rare swamp elephant lawsuit wheal knife initial'), ]) -def test_sign_up_with_wrong_seed_phrase(keys_screen, seed_phrase: str): +def test_sign_up_with_wrong_seed_phrase(seed_phrase: str, aut: AUT, main_window): + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open import seed phrase view and enter seed phrase'): input_view = keys_screen.open_import_seed_phrase_view().open_seed_phrase_input_view() input_view.input_seed_phrase(seed_phrase.split(), autocomplete=False) diff --git a/test/e2e/tests/onboarding/test_onboarding_syncing.py b/test/e2e/tests/onboarding/test_onboarding_syncing.py index a96b0b140c..ab2a770eb9 100644 --- a/test/e2e/tests/onboarding/test_onboarding_syncing.py +++ b/test/e2e/tests/onboarding/test_onboarding_syncing.py @@ -26,8 +26,8 @@ pytestmark = marks def sync_screen(main_window) -> SyncCodeView: with step('Open Syncing view'): BeforeStartedPopUp().get_started() - wellcome_screen = WelcomeToStatusView().wait_until_appears() - return wellcome_screen.sync_existing_user().open_sync_code_view() + welcome_screen = WelcomeToStatusView().wait_until_appears() + return welcome_screen.sync_existing_user().open_sync_code_view() @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703631', 'Wrong sync code') diff --git a/test/e2e/tests/onboarding/test_password_strength.py b/test/e2e/tests/onboarding/test_password_strength.py index 4afe6a033b..5f50957c56 100644 --- a/test/e2e/tests/onboarding/test_password_strength.py +++ b/test/e2e/tests/onboarding/test_password_strength.py @@ -15,19 +15,11 @@ from gui.screens.onboarding import WelcomeToStatusView, KeysView pytestmark = marks -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - welcome_screen = WelcomeToStatusView().wait_until_appears() - return welcome_screen.get_keys() - - @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/702989', 'Strength of the password') @pytest.mark.case(702989) @pytest.mark.parametrize('user_account', [RandomUser()]) -def test_check_password_strength_and_login(keys_screen, main_window, user_account): +def test_check_password_strength_and_login(main_window, user_account): values = [('abcdefghij', very_weak_lower_elements), ('ABCDEFGHIJ', very_weak_upper_elements), ('1234567890', very_weak_numbers_elements), @@ -38,6 +30,10 @@ def test_check_password_strength_and_login(keys_screen, main_window, user_accoun ('+1_3!48aTq', great_elements)] expected_password = "" + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Input correct user name'): profile_view = keys_screen.generate_new_keys() profile_view.set_display_name(user_account.name) diff --git a/test/e2e/tests/transactions_tests/test_buy_ens_name_in_settings.py b/test/e2e/tests/transactions_tests/test_buy_ens_name_in_settings.py index 9e0e60e309..ea039143f5 100644 --- a/test/e2e/tests/transactions_tests/test_buy_ens_name_in_settings.py +++ b/test/e2e/tests/transactions_tests/test_buy_ens_name_in_settings.py @@ -15,31 +15,27 @@ from gui.components.onboarding.beta_consent_popup import BetaConsentPopup from gui.components.splash_screen import SplashScreen from gui.components.authenticate_popup import AuthenticatePopup from gui.components.wallet.send_popup import SendPopup -from gui.screens.onboarding import KeysView, WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView +from gui.screens.onboarding import WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView from gui.screens.settings_ens_usernames import ENSRegisteredView pytestmark = marks -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - wellcome_screen = WelcomeToStatusView().wait_until_appears() - return wellcome_screen.get_keys() - - @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/704597', 'Settings -> ENS usernames: buy ENS name on testnet') @pytest.mark.case(704597) @pytest.mark.transaction @pytest.mark.parametrize('ens_name', [pytest.param(random_ens_string())]) -def test_ens_name_purchase(keys_screen, main_window, user_account, ens_name): +def test_ens_name_purchase(main_window, user_account, ens_name): user_account = ReturningUser( seed_phrase=WALLET_SEED.split(), status_address='0x44ddd47a0c7681a5b0fa080a56cbb7701db4bb43') + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open import seed phrase view and enter seed phrase'): input_view = keys_screen.open_import_seed_phrase_view().open_seed_phrase_input_view() diff --git a/test/e2e/tests/transactions_tests/test_mint_owner_and_tokenmaster_tokens.py b/test/e2e/tests/transactions_tests/test_mint_owner_and_tokenmaster_tokens.py index 54b0f504ca..72c71d3d86 100644 --- a/test/e2e/tests/transactions_tests/test_mint_owner_and_tokenmaster_tokens.py +++ b/test/e2e/tests/transactions_tests/test_mint_owner_and_tokenmaster_tokens.py @@ -10,33 +10,29 @@ import constants import driver from configs import WALLET_SEED from constants import ReturningUser +from gui.components.onboarding.before_started_popup import BeforeStartedPopUp from tests.communities import marks from constants.community_settings import MintOwnerTokensElements -from gui.components.onboarding.before_started_popup import BeforeStartedPopUp from gui.components.onboarding.beta_consent_popup import BetaConsentPopup from gui.components.splash_screen import SplashScreen from gui.screens.community_settings_tokens import MintedTokensView -from gui.screens.onboarding import KeysView, WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView +from gui.screens.onboarding import BiometricsView, YourEmojihashAndIdenticonRingView, WelcomeToStatusView pytestmark = marks -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - wellcome_screen = WelcomeToStatusView().wait_until_appears() - return wellcome_screen.get_keys() - - @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/727245', 'Mint owner token') @pytest.mark.case(727245) @pytest.mark.transaction -def test_mint_owner_and_tokenmaster_tokens(keys_screen, main_window, user_account): +def test_mint_owner_and_tokenmaster_tokens(main_window, user_account): user_account = ReturningUser( seed_phrase=WALLET_SEED.split(), status_address='0x44ddd47a0c7681a5b0fa080a56cbb7701db4bb43') + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open import seed phrase view and enter seed phrase'): input_view = keys_screen.open_import_seed_phrase_view().open_seed_phrase_input_view() input_view.input_seed_phrase(user_account.seed_phrase, True) diff --git a/test/e2e/tests/transactions_tests/test_wallet_send_eth.py b/test/e2e/tests/transactions_tests/test_wallet_send_eth.py index c80ea1793b..f9c4d87495 100644 --- a/test/e2e/tests/transactions_tests/test_wallet_send_eth.py +++ b/test/e2e/tests/transactions_tests/test_wallet_send_eth.py @@ -12,15 +12,7 @@ from gui.components.onboarding.beta_consent_popup import BetaConsentPopup from gui.components.signing_phrase_popup import SigningPhrasePopup from gui.components.splash_screen import SplashScreen from gui.components.authenticate_popup import AuthenticatePopup -from gui.screens.onboarding import KeysView, WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView - - -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - welcome_screen = WelcomeToStatusView().wait_until_appears() - return welcome_screen.get_keys() +from gui.screens.onboarding import WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/704527', @@ -31,11 +23,15 @@ def keys_screen(main_window) -> KeysView: pytest.param(WalletAddress.RECEIVER_ADDRESS.value, 0, 'ETH') ]) @pytest.mark.timeout(timeout=120) -def test_wallet_send_0_eth(keys_screen, main_window, user_account, receiver_account_address, amount, asset): +def test_wallet_send_0_eth(main_window, user_account, receiver_account_address, amount, asset): user_account = ReturningUser( seed_phrase=WALLET_SEED.split(), status_address='0x44ddd47a0c7681a5b0fa080a56cbb7701db4bb43') + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open import seed phrase view and enter seed phrase'): input_view = keys_screen.open_import_seed_phrase_view().open_seed_phrase_input_view() input_view.input_seed_phrase(user_account.seed_phrase, True) diff --git a/test/e2e/tests/transactions_tests/test_wallet_send_nft.py b/test/e2e/tests/transactions_tests/test_wallet_send_nft.py index e58c512e1e..b5780430e8 100644 --- a/test/e2e/tests/transactions_tests/test_wallet_send_nft.py +++ b/test/e2e/tests/transactions_tests/test_wallet_send_nft.py @@ -3,7 +3,6 @@ import pytest from allure_commons._allure import step import configs -import constants import driver from configs import WALLET_SEED from constants import ReturningUser @@ -13,15 +12,7 @@ from gui.components.onboarding.beta_consent_popup import BetaConsentPopup from gui.components.signing_phrase_popup import SigningPhrasePopup from gui.components.splash_screen import SplashScreen from gui.components.authenticate_popup import AuthenticatePopup -from gui.screens.onboarding import KeysView, WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView - - -@pytest.fixture -def keys_screen(main_window) -> KeysView: - with step('Open Generate new keys view'): - BeforeStartedPopUp().get_started() - welcome_screen = WelcomeToStatusView().wait_until_appears() - return welcome_screen.get_keys() +from gui.screens.onboarding import WelcomeToStatusView, BiometricsView, YourEmojihashAndIdenticonRingView @allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/704602', @@ -34,7 +25,11 @@ def keys_screen(main_window) -> KeysView: @pytest.mark.timeout(timeout=120) @pytest.mark.skip(reason="https://github.com/status-im/status-desktop/issues/14862") @pytest.mark.skip(reason="https://github.com/status-im/status-desktop/issues/14509") -def test_wallet_send_nft(keys_screen, main_window, user_account, tab, receiver_account_address, amount, collectible): +def test_wallet_send_nft(main_window, user_account, tab, receiver_account_address, amount, collectible): + with step('Open Generate new keys view'): + BeforeStartedPopUp().get_started() + keys_screen = WelcomeToStatusView().wait_until_appears().get_keys() + with step('Open import seed phrase view and enter seed phrase'): user_account = ReturningUser(