summaryrefslogtreecommitdiff
path: root/app/test/test_add_word.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/test/test_add_word.py')
-rw-r--r--app/test/test_add_word.py107
1 files changed, 54 insertions, 53 deletions
diff --git a/app/test/test_add_word.py b/app/test/test_add_word.py
index c8d6d57..9fe8741 100644
--- a/app/test/test_add_word.py
+++ b/app/test/test_add_word.py
@@ -16,59 +16,60 @@ def has_punctuation(s):
return [c for c in s if c in string.punctuation] != []
def test_add_word():
- driver.get(HOME_PAGE + 'logout')
- assert 'English Pal -' in driver.page_source
-
- # login
- elem = driver.find_element_by_link_text('登录')
- elem.click()
-
- uname = 'lanhui'
- password = 'l0ve1t'
- elem = driver.find_element_by_name('username')
- elem.send_keys(uname)
-
- elem = driver.find_element_by_name('password')
- elem.send_keys(password)
+ try:
+ driver.get(HOME_PAGE)
+ assert 'English Pal -' in driver.page_source
- elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮
- elem.click()
-
- assert 'EnglishPal Study Room for ' + uname in driver.title
-
- # get essay content
- driver.save_screenshot('./app/test/test_add_word_pic0.png')
- elem = driver.find_element_by_id('text-content')
- essay_content = elem.text
-
- elem = driver.find_element_by_id('selected-words')
- word = random.choice(essay_content.split())
- while 'font>' in word or 'br>' in word or 'p>' in word or len(word) < 5 or has_punctuation(word):
- word = random.choice(essay_content.split())
- elem.send_keys(word)
- driver.save_screenshot('./app/test/test_add_word_pic1.png')
- elem = driver.find_element_by_xpath('//form[2]//input[1]') # 找到get所有词频按钮
- elem.click()
-
- elems = driver.find_elements_by_xpath("//input[@type='checkbox']")
- for elem in elems:
- if elem.get_attribute('name') == 'marked':
+ # login
+ elem = driver.find_element_by_link_text('登录')
+ elem.click()
+
+ uname = 'lanhui'
+ password = 'l0ve1t'
+ elem = driver.find_element_by_name('username')
+ elem.send_keys(uname)
+
+ elem = driver.find_element_by_name('password')
+ elem.send_keys(password)
+
+ elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮
+ elem.click()
+
+ assert 'EnglishPal Study Room for ' + uname in driver.title
+
+ # get essay content
+ driver.save_screenshot('./app/test/test_add_word_pic0.png')
+ elem = driver.find_element_by_id('text-content')
+ essay_content = elem.text
+
+ elem = driver.find_element_by_id('selected-words')
+ word = random.choice(essay_content.split())
+ while 'font>' in word or 'br>' in word or 'p>' in word or len(word) < 5 or has_punctuation(word):
+ word = random.choice(essay_content.split())
+ elem.send_keys(word)
+ driver.save_screenshot('./app/test/test_add_word_pic1.png')
+ elem = driver.find_element_by_xpath('//form[2]//input[1]') # 找到get所有词频按钮
elem.click()
-
- driver.save_screenshot('./app/test/test_add_word_pic2.png')
- elem = driver.find_element_by_xpath('//form[1]/input[1]') # 找到加入我的生词簿按钮
- elem.click()
-
- elems = driver.find_elements_by_xpath("//p[@id='new-word']")
- elems[0].location_once_scrolled_into_view
- driver.save_screenshot('./app/test/test_add_word_pic3.png')
-
- found = 0
- for elem in elems:
- if word in elem.text:
- found = 1
- break
-
- assert found == 1
- driver.quit()
+ elems = driver.find_elements_by_xpath("//input[@type='checkbox']")
+ for elem in elems:
+ if elem.get_attribute('name') == 'marked':
+ elem.click()
+
+ driver.save_screenshot('./app/test/test_add_word_pic2.png')
+ elem = driver.find_element_by_xpath('//form[1]/input[1]') # 找到加入我的生词簿按钮
+ elem.click()
+
+ elems = driver.find_elements_by_xpath("//p[@id='new-word']")
+ elems[0].location_once_scrolled_into_view
+ driver.save_screenshot('./app/test/test_add_word_pic3.png')
+
+ found = 0
+ for elem in elems:
+ if word in elem.text:
+ found = 1
+ break
+
+ assert found == 1
+ finally:
+ driver.quit()