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()='로그인']")
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()
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()
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
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
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'