forked from mrlan/EnglishPal
92 lines
2.0 KiB
Python
92 lines
2.0 KiB
Python
|
from time import sleep
|
||
|
from selenium import webdriver
|
||
|
|
||
|
# 获取浏览器驱动,并且打开响应的网址
|
||
|
driver = webdriver.Chrome(executable_path="C:\Program Files (x86)\Google\ChromeDriver\chromedriver.exe")
|
||
|
|
||
|
HOME_PAGE = "http://127.0.0.1:5000/"
|
||
|
|
||
|
|
||
|
def test_word_operation():
|
||
|
try:
|
||
|
login()
|
||
|
unfamiliar()
|
||
|
familiar()
|
||
|
delete()
|
||
|
finally:
|
||
|
driver.quit()
|
||
|
|
||
|
|
||
|
def login():
|
||
|
driver.get(HOME_PAGE)
|
||
|
|
||
|
assert 'English Pal -' in driver.page_source
|
||
|
|
||
|
# login
|
||
|
elem = driver.find_element_by_link_text('登录')
|
||
|
elem.click()
|
||
|
sleep(2)
|
||
|
uname = 'peter'
|
||
|
password = 'peter'
|
||
|
|
||
|
elem = driver.find_element_by_name('username')
|
||
|
elem.send_keys(uname)
|
||
|
|
||
|
elem = driver.find_element_by_name('password')
|
||
|
elem.send_keys(password)
|
||
|
|
||
|
# find the login button
|
||
|
elem = driver.find_element_by_xpath('/html/body/form/p[3]/input')
|
||
|
elem.click()
|
||
|
|
||
|
assert 'EnglishPal Study Room for ' + uname in driver.title
|
||
|
|
||
|
|
||
|
def familiar():
|
||
|
sleep(5)
|
||
|
|
||
|
elem = driver.find_element_by_xpath('//*[@id="p_0"]/a[3]')
|
||
|
|
||
|
count = int(elem.find_element_by_xpath('//*[@id="freq_0"]').text)
|
||
|
|
||
|
loop = 3
|
||
|
|
||
|
for i in range(loop):
|
||
|
elem.click()
|
||
|
sleep(1)
|
||
|
|
||
|
new_count = int(driver.find_element_by_xpath('//*[@id="freq_0"]').text)
|
||
|
|
||
|
assert count - loop == new_count
|
||
|
|
||
|
|
||
|
def unfamiliar():
|
||
|
sleep(5)
|
||
|
|
||
|
elem = driver.find_element_by_xpath('//*[@id="p_0"]/a[4]')
|
||
|
|
||
|
count = int(elem.find_element_by_xpath('//*[@id="freq_0"]').text)
|
||
|
|
||
|
loop = 2
|
||
|
|
||
|
for i in range(loop):
|
||
|
elem.click()
|
||
|
sleep(1)
|
||
|
|
||
|
new_count = int(driver.find_element_by_xpath('//*[@id="freq_0"]').text)
|
||
|
|
||
|
assert count + loop == new_count
|
||
|
|
||
|
|
||
|
def delete():
|
||
|
sleep(3)
|
||
|
word = driver.find_element_by_xpath('//*[@id="word_0"]').text
|
||
|
elem = driver.find_element_by_xpath('//*[@id="p_0"]/a[5]')
|
||
|
elem.click()
|
||
|
sleep(5)
|
||
|
driver.refresh()
|
||
|
driver.refresh()
|
||
|
driver.refresh()
|
||
|
find_word = word in driver.page_source
|
||
|
assert find_word is False
|