diff --git a/app/test/test_bug545_HuangHuiLing.py b/app/test/test_bug545_HuangHuiLing.py index 4b80afa..4ebc504 100644 --- a/app/test/test_bug545_HuangHuiLing.py +++ b/app/test/test_bug545_HuangHuiLing.py @@ -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: