from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=True) # Desktop viewport (1920x1080) page = browser.new_page(viewport={"width": 1920, "height": 1080}) page.goto('http://localhost:7860') page.wait_for_load_state('networkidle') page.wait_for_timeout(2000) # Take desktop screenshot page.screenshot(path='screenshots/desktop.png', full_page=True) print("Desktop screenshot saved") # Check page title title = page.title() print(f"Page title: {title}") # Check main elements exist buttons = page.locator('button').all() print(f"Buttons found: {len(buttons)}") # Check for input elements inputs = page.locator('input').all() print(f"Input elements found: {len(inputs)}") # Check for dropdowns dropdowns = page.locator('[role="combobox"]').all() print(f"Dropdowns found: {len(dropdowns)}") # Check for radio buttons radios = page.locator('[role="radio"]').all() print(f"Radio buttons found: {len(radios)}") # Check for sliders sliders = page.locator('input[type="range"]').all() print(f"Sliders found: {len(sliders)}") # Take mobile screenshot (375x812 - iPhone X) page.set_viewport_size({"width": 375, "height": 812}) page.wait_for_timeout(500) page.screenshot(path='screenshots/mobile.png', full_page=True) print("Mobile screenshot saved") # Take tablet screenshot (768x1024 - iPad) page.set_viewport_size({"width": 768, "height": 1024}) page.wait_for_timeout(500) page.screenshot(path='screenshots/tablet.png', full_page=True) print("Tablet screenshot saved") browser.close() print("\nVisual tests complete!")