forked from mrlan/EnglishPal
Fix Bug553
parent
b7fe68c54d
commit
768c81828d
|
@ -10,9 +10,8 @@ from selenium.webdriver.common.by import By
|
||||||
from webdriver_manager.chrome import ChromeDriverManager
|
from webdriver_manager.chrome import ChromeDriverManager
|
||||||
from selenium.webdriver.common.keys import Keys
|
from selenium.webdriver.common.keys import Keys
|
||||||
import logging
|
import logging
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import time
|
import time
|
||||||
|
import pytest
|
||||||
|
|
||||||
# driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX)
|
# driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.FIREFOX)
|
||||||
# HOME_PAGE = 'http://121.4.94.30:91/'
|
# HOME_PAGE = 'http://121.4.94.30:91/'
|
||||||
|
@ -25,19 +24,9 @@ HOME_PAGE = 'http://127.0.0.1:5000/'
|
||||||
driver.implicitly_wait(10)
|
driver.implicitly_wait(10)
|
||||||
|
|
||||||
|
|
||||||
# 加载存有测试数据的json文件
|
@pytest.mark.parametrize("test_input",("‘test1’","'test2'","“test3”","it's","hello,I'm linshan","Happy New Year!?","My favorite book is 《Harry Potter》。"))
|
||||||
def load_json_file(file_path):
|
@pytest.mark.parametrize("expected",(["test1"],["test2"],["test3"],["it's"],["hello","i'm","linshan"],["happy","new","year"],["potter","harry","my","favorite","book","is"]))
|
||||||
# 获取当前所在文件的目录
|
def test_bug553_LinShan(test_input,expected):
|
||||||
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:
|
try:
|
||||||
# 打开对应地址的网页
|
# 打开对应地址的网页
|
||||||
driver.get(HOME_PAGE)
|
driver.get(HOME_PAGE)
|
||||||
|
@ -48,34 +37,30 @@ def test_bug553_LinShan():
|
||||||
# 判断网页源代码中是否有English Pal -文字
|
# 判断网页源代码中是否有English Pal -文字
|
||||||
assert 'English Pal -' in driver.page_source
|
assert 'English Pal -' in driver.page_source
|
||||||
|
|
||||||
# 获取json格式的测试数据
|
# 将测试的数据输入到主页的textarea里
|
||||||
words = load_json_file("test_file.json")
|
driver.find_element_by_xpath("//textarea[@name='content']").send_keys(Keys.CONTROL, "a")
|
||||||
|
driver.find_element_by_xpath("//textarea[@name='content']").send_keys(test_input)
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
# 遍历测试的数据
|
# 点击按钮获取单词
|
||||||
|
driver.find_element_by_xpath("//input[@value='get文章中的词频']").click()
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
# 获取筛选后的单词
|
||||||
|
words = driver.find_elements_by_xpath("//p/a")
|
||||||
|
|
||||||
|
# 遍历获取到的单词,并判断单词与预期的相同
|
||||||
for word in words:
|
for word in words:
|
||||||
# 将测试的数据输入到主页的textarea里
|
# 判断单词是否在预期结果中
|
||||||
driver.find_element_by_xpath("//textarea[@name='content']").send_keys(Keys.CONTROL, "a")
|
assert word.text in expected
|
||||||
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()
|
driver.find_element_by_xpath("//input[@value='确定并返回']").click()
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# 输出异常信息
|
# 输出异常信息
|
||||||
logging.error(e)
|
logging.error(e)
|
||||||
finally:
|
|
||||||
# 关闭浏览器
|
# 关闭浏览器
|
||||||
|
finally:
|
||||||
driver.quit()
|
driver.quit()
|
Loading…
Reference in New Issue