forked from mrlan/EnglishPal
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"]
|
||||
}
|
||||
]
|
|
@ -106,7 +106,7 @@ if __name__ == '__main__':
|
|||
print('%s\t%d\t%s' % (x[0], x[1], youdao_link(x[0])))#函数导出
|
||||
|
||||
# 把频率的结果放result.html中
|
||||
make_html_page(sort_in_descending_order(L), 'result.html')
|
||||
make_html_page(sort_in_descending_order(L), 'result.html')
|
||||
|
||||
print('\nHistory:\n')
|
||||
if os.path.exists('frequency.p'):
|
||||
|
|
Loading…
Reference in New Issue