示例#1
0
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')
示例#2
0
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')
示例#3
0
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')
示例#4
0
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')
示例#5
0
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')
示例#6
0
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')
示例#7
0
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')
示例#8
0
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.")
示例#9
0
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')
示例#10
0
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')