| 12345678910111213141516171819202122232425262728293031323334353637 |
- """
- Debug login flow with console log capture.
- """
- from playwright.sync_api import sync_playwright
- BASE_URL = "http://localhost:80"
- with sync_playwright() as p:
- browser = p.chromium.launch(headless=True)
- page = browser.new_page(viewport={"width": 1440, "height": 900})
- console_msgs = []
- page.on("console", lambda msg: console_msgs.append(f"[{msg.type}] {msg.text}"))
- page.goto(f"{BASE_URL}/login", wait_until="networkidle", timeout=30000)
- page.wait_for_timeout(1000)
- page.locator('input[placeholder="用户名"]').fill("admin")
- page.locator('input[placeholder="密码"]').fill("admin123")
- page.locator('button:has-text("登")').click()
- page.wait_for_timeout(8000)
- print(f"URL after login click: {page.url}")
- page.screenshot(path="/tmp/crm-e2e-screenshots/login-after-click.png")
- errors = [m for m in console_msgs if "error" in m.lower() or "fail" in m.lower()]
- print(f"\nConsole errors ({len(errors)}):")
- for e in errors[:20]:
- print(f" {e[:200]}")
- print(f"\nAll console ({len(console_msgs)}):")
- for m in console_msgs[:30]:
- print(f" {m[:200]}")
- browser.close()
|