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