def test_singup_page_should_display_confirm_input_empty_validation_error_when_it_is_focused(responsive_target): signup_page = SignupPage(responsive_target['driver']) # open search input signup_page.click_element('confirm_input') # enter text in the input assert signup_page.does_have_text_in_page('confirm is a required field')
def test_singup_page_should_route_login_page_when_click_the_link(responsive_target): signup_page = SignupPage(responsive_target['driver']) # open search input signup_page.click_element('login_link') login_page = LoginPage(responsive_target['driver'], independent=False) assert login_page.does_have_text_in_page('Login')
def test_should_route_signup_page_when_join_btn_is_clicked_in_home( responsive_target): home_page = HomePage(responsive_target['driver']) # click join btn home_page.click_element('join_btn') # get signup page object with current url signup_page = SignupPage(responsive_target['driver']) # assert signup page is correctly loaded assert signup_page.does_have_text_in_page('Signup')
def test_should_route_to_signup_page_when_click_blogs_link_in_header( responsive_target, TargetPage): target_page = TargetPage(responsive_target['driver']) # click blogs nav item target_page.click_element_in_header('signup_menu_link') # get signup page object with current url signup_page = SignupPage(responsive_target['driver'], independent=False) # assert blog list page is correctly loaded assert signup_page.does_have_text_in_page('Signup')
def test_blog_list_page_should_guide_user_to_to_signup_page_after_click_join_btn(responsive_target): blog_list_page = BlogListPage(responsive_target['driver']) if responsive_target['size_type'] not in ['laptop', 'desktop']: blog_list_page.scroll_to_bottom() blog_list_page.wait_for_animation_finish() blog_list_page.click_element('join_button') # get signup page object with current url signup_page = SignupPage(responsive_target['driver']) # assert signup page is correctly loaded assert signup_page.does_have_text_in_page('Signup')
def test_should_route_to_signup_page_when_click_blogs_link_in_header_after_open_menu_bar( responsive_target, TargetPage): target_page = TargetPage(responsive_target['driver']) # click menu toggle icon target_page.click_element_in_header( 'menu_toggle_icon', waiting_element_locator=None, animation_duration_sc=cfg.animation_duration_sc) # click blogs nav item target_page.click_element_in_header('signup_menu_link') # get signup page object with current url signup_page = SignupPage(responsive_target['driver'], independent=False) # assert blog list page is correctly loaded assert signup_page.does_have_text_in_page('Signup')
def test_singup_page_should_not_allow_to_submit_when_at_least_one_error(responsive_target): signup_page = SignupPage(responsive_target['driver']) # open search input signup_page.click_element('confirm_input') signup_page.click_element('submit_btn') assert signup_page.does_have_text_in_page('please fix validation errors before submit')
def test_singup_page_should_display_user_already_exist_message_when_email_already_exist(responsive_target): signup_page = SignupPage(responsive_target['driver']) signup_page.type_text_in_input(locator='name_input', text='dummy user') signup_page.type_text_in_input(locator='email_input', text=cfg.test_user_email) signup_page.type_text_in_input(locator='password_input', text='dummy') signup_page.type_text_in_input(locator='confirm_input', text='dummy') signup_page.click_element('submit_btn') signup_page.wait_for_element('fetch_err_msg') assert signup_page.does_have_text_in_page("provided email already exists.")
def test_singup_page_should_not_display_any_validation_error_message_when_initial_load(responsive_target): signup_page = SignupPage(responsive_target['driver']) # enter text in the input assert not signup_page.does_element_exist('name_error')
def test_singup_page_should_route_home_page_when_successfully_signup(responsive_target): signup_page = SignupPage(responsive_target['driver']) signup_page.type_text_in_input(locator='name_input', text='dummy user') # use fake email address to avoid duplication of existing email signup_page.type_text_in_input(locator='email_input', text=fake.email()) signup_page.type_text_in_input(locator='password_input', text='dummy') signup_page.type_text_in_input(locator='confirm_input', text='dummy') signup_page.click_element('submit_btn') home_page = HomePage(responsive_target['driver'], independent=False) # if fetch and move pages, you need to wait for fetch done and next page is loaded like below otherwise, selenium can assert before target element is loaded home_page.wait_for_element('slogan') assert home_page.does_have_text_in_page('Share Your Knowledge and Expand What You Can Do')