Ejemplo n.º 1
0
def test_login_and_logout_button_on_main_page(browser):
    # 철수는 메인페이지에 접속해서
    browser.get(BASE_URL)
    # 로그인 버튼을 클릭했더니
    browser.find_element_by_xpath("//button[text()='로그인']").click()
    # 로그인 페이지로 이동했고
    assert BASE_URL + '/login' == browser.current_url
    # 아이디를 [email protected]을 입력 후
    browser.find_element_by_xpath("//input[@name='username']").send_keys(
        '*****@*****.**')
    # 비밀번호를 1234를 입력하고
    browser.find_element_by_xpath("//input[@name='password']").send_keys(
        '1234')
    # 로그인 버튼을 클릭했더니
    browser.find_element_by_xpath("//form[@class='ui form']/button").send_keys(
        Keys.ENTER)
    # 로그아웃 버튼이 나올 때 까지 기다리자
    logout_element = WebDriverWait(browser, 30).until(
        EC.presence_of_element_located((By.XPATH, "//button[text()='로그아웃']")))
    # 메인화면으로 다시 돌아왔고
    assert BASE_URL + "/" == browser.current_url
    # 메인페이지에는 로그인이라고 써져있던 버튼이 로그아웃으로 바껴 있었다.
    # 그래서 로그아웃 버튼을 눌렀더니
    logout_element.click()
    # 다시 로그인 버튼으로 바뀌었다.
    browser.find_element_by_xpath("//button[text()='로그인']")
Ejemplo n.º 2
0
def login_with(browser, username, password):
    browser.get(BASE_URL)
    browser.find_element_by_xpath("//button[text()='알림받기']").click()
    browser.find_element_by_xpath("//input[@name='username']").send_keys(
        username)
    browser.find_element_by_xpath("//input[@name='password']").send_keys(
        password)
    browser.find_element_by_xpath(
        "//button[text()='로그인' and @type='submit']").click()
Ejemplo n.º 3
0
def test_login(browser):
    browser.get(BASE_URL + '/login')

    browser.find_element_by_xpath("//input[@name='username']").send_keys(
        '*****@*****.**')
    browser.find_element_by_xpath("//input[@name='password']").send_keys(
        '1234')

    browser.find_element_by_xpath("//button[text()='로그인']").click()
Ejemplo n.º 4
0
def test_sign_up(browser):

    browser.get(BASE_URL + '/signup')

    browser.find_element_by_xpath("//input[@name='username']").send_keys(
        '*****@*****.**')
    browser.find_element_by_xpath("//input[@name='password']").send_keys(
        '1234')
    browser.find_element_by_xpath("//input[@name='password_check']").send_keys(
        '1234')

    browser.find_element_by_xpath("//button[text()='회원 가입']").click()

    verfy_modal = WebDriverWait(browser, 15).until(
        EC.presence_of_element_located(
            (By.XPATH,
             "//div[@class='ui page modals dimmer transition visible active']"
             )))
    assert '회원가입이 완료되었습니다.' in verfy_modal.text
Ejemplo n.º 5
0
def test_signup(browser):
    # 철수는 링쿠의 회원이 되기 위해, 회원가입 페이지에 접속했다
    browser.get(BASE_URL + '/signup')

    # 가장 상단에는 링쿠는 '대학생들을 위한 서비스입니다.
    assert '링쿠는 대학생들을 위한 서비스입니다.' in browser.page_source

    # 보다 안전한 서비스 이용을 위해 대학생 인증을 부탁드려요! 이라는 문구가 보였고
    assert '보다 안전한 서비스 이용을 위해 대학생 인증을 부탁드려요!' in browser.page_source

    # 대학생 메일 입력란에 [email protected]을 입력하고
    browser.find_element_by_xpath(
        "//input[@name='university_email']").send_keys('*****@*****.**')

    # 인증번호 발송 버튼을 클릭했다
    browser.find_element_by_xpath("//button[text()='인증번호 발송']").click()

    # 발송 될 때까지 로딩하는 장면이 보였고 철수는 기다리다가
    modal_elem = WebDriverWait(browser, 30).until(
        EC.presence_of_element_located(
            (By.XPATH, "//div[@class='ui modal transition visible active']")))

    # 전송이 완료되자 이메일이 전송되었습니다 라는 메세지의 모달창이 떴고
    assert '이메일이 전송되었습니다' in modal_elem.text

    # 철수는 확인 버튼을 눌러 모달 창을 종료했다
    modal_elem.find_element_by_xpath(
        "//button[@class='ui blue button']").click()

    # 모달창을 종료하자 인증번호 입력창이 나와서
    # 인증번호를 1234 입력 후
    browser.find_element_by_xpath("//input[@name='auth_number']").send_keys(
        '1234')

    # 인증 요청을 클릭하자
    browser.find_element_by_xpath("//button[text()='인증 요청']").click()

    # 인증이 완료되었습니다 라는 메세지를 가진 모달창이 나와서
    cmp_modal = WebDriverWait(browser, 30).until(
        EC.presence_of_element_located(
            (By.XPATH,
             "//div[@class='ui page modals dimmer transition visible active']"
             )))
    assert '인증이 완료되었습니다' in cmp_modal.text

    # 확인 버튼을 눌러서 모달창을 종료했다.
    cmp_modal.find_element_by_xpath(
        "//button[@class='ui blue button']").click()

    # 모달창을 종료하자 정보를 입력하는 폼들이 나왔고,
    # 이메일, 이름, 성별 선택, 전화번호, 비밀번호, 비밀번호 확인에 적절한 값을 입력 후
    browser.find_element_by_xpath("//input[@name='username']").send_keys(
        '*****@*****.**')
    browser.find_element_by_xpath("//input[@name='name']").send_keys(
        'test name')
    browser.find_element_by_xpath(
        "//input[@name='gender' and @value='M']").click()
    browser.find_element_by_xpath("//input[@name='phone_number']").send_keys(
        '01012341234')
    browser.find_element_by_xpath("//input[@name='password']").send_keys(
        'test password')
    browser.find_element_by_xpath("//input[@name='password_check']").send_keys(
        'test password')

    # 가입 완료 버튼을 누르자
    browser.find_element_by_xpath("//button[text()='가입 완료']").click()

    # 회원가입이 완료되었습니다 라는 모달 창이 떴고
    verfi_modal = WebDriverWait(browser, 30).until(
        EC.presence_of_element_located(
            (By.XPATH,
             "//div[@class='ui page modals dimmer transition visible active']"
             )))
    assert '회원가입이 완료되었습니다' in verfi_modal.text

    # 확인 버튼을 누르자
    verfi_modal.find_element_by_xpath(
        "//button[@class='ui blue button']").click()

    # 홈페이지로 다시 이동하게 되었다
    assert BASE_URL + '/' == browser.current_url
Ejemplo n.º 6
0
def test__select_meat_count(browser):
    browser.get(BASE_URL)

    browser.find_element_by_xpath("//input[@name='삼겹']").clear()
    browser.find_element_by_xpath("//input[@name='삼겹']").send_keys('5')
    browser.find_element_by_xpath("//input[@name='목살']").clear()
    browser.find_element_by_xpath("//input[@name='목살']").send_keys('4')

    browser.find_element_by_xpath("//input[@type='submit']").send_keys(
        Keys.ENTER)

    assert browser.current_url == BASE_URL + '/ordermeats/new/'
    assert browser.find_element_by_xpath("//input[@name='삼겹']").get_attribute(
        'value') == '5'
    assert browser.find_element_by_xpath("//input[@name='목살']").get_attribute(
        'value') == '4'