diff options
-rw-r--r-- | app/test/test_add_word.py | 107 | ||||
-rw-r--r-- | app/test/test_add_word_and_essay_does_not_change.py | 119 | ||||
-rw-r--r-- | app/test/test_login.py | 83 | ||||
-rw-r--r-- | app/test/test_next_essay.py | 77 | ||||
-rw-r--r-- | app/test/test_signup.py | 47 |
5 files changed, 219 insertions, 214 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() diff --git a/app/test/test_add_word_and_essay_does_not_change.py b/app/test/test_add_word_and_essay_does_not_change.py index 2a1e503..0913be3 100644 --- a/app/test/test_add_word_and_essay_does_not_change.py +++ b/app/test/test_add_word_and_essay_does_not_change.py @@ -16,63 +16,64 @@ def has_punctuation(s): return [c for c in s if c in string.punctuation] != [] def test_add_word_and_essay_does_not_change(): - 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_and_essay_does_not_change_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) - 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': - elem.click() - - elem = driver.find_element_by_xpath('//form[1]/input[1]') # 找到加入我的生词簿按钮 - elem.click() - - # get essay contant again - driver.save_screenshot('./app/test/test_add_word_and_essay_does_not_change_pic1.png') - elem = driver.find_element_by_id('text-content') - current_essay_content = elem.text - - assert current_essay_content == essay_content - - # click the Next button. Now the essay should change. - elem = driver.find_element_by_xpath('//form[1]//input[1]') # 找到get所有词频按钮 - elem.click() - - # compare again - driver.save_screenshot('./app/test/test_add_word_and_essay_does_not_change_pic2.png') - elem = driver.find_element_by_id('text-content') - next_essay_content = elem.text - - assert current_essay_content != next_essay_content - - driver.quit() + # 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_and_essay_does_not_change_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) + 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': + elem.click() + + elem = driver.find_element_by_xpath('//form[1]/input[1]') # 找到加入我的生词簿按钮 + elem.click() + + # get essay contant again + driver.save_screenshot('./app/test/test_add_word_and_essay_does_not_change_pic1.png') + elem = driver.find_element_by_id('text-content') + current_essay_content = elem.text + + assert current_essay_content == essay_content + + # click the Next button. Now the essay should change. + elem = driver.find_element_by_xpath('//form[1]//input[1]') # 找到get所有词频按钮 + elem.click() + + # compare again + driver.save_screenshot('./app/test/test_add_word_and_essay_does_not_change_pic2.png') + elem = driver.find_element_by_id('text-content') + next_essay_content = elem.text + + assert current_essay_content != next_essay_content + finally: + driver.quit() diff --git a/app/test/test_login.py b/app/test/test_login.py index 88d08f4..40cd638 100644 --- a/app/test/test_login.py +++ b/app/test/test_login.py @@ -13,49 +13,50 @@ HOME_PAGE = 'http://121.4.94.30:91/' def test_login(): - driver.get(HOME_PAGE) - driver.save_screenshot('./app/test/test_login_pic0.png') + try: + driver.get(HOME_PAGE) + driver.save_screenshot('./app/test/test_login_pic0.png') + + assert 'English Pal -' in driver.page_source - 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_link_text('成为会员') + elem.click() - elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到注册按钮 - elem.click() - - driver.save_screenshot('./app/test/test_login_pic2.png') + uname = ''.join ( [random.choice (string.ascii_letters) for x in range (8)] ) + elem = driver.find_element_by_name('username') + elem.send_keys(uname) - assert '恭喜,你已成功注册' in driver.page_source - assert uname in driver.page_source - - # logout - driver.get(HOME_PAGE + 'logout') - driver.save_screenshot('./app/test/test_login_pic3.png') + elem = driver.find_element_by_name('password') + elem.send_keys('iamc00l!') - # 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!') + driver.save_screenshot('./app/test/test_login_pic1.png') + + elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到注册按钮 + elem.click() - 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 - - driver.quit() + driver.save_screenshot('./app/test/test_login_pic2.png') + + assert '恭喜,你已成功注册' in driver.page_source + assert uname in driver.page_source + + # logout + driver.get(HOME_PAGE + 'logout') + 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 + finally: + driver.quit() diff --git a/app/test/test_next_essay.py b/app/test/test_next_essay.py index c34f540..f4ceba6 100644 --- a/app/test/test_next_essay.py +++ b/app/test/test_next_essay.py @@ -13,45 +13,46 @@ HOME_PAGE = 'http://121.4.94.30:91/' def test_next(): - driver.get(HOME_PAGE) - 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_next_essay_pic0.png') - elem = driver.find_element_by_id('text-content') - essay_content = elem.text - - # click Next - differ = 0 - for i in range(3): - elem = driver.find_element_by_xpath('//form[1]/input[1]') + # 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() - driver.save_screenshot('./app/test/test_next_essay_pic1.png') + + assert 'EnglishPal Study Room for ' + uname in driver.title + + # get essay content + driver.save_screenshot('./app/test/test_next_essay_pic0.png') elem = driver.find_element_by_id('text-content') - current_essay_content = elem.text - - if current_essay_content != essay_content: - diff = 1 - break - - assert diff == 1 - - driver.quit() + essay_content = elem.text + + # click Next + differ = 0 + for i in range(3): + elem = driver.find_element_by_xpath('//form[1]/input[1]') + elem.click() + driver.save_screenshot('./app/test/test_next_essay_pic1.png') + elem = driver.find_element_by_id('text-content') + current_essay_content = elem.text + + if current_essay_content != essay_content: + diff = 1 + break + + assert diff == 1 + finally: + driver.quit() diff --git a/app/test/test_signup.py b/app/test/test_signup.py index 867ca53..1a5dad9 100644 --- a/app/test/test_signup.py +++ b/app/test/test_signup.py @@ -13,31 +13,32 @@ HOME_PAGE = 'http://121.4.94.30:91/' def test_signup(): - driver.get(HOME_PAGE) - driver.save_screenshot('test_signup_pic0.png') + try: + driver.get(HOME_PAGE) + driver.save_screenshot('test_signup_pic0.png') + + assert 'English Pal -' in driver.page_source - 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('test_signup_pic1.png') + elem = driver.find_element_by_link_text('成为会员') + elem.click() - elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮 - elem.click() - - driver.save_screenshot('test_signup_pic2.png') + uname = ''.join ( [random.choice (string.ascii_letters) for x in range (8)] ) + elem = driver.find_element_by_name('username') + elem.send_keys(uname) - assert '恭喜,你已成功注册' in driver.page_source - assert uname in driver.page_source - - driver.quit() + elem = driver.find_element_by_name('password') + elem.send_keys('iamc00l!') + + driver.save_screenshot('test_signup_pic1.png') + + elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮 + elem.click() + + driver.save_screenshot('test_signup_pic2.png') + + assert '恭喜,你已成功注册' in driver.page_source + assert uname in driver.page_source + finally: + driver.quit() |