EnglishPal/app/test/test_login.py

63 lines
2.0 KiB
Python
Raw Normal View History

2021-04-06 16:22:03 +08:00
# -*- coding: utf-8 -*-
# Run the docker image using the following command:
# docker run -d -p 4444:4444 selenium/standalone-chrome
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
2021-12-03 09:16:18 +08:00
import pytest
2021-04-06 16:22:03 +08:00
import random, string
2021-12-03 09:16:18 +08:00
#driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX)
#driver.implicitly_wait(10)
2021-04-06 16:22:03 +08:00
2021-12-03 09:16:18 +08:00
@pytest.mark.usefixtures
def test_login(URL, driver):
2021-04-06 16:22:03 +08:00
try:
2021-12-03 09:16:18 +08:00
driver.get(URL)
2021-04-06 16:22:03 +08:00
driver.save_screenshot('./app/test/test_login_pic0.png')
assert 'English Pal -' in driver.page_source
elem = driver.find_element_by_link_text('成为会员')
elem.click()
uname = ''.join ( [random.choice (string.ascii_letters) for x in range (8)] )
elem = driver.find_element_by_name('username')
elem.send_keys(uname)
elem = driver.find_element_by_name('password')
elem.send_keys('iamc00l!')
driver.save_screenshot('./app/test/test_login_pic1.png')
elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到注册按钮
elem.click()
driver.save_screenshot('./app/test/test_login_pic2.png')
assert '恭喜,你已成功注册' in driver.page_source
assert uname in driver.page_source
# logout
2021-12-03 09:16:18 +08:00
driver.get(URL + 'logout')
2021-04-06 16:22:03 +08:00
driver.save_screenshot('./app/test/test_login_pic3.png')
# login
elem = driver.find_element_by_link_text('登录')
elem.click()
elem = driver.find_element_by_name('username')
elem.send_keys(uname)
elem = driver.find_element_by_name('password')
elem.send_keys('iamc00l!')
elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮
elem.click()
driver.save_screenshot('./app/test/test_login_pic4.png')
assert 'EnglishPal Study Room for ' + uname in driver.title
2021-04-06 16:22:03 +08:00
finally:
driver.quit()