0
0
Fork 0
EnglishPal/app/test/test_word_operation.py

92 lines
2.0 KiB
Python
Raw Normal View History

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