forked from mrlan/EnglishPal
				
			Fix Text Files
							parent
							
								
									e8fbccdcf7
								
							
						
					
					
						commit
						426d131f64
					
				|  | @ -15,6 +15,10 @@ | ||||||
|             alert('输入不能为空!'); |             alert('输入不能为空!'); | ||||||
|             return false; |             return false; | ||||||
|         } |         } | ||||||
|  |         if (password.includes(' ')) { | ||||||
|  |             alert('输入不能包含空格!'); | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|         $.post( |         $.post( | ||||||
|             "/login", {'username': username, 'password': password}, |             "/login", {'username': username, 'password': password}, | ||||||
|             function (response) { |             function (response) { | ||||||
|  |  | ||||||
|  | @ -20,6 +20,10 @@ | ||||||
|                 alert('密码过于简单。(密码长度至少4位)'); |                 alert('密码过于简单。(密码长度至少4位)'); | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|  |     	    if (old_password.includes(' ') || new_password.includes(' ')) { | ||||||
|  |         	alert('输入不能包含空格!'); | ||||||
|  |         	return false; | ||||||
|  |     	    } | ||||||
|             $.post("/reset", {'old-password': old_password, 'new-password': new_password}, |             $.post("/reset", {'old-password': old_password, 'new-password': new_password}, | ||||||
|                 function (response) { |                 function (response) { | ||||||
|                     if (response.status === '1') { |                     if (response.status === '1') { | ||||||
|  |  | ||||||
|  | @ -24,6 +24,10 @@ You're logged in already! <a href="/logout">Logout</a>. | ||||||
|                 alert('密码过于简单。(密码长度至少4位)'); |                 alert('密码过于简单。(密码长度至少4位)'); | ||||||
|                 return false; |                 return false; | ||||||
|             } |             } | ||||||
|  | 	    if (password.includes(' ') || password2.includes(' ')) { | ||||||
|  |         	alert('输入不能包含空格!'); | ||||||
|  |         	return false; | ||||||
|  |     	    } | ||||||
|             $.post("/signup", {'username': username, 'password': password}, |             $.post("/signup", {'username': username, 'password': password}, | ||||||
|                 function (response) { |                 function (response) { | ||||||
|                     if (response.status === '0') { |                     if (response.status === '0') { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,107 @@ | ||||||
|  | import pytest | ||||||
|  | from selenium import webdriver | ||||||
|  | from selenium.webdriver.common.by import By | ||||||
|  | from selenium.webdriver.common.keys import Keys | ||||||
|  | from selenium.webdriver.support.ui import WebDriverWait | ||||||
|  | from selenium.webdriver.support import expected_conditions as EC | ||||||
|  | from selenium.common.exceptions import NoSuchElementException, TimeoutException | ||||||
|  | 
 | ||||||
|  | # 使用 Pytest 的 fixture 初始化 WebDriver 和 URL | ||||||
|  | @pytest.fixture(scope="module") | ||||||
|  | def driver(): | ||||||
|  |     # 初始化WebDriver | ||||||
|  |     driver = webdriver.Edge(executable_path=r'D:\codeapp\python-3.8.5\Lib\site-packages\selenium\webdriver\edge\MicrosoftWebDriver.exe') | ||||||
|  |     driver.implicitly_wait(10) | ||||||
|  |     yield driver  # yield 语句之后的代码在测试用例执行完毕后运行 | ||||||
|  |     driver.quit()  # 测试用例执行完毕后关闭 WebDriver | ||||||
|  | 
 | ||||||
|  | @pytest.fixture(scope="module") | ||||||
|  | def URL(): | ||||||
|  |     return 'http://127.0.0.1:5000' | ||||||
|  | 
 | ||||||
|  | # 测试登录页面输入密码包含空格的情况 | ||||||
|  | def test_login_password_with_space(driver, URL): | ||||||
|  |     try: | ||||||
|  |         driver.get(URL+"/login") | ||||||
|  | 
 | ||||||
|  |         # 输入用户名 | ||||||
|  |         username_elem = driver.find_element_by_id('username') | ||||||
|  |         username_elem.send_keys("test_user") | ||||||
|  | 
 | ||||||
|  |         # 输入包含空格的密码 | ||||||
|  |         password_elem = driver.find_element_by_id('password') | ||||||
|  |         password_elem.send_keys("password with space") | ||||||
|  | 
 | ||||||
|  |         # 提交登录表单 | ||||||
|  |         elem = driver.find_element_by_class_name('btn')  # 找到提交按钮 | ||||||
|  |         elem.click() | ||||||
|  | 
 | ||||||
|  |         # 显式等待直到警告框出现 | ||||||
|  |         WebDriverWait(driver, 10).until(EC.alert_is_present()) | ||||||
|  | 
 | ||||||
|  |         # 检查是否弹出警告框 | ||||||
|  |         alert = driver.switch_to.alert | ||||||
|  |         assert "输入不能包含空格!" in alert.text | ||||||
|  |     except (NoSuchElementException, TimeoutException) as e: | ||||||
|  |         pytest.fail("页面元素未找到或超时: {}".format(e)) | ||||||
|  |      | ||||||
|  | 
 | ||||||
|  | # 测试注册页面输入密码包含空格的情况 | ||||||
|  | 
 | ||||||
|  | def test_signup_password_with_space(driver, URL): | ||||||
|  |     try: | ||||||
|  |         driver.get(URL+"/signup") | ||||||
|  | 
 | ||||||
|  |         # 输入用户名 | ||||||
|  |         username_elem = driver.find_element_by_id('username') | ||||||
|  |         username_elem.send_keys("new_user") | ||||||
|  | 
 | ||||||
|  |         # 输入包含空格的密码 | ||||||
|  |         password_elem = driver.find_element_by_id('password') | ||||||
|  |         password_elem.send_keys("password with space") | ||||||
|  | 
 | ||||||
|  |         # 再次输入密码 | ||||||
|  |         password2_elem = driver.find_element_by_id('password2') | ||||||
|  |         password2_elem.send_keys("password with space") | ||||||
|  | 
 | ||||||
|  |         # 提交注册表单 | ||||||
|  |         elem = driver.find_element_by_class_name('btn')  # 找到提交按钮 | ||||||
|  |         elem.click() | ||||||
|  | 
 | ||||||
|  |         # 显式等待直到警告框出现 | ||||||
|  |         WebDriverWait(driver, 10).until(EC.alert_is_present()) | ||||||
|  | 
 | ||||||
|  |         # 检查是否弹出警告框 | ||||||
|  |         alert = driver.switch_to.alert | ||||||
|  |         assert "输入不能包含空格!" in alert.text | ||||||
|  |     except (NoSuchElementException, TimeoutException) as e: | ||||||
|  |         pytest.fail("页面元素未找到或超时: {}".format(e)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # 测试重设密码页面输入新密码包含空格的情况 | ||||||
|  | 
 | ||||||
|  | def test_reset_password_with_space(driver, URL): | ||||||
|  |     try: | ||||||
|  |         driver.get(URL+"/reset") | ||||||
|  | 
 | ||||||
|  |         # 输入用户名 | ||||||
|  |         username_elem = driver.find_element_by_id('username') | ||||||
|  |         username_elem.send_keys("test_user") | ||||||
|  | 
 | ||||||
|  |         # 输入包含空格的密码 | ||||||
|  |         password_elem = driver.find_element_by_id('password') | ||||||
|  |         password_elem.send_keys("password with space") | ||||||
|  | 
 | ||||||
|  |         # 提交重设密码表单 | ||||||
|  |         elem = driver.find_element_by_class_name('btn')  # 找到提交按钮 | ||||||
|  |         elem.click() | ||||||
|  | 
 | ||||||
|  |         # 显式等待直到警告框出现 | ||||||
|  |         WebDriverWait(driver, 10).until(EC.alert_is_present()) | ||||||
|  | 
 | ||||||
|  |         # 检查是否弹出警告框 | ||||||
|  |         alert = driver.switch_to.alert | ||||||
|  |         assert "输入不能包含空格!" in alert.text | ||||||
|  |     except (NoSuchElementException, TimeoutException) as e: | ||||||
|  |         pytest.fail("页面元素未找到或超时: {}".format(e)) | ||||||
		Loading…
	
		Reference in New Issue