89 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
		
		
			
		
	
	
			89 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
| 
								 | 
							
								from selenium.webdriver.common.alert import Alert
							 | 
						||
| 
								 | 
							
								from selenium.webdriver.common.by import By
							 | 
						||
| 
								 | 
							
								from selenium.webdriver.support.ui import WebDriverWait
							 | 
						||
| 
								 | 
							
								from selenium.webdriver.support import expected_conditions as EC
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 对用户名不能为中文进行测试
							 | 
						||
| 
								 | 
							
								def test_register_username_with_chinese(driver, URL):
							 | 
						||
| 
								 | 
							
								    try:
							 | 
						||
| 
								 | 
							
								        driver.get(URL + "/signup")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待用户名输入框出现
							 | 
						||
| 
								 | 
							
								        username_elem = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.presence_of_element_located((By.ID, 'username'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        username_elem.send_keys("测试用户")  # 输入中文用户名
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待密码输入框出现
							 | 
						||
| 
								 | 
							
								        password_elem = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.presence_of_element_located((By.ID, 'password'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        password_elem.send_keys("validPassword123")  # 输入有效密码
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待确认密码输入框出现
							 | 
						||
| 
								 | 
							
								        password2_elem = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.presence_of_element_located((By.ID, 'password2'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        password2_elem.send_keys("validPassword123")  # 输入有效确认密码
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待注册按钮出现并点击
							 | 
						||
| 
								 | 
							
								        signup_button = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.element_to_be_clickable((By.XPATH, '//button[@onclick="signup()"]'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        signup_button.click()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待警告框出现并接受
							 | 
						||
| 
								 | 
							
								        WebDriverWait(driver, 10).until(EC.alert_is_present())
							 | 
						||
| 
								 | 
							
								        alert = driver.switch_to.alert
							 | 
						||
| 
								 | 
							
								        alert_text = alert.text
							 | 
						||
| 
								 | 
							
								        print(f"警告文本: {alert_text}")
							 | 
						||
| 
								 | 
							
								        assert alert_text == "Chinese characters are not allowed in the user name."  # 根据实际的警告文本进行断言
							 | 
						||
| 
								 | 
							
								        alert.accept()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    except Exception as e:
							 | 
						||
| 
								 | 
							
								        print(f"发生错误: {e}")
							 | 
						||
| 
								 | 
							
								        raise
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 对注册时密码不能是中文进行测试
							 | 
						||
| 
								 | 
							
								def test_register_password_with_chinese(driver, URL):
							 | 
						||
| 
								 | 
							
								    try:
							 | 
						||
| 
								 | 
							
								        driver.get(URL + "/signup")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待用户名输入框出现
							 | 
						||
| 
								 | 
							
								        username_elem = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.presence_of_element_located((By.ID, 'username'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        username_elem.send_keys("validUsername123")  # 输入有效用户名
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待密码输入框出现
							 | 
						||
| 
								 | 
							
								        password_elem = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.presence_of_element_located((By.ID, 'password'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        password_elem.send_keys("测试密码")  # 输入中文密码
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待确认密码输入框出现
							 | 
						||
| 
								 | 
							
								        password2_elem = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.presence_of_element_located((By.ID, 'password2'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        password2_elem.send_keys("测试密码")  # 输入中文确认密码
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待注册按钮出现并点击
							 | 
						||
| 
								 | 
							
								        signup_button = WebDriverWait(driver, 10).until(
							 | 
						||
| 
								 | 
							
								            EC.element_to_be_clickable((By.XPATH, '//button[@onclick="signup()"]'))
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        signup_button.click()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        # 等待警告框出现并接受
							 | 
						||
| 
								 | 
							
								        WebDriverWait(driver, 10).until(EC.alert_is_present())
							 | 
						||
| 
								 | 
							
								        alert = driver.switch_to.alert
							 | 
						||
| 
								 | 
							
								        alert_text = alert.text
							 | 
						||
| 
								 | 
							
								        print(f"警告文本: {alert_text}")
							 | 
						||
| 
								 | 
							
								        assert alert_text == "Chinese characters are not allowed in the password."  # 根据实际的警告文本进行断言
							 | 
						||
| 
								 | 
							
								        alert.accept()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    except Exception as e:
							 | 
						||
| 
								 | 
							
								        print(f"发生错误: {e}")
							 | 
						||
| 
								 | 
							
								        raise
							 |