Esempio n. 1
0
    def test_register_smoke(self, set_capabilities, setup_logging):
        """
        Verify that tapping "Create your account" button after filling all required input(valid) types,
            will validate all inputs and load "Whats new feature screen" with specific user logged in
        Verify that user should be able to log out and re-login with new created account credentials
        """

        android_register_page = AndroidRegister(set_capabilities,
                                                setup_logging)
        global_contents = Globals(setup_logging)

        user_name = global_contents.generate_random_credentials(5)
        email = user_name + '@example.com'
        first_name = global_contents.generate_random_credentials(4)
        last_name = global_contents.generate_random_credentials(4)
        name = first_name + ' ' + last_name
        full_name = name
        password = global_contents.generate_random_credentials(8)
        setup_logging.info(
            'Email - {},  Username - {}, Full Name - {}, Password -{}'.format(
                email, user_name, full_name, password))

        android_register_page.back_and_forth_register()
        register_output = android_register_page.register(
            email, full_name, user_name, password, global_contents.country)

        global_contents.wait_for_android_activity_to_load(
            set_capabilities, global_contents.REGISTER_ACTIVITY_NAME)

        # assert register_output == Globals.WHATS_NEW_ACTIVITY_NAME

        android_whats_new_page = AndroidWhatsNew(set_capabilities,
                                                 setup_logging)
        android_whats_new_page.navigate_features()
        assert android_whats_new_page.navigate_features(
        ).text == strings.WHATS_NEW_DONE
        assert android_whats_new_page.exit_features(
        ) == Globals.MAIN_DASHBOARD_ACTIVITY_NAME

        android_main_dashboard_page = AndroidMainDashboard(
            set_capabilities, setup_logging)
        assert android_main_dashboard_page.get_logout_account_option(
        ).text == strings.ACCOUNT_LOGOUT
        assert android_main_dashboard_page.log_out(
        ) == Globals.DISCOVERY_LAUNCH_ACTIVITY_NAME

        android_new_landing_page = AndroidNewLanding(set_capabilities,
                                                     setup_logging)
        assert android_new_landing_page.load_login_screen(
        ) == Globals.LOGIN_ACTIVITY_NAME

        android_login_page = AndroidLogin(set_capabilities, setup_logging)

        login_output = android_login_page.login(user_name, password, False)

        assert login_output == Globals.MAIN_DASHBOARD_ACTIVITY_NAME
        setup_logging.info('{} is successfully logged in'.format(user_name))

        setup_logging.info('-- Ending {} Test Case'.format(
            TestAndroidRegister.__name__))
Esempio n. 2
0
    def test_register_smoke(self, set_capabilities, setup_logging):
        """
            Verify that tapping "Create your account" button after filling all required input(valid) types,
                will validate all inputs and load "Whats new feature screen" with specific user logged in
            Verify that tapping "Create your account" button after filling all required input(valid) types,
                will validate all inputs and load "Whats new feature screen" with specific user logged in
            Verify that following input types are optional,
                "Gender" spinner
                "Year of birth" spinner
                "Highest level of education completed" spinner
                "Tell us why you're interested in edX" label with edit-field below
            Verify that user should be able to log out and re-login with new created account credentials
        """

        ios_register_page = IosRegister(set_capabilities, setup_logging)
        ios_login_page = IosLogin(set_capabilities, setup_logging)
        ios_whats_new_page = IosWhatsNew(set_capabilities, setup_logging)
        ios_main_dashboard_page = IosMainDashboard(set_capabilities,
                                                   setup_logging)
        global_contents = Globals(setup_logging)

        user_name = global_contents.generate_random_credentials(4)
        email = user_name + '@example.com'
        first_name = global_contents.generate_random_credentials(4)
        last_name = global_contents.generate_random_credentials(4)
        full_name = (first_name + ' ' + last_name)
        password = global_contents.generate_random_credentials(8)
        setup_logging.info(
            'Email - {},  Username - {}, Full Name - {}, Password -{}'.format(
                email, user_name, full_name, password))

        ios_register_page.submit_register_form(email, full_name, user_name,
                                               password,
                                               global_contents.country)

        assert ios_whats_new_page.get_title_textview()
        assert ios_whats_new_page.navigate_features(
        ).text == strings.WHATS_NEW_DONE
        assert ios_whats_new_page.exit_features(
        ).text == strings.MAIN_DASHBOARD_SCREEN_TITLE

        logout_option = ios_main_dashboard_page.get_account_options()[
            global_contents.fourth_existence].text
        assert logout_option == strings.ACCOUNT_LOGOUT
        assert ios_main_dashboard_page.log_out().text == strings.LOGIN
        setup_logging.info('{} is successfully logged out'.format(user_name))

        assert ios_login_page.login(user_name, password, False)
        setup_logging.info('{} is successfully logged in'.format(user_name))
        assert ios_main_dashboard_page.get_title_textview_portrait_mode(
        ).text == strings.MAIN_DASHBOARD_SCREEN_TITLE

        setup_logging.info('-- Ending Test Case')
Esempio n. 3
0
    def test_register_smoke(self, set_capabilities, setup_logging):
        """
            Verify that tapping "Create your account" button after filling all required input(valid) types,
                will validate all inputs and load "Whats new feature screen" with specific user logged in
            Verify that tapping "Create your account" button after filling all required input(valid) types,
                will validate all inputs and load "Whats new feature screen" with specific user logged in
            Verify that following input types are optional,
                "Gender" spinner
                "Year of birth" spinner
                "Highest level of education completed" spinner
                "Tell us why you're interested in edX" label with edit-field below
            Verify that user should be able to log out and re-login with new created account credentials
        """

        ios_register_page = IosRegister(set_capabilities, setup_logging)
        ios_login_page = IosLogin(set_capabilities, setup_logging)
        ios_whats_new_page = IosWhatsNew(set_capabilities, setup_logging)
        ios_main_dashboard_page = IosMainDashboard(set_capabilities,
                                                   setup_logging)
        global_contents = Globals(setup_logging)

        user_name = global_contents.generate_random_credentials(5)
        email = user_name + '@example.com'
        first_name = global_contents.generate_random_credentials(4)
        last_name = global_contents.generate_random_credentials(4)
        full_name = (first_name + ' ' + last_name)
        password = global_contents.generate_random_credentials(8)

        ios_register_page.submit_register_form('',
                                               full_name,
                                               user_name,
                                               password,
                                               click_country=False)
        ios_register_page.validate_required_optional_fields()
        assert ios_register_page.get_email_validation_textview(
        ).text == strings.REGISTER_EMAIL_BLANK_ERROR

        ios_register_page.submit_register_form(email,
                                               '',
                                               user_name,
                                               password,
                                               click_country=False)
        ios_register_page.validate_required_optional_fields()
        assert ios_register_page.get_full_name_validation_textview(
        ).text == strings.REGISTER_FULL_NAME_BLANK_ERROR

        ios_register_page.submit_register_form(email,
                                               full_name,
                                               '',
                                               password,
                                               click_country=False)
        ios_register_page.validate_required_optional_fields()
        assert ios_register_page.get_username_validation_textview(
        ).text == strings.REGISTER_USER_NAME_BLANK_ERROR

        ios_register_page.submit_register_form(email,
                                               full_name,
                                               user_name,
                                               '',
                                               click_country=False)
        ios_register_page.validate_required_optional_fields()
        assert ios_register_page.get_password_validation_textview(
        ).text == strings.REGISTER_PASSWORD_BLANK_ERROR

        setup_logging.info(
            'Email - {},  Username - {}, Full Name - {}, Password -{}'.format(
                email, user_name, full_name, password))

        ios_register_page.submit_register_form(email, full_name, user_name,
                                               password)

        assert ios_whats_new_page.get_title_textview()

        assert ios_whats_new_page.navigate_features(
        ).text == strings.CLOSE_BUTTON_TEXT
        assert ios_whats_new_page.exit_features().text == strings.BLANK_FIELD

        assert ios_main_dashboard_page.load_account_screen(
        ).text == strings.PROFILE_SCREEN_TITLE
        assert ios_main_dashboard_page.log_out().text == strings.LOGIN
        setup_logging.info('{} is successfully logged out'.format(user_name))

        assert ios_login_page.login(user_name, password)
        setup_logging.info('{} is successfully logged in'.format(user_name))
        assert ios_main_dashboard_page.get_title_textview_portrait_mode(
        ).text == strings.MAIN_DASHBOARD_SCREEN_TITLE
Esempio n. 4
0
    def test_required_and_optional_fields_smoke(self, set_capabilities,
                                                setup_logging):
        """
        Scenarios:

        Verify that following input types are required,
            Email editfield, Full Name editfield, Public, User Name, editfield, Password editfield,
            "Country or Region of Residence" spinner
        Verify that following input types are optional,
            "Gender" spinner, "Year of birth" spinner, "Highest level of education completed" spinner,
            "Tell us why you're interested in edX" label with edit - field below
        Verify that, if user fill all data except "Full Name" and tap on 'Create my account' button,
            alert pop up should appear along with the error message.
        Verify that, if user fill all data except "User Name" and tap on 'Create my account' button,
            alert pop up should appear along with the error message.
        Verify that, if user fill all data except "Password" and tap on 'Create my account' button,
            alert pop up should appear along with the error message.
        Verify that, if user fill all data except "Country" and tap on 'Create my account' button,
            alert pop up should appear along with the error message.
        Verify that, if user fill all data but with wrong email format and tap on 'Create my account' button,
            email format error message should appear.
        Verify that, if user fill all data but with wrong email format and tap on 'Create my account' button,
            email format error message should appear.
        Verify that, password required at least 8 characters with special character in it.
        """

        global_contents = Globals(setup_logging)
        android_register_page = AndroidRegister(set_capabilities,
                                                setup_logging)
        assert android_register_page.validate_required_optional_fields()
        assert android_register_page.get_email_validation_textview(
        ).text == strings.REGISTER_EMAIL_BLANK_ERROR
        assert android_register_page.get_full_name_validation_textview(
        ).text == strings.REGISTER_FULL_NAME_BLANK_ERROR
        assert android_register_page.get_username_validation_textview(
        ).text == strings.REGISTER_USER_NAME_BLANK_ERROR
        assert android_register_page.get_password_validation_textview(
        ).text == strings.REGISTER_PASSWORD_BLANK_ERROR
        assert android_register_page.get_country_validation_textview(
        ).text == strings.REGISTER_COUNTRY_BLANK_ERROR

        user_name = global_contents.generate_random_credentials(5)
        email = user_name + '@example.com'
        first_name = global_contents.generate_random_credentials(4)
        last_name = global_contents.generate_random_credentials(4)
        name = "{} {}".format(first_name, last_name)
        full_name = name
        password = global_contents.generate_random_credentials(8)
        android_register_page.register(email, '', user_name, password,
                                       global_contents.country)

        assert android_register_page.validate_required_optional_fields(
            click_create_account=False)
        assert android_register_page.get_full_name_validation_textview(
        ).text == strings.REGISTER_FULL_NAME_BLANK_ERROR

        android_register_page.register(email, full_name, '', password,
                                       global_contents.country)
        assert android_register_page.validate_required_optional_fields(
            click_create_account=False)

        android_register_page.register(email, full_name, user_name, '',
                                       global_contents.country)
        assert android_register_page.validate_required_optional_fields(
            click_create_account=False)

        android_register_page.register(email, full_name, user_name, password,
                                       '')
        assert android_register_page.validate_required_optional_fields(
            click_create_account=False)

        android_register_page.register(email, full_name, user_name, 'xxxxxxxx',
                                       global_contents.country)
        assert android_register_page.validate_required_optional_fields(
            click_create_account=False)

        android_register_page.register('xxxx@xxxxx', full_name, user_name,
                                       password, global_contents.country)
        assert android_register_page.validate_required_optional_fields(
            click_create_account=False)
        assert android_register_page.get_email_format_validation_textview().text \
            == strings.LOGIN_WRONG_CREDENTIALS_ALERT_MSG