diff options
Diffstat (limited to 'app/test/test_add_word.py')
-rw-r--r-- | app/test/test_add_word.py | 107 |
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() |