diff options
author | Hui Lan <lanhui@zjnu.edu.cn> | 2021-07-13 11:56:07 +0800 |
---|---|---|
committer | Hui Lan <lanhui@zjnu.edu.cn> | 2021-07-13 11:56:07 +0800 |
commit | 623b5ab3663277bb16db330a282dc21f2f578c8b (patch) | |
tree | 4801d7b09eb1ae22761a60b3e390037f756d0288 /app | |
parent | 1fe3481e4aa13e0e3ddef5b03978c6d44c6dc5d7 (diff) |
Add app/test/test_page_position.py made by group SPM-Spring2021-2597-占健豪201831990539
Diffstat (limited to 'app')
-rw-r--r-- | app/test/test_page_position.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/app/test/test_page_position.py b/app/test/test_page_position.py new file mode 100644 index 0000000..21a6722 --- /dev/null +++ b/app/test/test_page_position.py @@ -0,0 +1,59 @@ +""" +Click the Familiar or Unfamiliar button. Specifically, we plan to make the following improvements: +Click the Familiar or Unfamiliar button (current word frequency>1), the current word position is displayed at the top of the page; +Click the Familiar or Unfamiliar button (current word frequency is 1), and the page will be displayed as the top of the entire page. +""" +from random import randint + +from selenium import webdriver +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities + +driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.CHROME) +driver.implicitly_wait(10) + +HOME_PAGE = 'http://121.4.94.30:91/' + + +def click_by_random(text): + elements = driver.find_elements_by_link_text(text) # 点击单词表中的第一个单词的熟悉按钮 + elements[randint(0, len(elements) - 1)].click() + try: + location = driver.find_element_by_xpath('//a[@name="aaa"]').location # 点击后单词次数≥1 + roll_height = get_scrollTop() # 获取滚动条的位置 + assert int(location['y'] - roll_height) == 0 # 差值小于1 + except NoSuchElementException: # 点击后单词消失,scrollTop=0,页面回到最上面 + roll_height = get_scrollTop() + assert roll_height == 0 + + +def get_scrollTop(): + js = 'var h = document.body.scrollTop;' + 'return h' + roll_height = driver.execute_script(js) + return roll_height + + +def test_page_position(): + try: + driver.get(HOME_PAGE) + # login + driver.find_element_by_link_text('登录').click() + + uname = 'lanhui' + password = 'l0ve1t' + driver.find_element_by_name('username').send_keys(uname) + driver.find_element_by_name('password').send_keys(password) + + driver.find_element_by_xpath('//form[1]/p[3]/input[1]').click() # 找到登录按钮 + + # 这里随机测试三个单词,点击熟悉 + click_by_random('熟悉') + click_by_random('熟悉') + click_by_random('熟悉') + # 这里随机测试三个单词,点击不熟悉 + click_by_random('不熟悉') + click_by_random('不熟悉') + click_by_random('不熟悉') + + finally: + driver.quit() |