diff options
Diffstat (limited to 'app/test')
| -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() | 
