forked from mrlan/EnglishPal
测试文件也进行了修改,为了避免选择的单词出现空格的情况,增加了一个判断,若选中空格,则更换文章再次选择,这样总会选择到非空格的单词。
parent
9537024339
commit
64a82bee22
|
@ -9,55 +9,50 @@ from selenium.webdriver.common.action_chains import ActionChains
|
|||
from helper import signup
|
||||
|
||||
|
||||
def select(driver):
|
||||
text_element = driver.find_element(By.ID, 'article')
|
||||
|
||||
def select_one(driver):
|
||||
question = driver.find_element(By.ID, 'question')
|
||||
# 创建ActionChains对象
|
||||
actions = ActionChains(driver)
|
||||
|
||||
# 模拟鼠标移动到文本元素上
|
||||
actions.move_to_element(text_element)
|
||||
|
||||
# 模拟鼠标按下并拖动以选择文本
|
||||
actions.click()
|
||||
actions.perform()
|
||||
time.sleep(1)
|
||||
# 找到包含要选择文字的元素
|
||||
text_element = driver.find_element(By.ID, 'article_title')
|
||||
|
||||
# 创建ActionChains对象
|
||||
actions = ActionChains(driver)
|
||||
|
||||
# 模拟鼠标移动到文本元素上
|
||||
actions.move_to_element(text_element)
|
||||
actions.move_to_element(question)
|
||||
|
||||
# 模拟鼠标按下并拖动以选择文本
|
||||
actions.double_click()
|
||||
actions.perform()
|
||||
actions.release() # 释放鼠标按钮
|
||||
|
||||
# 获取选中的文本
|
||||
return driver.find_element(By.ID, 'selected-words').get_attribute('value')
|
||||
|
||||
def select_two(driver):
|
||||
question = driver.find_element(By.ID, 'question')
|
||||
article = driver.find_element(By.ID, 'article_title')
|
||||
|
||||
# 创建ActionChains对象
|
||||
actions = ActionChains(driver)
|
||||
actions.move_to_element(article)
|
||||
actions.click()
|
||||
time.sleep(1)
|
||||
# 模拟鼠标移动到文本元素上
|
||||
actions.move_to_element(question)
|
||||
|
||||
# 模拟鼠标按下并拖动以选择文本
|
||||
actions.double_click()
|
||||
actions.perform()
|
||||
|
||||
|
||||
def test_selected_second_word(driver, URL):
|
||||
try:
|
||||
username, password = signup(URL, driver)
|
||||
# 找到包含要选择文字的元素
|
||||
text_element = driver.find_element(By.ID, 'article_title')
|
||||
|
||||
# 创建ActionChains对象
|
||||
actions = ActionChains(driver)
|
||||
|
||||
# 模拟鼠标移动到文本元素上
|
||||
actions.move_to_element(text_element)
|
||||
|
||||
# 模拟鼠标按下并拖动以选择文本
|
||||
actions.double_click()
|
||||
actions.perform()
|
||||
|
||||
# 获取选中的文本
|
||||
selected_words = driver.find_element(By.ID, 'selected-words').get_attribute('value')
|
||||
|
||||
#再次选取
|
||||
select(driver)
|
||||
time.sleep(1)
|
||||
signup(URL, driver)
|
||||
selected_words = select_one(driver);
|
||||
while selected_words.strip() == "":
|
||||
load_next_article = driver.find_element(By.ID, "load_next_article")
|
||||
action_chains = ActionChains(driver)
|
||||
action_chains.click(load_next_article).perform()
|
||||
time.sleep(1)
|
||||
selected_words = select_one(driver)
|
||||
assert selected_words.strip() != "", "选中的单词被放置框中"
|
||||
select_two(driver)
|
||||
selected_second_words = driver.find_element(By.ID, 'selected-words').get_attribute('value')
|
||||
assert selected_second_words.strip() == "", "选中的单词被删除"
|
||||
finally:
|
||||
|
|
Loading…
Reference in New Issue