6392c08560
refactor(db): 重构查询条件类到query目录下 test: 添加登录流程测试脚本和测试数据 chore: 添加crypto-js依赖用于签名验证 ci: 配置测试环境数据库和端口设置
55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
详细检查登录流程
|
|
"""
|
|
|
|
from playwright.sync_api import sync_playwright
|
|
import time
|
|
|
|
with sync_playwright() as p:
|
|
browser = p.chromium.launch(headless=True)
|
|
page = browser.new_page()
|
|
|
|
# 监听控制台消息
|
|
console_messages = []
|
|
page.on('console', lambda msg: console_messages.append(f"{msg.type}: {msg.text}"))
|
|
|
|
# 访问登录页面
|
|
page.goto("http://localhost:3002/login")
|
|
page.wait_for_load_state("networkidle")
|
|
|
|
print("当前URL:", page.url)
|
|
print("\n尝试登录...")
|
|
|
|
# 填写表单
|
|
page.fill('input[placeholder="请输入用户名"]', 'admin')
|
|
page.fill('input[placeholder="请输入密码"]', 'admin123')
|
|
|
|
# 点击登录
|
|
page.click('button:has-text("登录")')
|
|
print("点击登录按钮")
|
|
|
|
# 等待并检查URL变化
|
|
for i in range(10):
|
|
time.sleep(1)
|
|
current_url = page.url
|
|
print(f" {i+1}秒后URL: {current_url}")
|
|
|
|
if '/login' not in current_url:
|
|
print(f"\n✅ 登录成功!跳转到: {current_url}")
|
|
break
|
|
|
|
# 检查localStorage
|
|
token = page.evaluate("localStorage.getItem('token')")
|
|
print(f"\nToken: {token[:50] if token else 'None'}...")
|
|
|
|
# 打印控制台消息
|
|
print("\n控制台消息:")
|
|
for msg in console_messages[-20:]:
|
|
print(f" {msg}")
|
|
|
|
# 截图
|
|
page.screenshot(path="/tmp/login_final.png")
|
|
|
|
browser.close()
|