0
0
Fork 0

测试文件也进行了修改,为了避免选择的单词出现空格的情况,增加了一个判断,若选中空格,则更换文章再次选择,这样总会选择到非空格的单词。

Bug545-HuangHuiLing
1994836463@qq.com 2024-05-26 11:27:15 +08:00
parent 9537024339
commit 64a82bee22
1 changed files with 33 additions and 38 deletions

View File

@ -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: