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"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <title>Title</title> | ||||
|     <title>单词词频</title> | ||||
| 
 | ||||
|     {{ yml['header'] | safe }} | ||||
|     {% 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 html | ||||
| import string | ||||
| import operator | ||||
| import os, sys # 引入模块sys,因为我要用里面的sys.argv列表中的信息来读取命令行参数。 | ||||
|  | @ -39,7 +40,8 @@ def file2str(fname):#文件转字符 | |||
| 
 | ||||
| 
 | ||||
| def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用时才给s赋值。 | ||||
|     special_characters = '\_©~<=>+/[]*&$%^@.,?!:;#()"“”—‘’{}|' # 把里面的字符都去掉 | ||||
|     special_characters = '\_©~<=>+/[]*&$%^@.,?!:;#()"“”—‘’{}|,。?!¥……()、《》:;·' # 把里面的字符都去掉 | ||||
|     s = html.unescape(s) # 将HTML实体转换为对应的字符,比如<会被识别为小于号 | ||||
|     for c in special_characters: | ||||
|         s = s.replace(c, ' ') # 防止出现把 apple,apple 移掉逗号后变成 appleapple 情况 | ||||
|     s = s.replace('--', ' ') | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue