2021-06-17 09:21:13 +08:00
|
|
|
|
"""
|
|
|
|
|
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
|
|
|
|
|
|
2021-07-14 17:50:38 +08:00
|
|
|
|
driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX)
|
2021-06-17 09:21:13 +08:00
|
|
|
|
driver.implicitly_wait(10)
|
|
|
|
|
|
|
|
|
|
HOME_PAGE = 'http://121.4.94.30:91/'
|
|
|
|
|
|
|
|
|
|
|
2021-06-17 09:51:53 +08:00
|
|
|
|
def click_by_random(text):
|
2021-06-17 09:21:13 +08:00
|
|
|
|
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() # 获取滚动条的位置
|
2021-06-17 09:41:33 +08:00
|
|
|
|
assert int(location['y'] - roll_height) == 0 # 差值小于1
|
2021-06-17 09:21:13 +08:00
|
|
|
|
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() # 找到登录按钮
|
|
|
|
|
|
2021-07-14 18:50:34 +08:00
|
|
|
|
|
2021-06-17 09:21:13 +08:00
|
|
|
|
# 这里随机测试三个单词,点击不熟悉
|
2021-06-17 09:51:53 +08:00
|
|
|
|
click_by_random('不熟悉')
|
|
|
|
|
click_by_random('不熟悉')
|
|
|
|
|
click_by_random('不熟悉')
|
2021-07-14 18:50:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 这里随机测试三个单词,点击熟悉
|
|
|
|
|
click_by_random('熟悉')
|
|
|
|
|
click_by_random('熟悉')
|
|
|
|
|
click_by_random('熟悉')
|
2021-06-17 09:21:13 +08:00
|
|
|
|
|
|
|
|
|
finally:
|
|
|
|
|
driver.quit()
|