Fix Text Files
							parent
							
								
									e8fbccdcf7
								
							
						
					
					
						commit
						426d131f64
					
				| 
						 | 
				
			
			@ -15,6 +15,10 @@
 | 
			
		|||
            alert('输入不能为空!');
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
        if (password.includes(' ')) {
 | 
			
		||||
            alert('输入不能包含空格!');
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
        $.post(
 | 
			
		||||
            "/login", {'username': username, 'password': password},
 | 
			
		||||
            function (response) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,10 @@
 | 
			
		|||
                alert('密码过于简单。(密码长度至少4位)');
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
    	    if (old_password.includes(' ') || new_password.includes(' ')) {
 | 
			
		||||
        	alert('输入不能包含空格!');
 | 
			
		||||
        	return false;
 | 
			
		||||
    	    }
 | 
			
		||||
            $.post("/reset", {'old-password': old_password, 'new-password': new_password},
 | 
			
		||||
                function (response) {
 | 
			
		||||
                    if (response.status === '1') {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,10 @@ You're logged in already! <a href="/logout">Logout</a>.
 | 
			
		|||
                alert('密码过于简单。(密码长度至少4位)');
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
	    if (password.includes(' ') || password2.includes(' ')) {
 | 
			
		||||
        	alert('输入不能包含空格!');
 | 
			
		||||
        	return false;
 | 
			
		||||
    	    }
 | 
			
		||||
            $.post("/signup", {'username': username, 'password': password},
 | 
			
		||||
                function (response) {
 | 
			
		||||
                    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