forked from mrlan/EnglishPal
Merge branch 'Bug553_LinShan' of http://118.25.96.118:3000/mrlan/EnglishPal into Bug553_LinShan
commit
230e8e92dc
|
@ -2,7 +2,7 @@
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Title</title>
|
<title>单词词频</title>
|
||||||
|
|
||||||
{{ yml['header'] | safe }}
|
{{ yml['header'] | safe }}
|
||||||
{% if yml['css']['item'] %}
|
{% if yml['css']['item'] %}
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
# -*- 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 time
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("test_input",("‘test1’","'test2'","“test3”","it's","hello,I'm linshan","Happy New Year!?","My favorite book is 《Harry Potter》。"))
|
||||||
|
@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):
|
||||||
|
try:
|
||||||
|
# 打开对应地址的网页
|
||||||
|
driver.get(HOME_PAGE)
|
||||||
|
|
||||||
|
# 浏览器最大窗口化
|
||||||
|
driver.maximize_window()
|
||||||
|
|
||||||
|
# 判断网页源代码中是否有English Pal -文字
|
||||||
|
assert 'English Pal -' in driver.page_source
|
||||||
|
|
||||||
|
# 将测试的数据输入到主页的textarea里
|
||||||
|
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:
|
||||||
|
# 判断单词是否在预期结果中
|
||||||
|
assert word.text in expected
|
||||||
|
|
||||||
|
# 返回上一页网页
|
||||||
|
driver.find_element_by_xpath("//input[@value='确定并返回']").click()
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
# 输出异常信息
|
||||||
|
logging.error(e)
|
||||||
|
# 关闭浏览器
|
||||||
|
finally:
|
||||||
|
driver.quit()
|
|
@ -4,6 +4,7 @@
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
|
import html
|
||||||
import string
|
import string
|
||||||
import operator
|
import operator
|
||||||
import os, sys # 引入模块sys,因为我要用里面的sys.argv列表中的信息来读取命令行参数。
|
import os, sys # 引入模块sys,因为我要用里面的sys.argv列表中的信息来读取命令行参数。
|
||||||
|
@ -39,7 +40,8 @@ def file2str(fname):#文件转字符
|
||||||
|
|
||||||
|
|
||||||
def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用时才给s赋值。
|
def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用时才给s赋值。
|
||||||
special_characters = '\_©~<=>+/[]*&$%^@.,?!:;#()"“”—‘’{}|' # 把里面的字符都去掉
|
special_characters = '\_©~<=>+/[]*&$%^@.,?!:;#()"“”—‘’{}|,。?!¥……()、《》:;·' # 把里面的字符都去掉
|
||||||
|
s = html.unescape(s) # 将HTML实体转换为对应的字符,比如<会被识别为小于号
|
||||||
for c in special_characters:
|
for c in special_characters:
|
||||||
s = s.replace(c, ' ') # 防止出现把 apple,apple 移掉逗号后变成 appleapple 情况
|
s = s.replace(c, ' ') # 防止出现把 apple,apple 移掉逗号后变成 appleapple 情况
|
||||||
s = s.replace('--', ' ')
|
s = s.replace('--', ' ')
|
||||||
|
|
Loading…
Reference in New Issue