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