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__))
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')
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
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