SatFetch-ISRO-BAH2026 / test_visual.py
silverballs's picture
Deploy SatFetch Space App - track binary files with Git LFS
0db1cb9
Raw
History Blame Contribute Delete
1.78 kB
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!")