test_bug553
							parent
							
								
									b8f2919959
								
							
						
					
					
						commit
						b7fe68c54d
					
				|  | @ -0,0 +1,81 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # Run the docker image using the following command: | ||||||
|  | # docker run -d -p 4444:4444 selenium/standalone-chrome | ||||||
|  | from selenium import webdriver | ||||||
|  | from selenium.webdriver.common.desired_capabilities import DesiredCapabilities | ||||||
|  | from selenium.webdriver.support import expected_conditions as EC | ||||||
|  | from selenium import webdriver | ||||||
|  | from selenium.webdriver.support.wait import WebDriverWait | ||||||
|  | from selenium.webdriver.common.by import By | ||||||
|  | from webdriver_manager.chrome import ChromeDriverManager | ||||||
|  | from selenium.webdriver.common.keys import Keys | ||||||
|  | import logging | ||||||
|  | import json | ||||||
|  | import os | ||||||
|  | import time | ||||||
|  | 
 | ||||||
|  | # driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX) | ||||||
|  | # HOME_PAGE = 'http://121.4.94.30:91/' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # 我使用的是Chrome浏览器,所以我又通过安装webdriver-manager插件来配置浏览器的驱动 | ||||||
|  | # 我通过 'pip install webdriver-manager==4.00' 命令安装webdriver-manager,并且设置其版本为4.00 | ||||||
|  | driver = webdriver.Chrome(ChromeDriverManager().install()) | ||||||
|  | HOME_PAGE = 'http://127.0.0.1:5000/' | ||||||
|  | driver.implicitly_wait(10) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # 加载存有测试数据的json文件 | ||||||
|  | def load_json_file(file_path): | ||||||
|  |     # 获取当前所在文件的目录 | ||||||
|  |     dir_path = os.path.dirname(os.path.abspath(__file__)) | ||||||
|  |     # 将目录路径和文件名进行拼接,获取最终的文件路径 | ||||||
|  |     file_path = dir_path+"\\"+file_path | ||||||
|  |     # 加载文件 | ||||||
|  |     with open(file_path,encoding='utf-8') as f: | ||||||
|  |         data = json.load(f) | ||||||
|  |     return data | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def test_bug553_LinShan(): | ||||||
|  |     try: | ||||||
|  |         # 打开对应地址的网页 | ||||||
|  |         driver.get(HOME_PAGE) | ||||||
|  | 
 | ||||||
|  |         # 浏览器最大窗口化 | ||||||
|  |         driver.maximize_window() | ||||||
|  | 
 | ||||||
|  |         # 判断网页源代码中是否有English Pal -文字 | ||||||
|  |         assert 'English Pal -' in driver.page_source | ||||||
|  | 
 | ||||||
|  |         # 获取json格式的测试数据 | ||||||
|  |         words = load_json_file("test_file.json") | ||||||
|  | 
 | ||||||
|  |         # 遍历测试的数据 | ||||||
|  |         for word in words: | ||||||
|  |             # 将测试的数据输入到主页的textarea里 | ||||||
|  |             driver.find_element_by_xpath("//textarea[@name='content']").send_keys(Keys.CONTROL, "a") | ||||||
|  |             driver.find_element_by_xpath("//textarea[@name='content']").send_keys(word['key']) | ||||||
|  |             time.sleep(2) | ||||||
|  | 
 | ||||||
|  |             # 点击按钮获取单词 | ||||||
|  |             driver.find_element_by_xpath("//input[@value='get文章中的词频']").click() | ||||||
|  |             time.sleep(2) | ||||||
|  | 
 | ||||||
|  |             # 获取筛选后的单词 | ||||||
|  |             get_words = driver.find_elements_by_xpath("//p/a") | ||||||
|  | 
 | ||||||
|  |             # 遍历获取到的单词,并判断单词与预期的相同 | ||||||
|  |             for w in get_words: | ||||||
|  |                 # 判断单词是否在预期结果中 | ||||||
|  |                 assert w.text in word['value'] | ||||||
|  |              | ||||||
|  |             # 返回上一页网页 | ||||||
|  |             driver.find_element_by_xpath("//input[@value='确定并返回']").click() | ||||||
|  |             time.sleep(2) | ||||||
|  |     except Exception as e: | ||||||
|  |         # 输出异常信息 | ||||||
|  |         logging.error(e) | ||||||
|  |     finally: | ||||||
|  |         # 关闭浏览器 | ||||||
|  |         driver.quit() | ||||||
|  | @ -0,0 +1,30 @@ | ||||||
|  | [ | ||||||
|  |     { | ||||||
|  |         "key":"‘test1’", | ||||||
|  |         "value": ["test1"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "key":"'test2'", | ||||||
|  |         "value": ["test2"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "key":"“test3”", | ||||||
|  |         "value": ["test3"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "key":"it's", | ||||||
|  |         "value": ["it's"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "key":"hello,I'm linshan", | ||||||
|  |         "value": ["hello","i'm","linshan"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "key":"Happy New Year!?", | ||||||
|  |         "value": ["happy","new","year"] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "key":"My favorite book is 《Harry Potter》。", | ||||||
|  |         "value":["potter","harry","my","favorite","book","is"] | ||||||
|  |     } | ||||||
|  | ] | ||||||
		Loading…
	
		Reference in New Issue