refactor(backend): 重命名后端项目为 gym-manage-api,修改包名为 cn.novalon.gym.manage
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
"""
|
||||
E2E登录功能测试
|
||||
使用Playwright测试登录流程
|
||||
"""
|
||||
|
||||
from playwright.sync_api import sync_playwright
|
||||
import time
|
||||
|
||||
def test_login():
|
||||
"""测试登录功能"""
|
||||
with sync_playwright() as p:
|
||||
browser = p.chromium.launch(headless=True)
|
||||
context = browser.new_context()
|
||||
page = context.new_page()
|
||||
|
||||
try:
|
||||
print("1. 访问登录页面...")
|
||||
page.goto('http://localhost:3002')
|
||||
page.wait_for_load_state('networkidle')
|
||||
time.sleep(2)
|
||||
|
||||
print("2. 检查页面标题...")
|
||||
title = page.title()
|
||||
print(f" 页面标题: {title}")
|
||||
|
||||
print("3. 截图保存当前页面...")
|
||||
page.screenshot(path='/tmp/login_page.png', full_page=True)
|
||||
print(" 截图已保存到 /tmp/login_page.png")
|
||||
|
||||
print("4. 查找登录表单...")
|
||||
username_input = page.locator('input[type="text"], input[placeholder*="用户名"], input[placeholder*="账号"]').first
|
||||
password_input = page.locator('input[type="password"]').first
|
||||
login_button = page.locator('button:has-text("登录"), button:has-text("Login")').first
|
||||
|
||||
if username_input.count() == 0:
|
||||
print(" 未找到用户名输入框,尝试其他选择器...")
|
||||
username_input = page.locator('input').nth(0)
|
||||
|
||||
if password_input.count() == 0:
|
||||
print(" 未找到密码输入框,尝试其他选择器...")
|
||||
password_input = page.locator('input').nth(1)
|
||||
|
||||
print("5. 填写登录信息...")
|
||||
username_input.fill('admin')
|
||||
print(" 用户名: admin")
|
||||
|
||||
password_input.fill('admin123')
|
||||
print(" 密码: admin123")
|
||||
|
||||
print("6. 点击登录按钮...")
|
||||
login_button.click()
|
||||
|
||||
print("7. 等待登录响应...")
|
||||
time.sleep(3)
|
||||
page.wait_for_load_state('networkidle')
|
||||
|
||||
print("8. 检查登录结果...")
|
||||
current_url = page.url
|
||||
print(f" 当前URL: {current_url}")
|
||||
|
||||
page.screenshot(path='/tmp/login_result.png', full_page=True)
|
||||
print(" 登录结果截图已保存到 /tmp/login_result.png")
|
||||
|
||||
if 'dashboard' in current_url.lower() or 'home' in current_url.lower():
|
||||
print("✅ 登录成功!已跳转到主页")
|
||||
return True
|
||||
elif 'login' not in current_url.lower():
|
||||
print("✅ 登录成功!已跳转离开登录页")
|
||||
return True
|
||||
else:
|
||||
print("❌ 登录可能失败,仍在登录页")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 测试过程中出现错误: {str(e)}")
|
||||
page.screenshot(path='/tmp/login_error.png', full_page=True)
|
||||
print(" 错误截图已保存到 /tmp/login_error.png")
|
||||
return False
|
||||
finally:
|
||||
browser.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("=" * 60)
|
||||
print("E2E登录功能测试")
|
||||
print("=" * 60)
|
||||
|
||||
success = test_login()
|
||||
|
||||
print("=" * 60)
|
||||
if success:
|
||||
print("测试结果: ✅ 通过")
|
||||
else:
|
||||
print("测试结果: ❌ 失败")
|
||||
print("=" * 60)
|
||||
Reference in New Issue
Block a user