Files
novalon-manage-system/debug_login_detailed.py
T
张翔 6392c08560 feat(api/web): 实现API请求签名验证功能并优化测试环境配置
refactor(db): 重构查询条件类到query目录下

test: 添加登录流程测试脚本和测试数据

chore: 添加crypto-js依赖用于签名验证

ci: 配置测试环境数据库和端口设置
2026-04-02 08:07:53 +08:00

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()