issues/305/user_tool.py (44 lines of code) (raw):
import sys, os
base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
sys.path.insert(0, base_path)
import os
from playwright.sync_api import sync_playwright
from utils.trace_cleaner import trace_cleaner
NEW_DOT_URL = "https://dev.new.expensify.com:8082/"
PROXY_URL = os.getenv("PROXY_URL")
SLOW_MO: int | None = 500
def test():
with sync_playwright() as playwright:
browser = playwright.chromium.launch(
headless=True,
slow_mo=SLOW_MO,
proxy={"server": PROXY_URL} if PROXY_URL else None,
args=[
"--disable-web-security",
"--disable-features=IsolateOrigins,site-per-process",
],
)
context = browser.new_context()
context.tracing.start(
screenshots=True,
snapshots=True,
sources=True
)
try:
page = context.new_page()
page.goto(NEW_DOT_URL)
page_1 = context.new_page()
page_1.goto(NEW_DOT_URL)
page.bring_to_front()
page.wait_for_timeout(3000)
page_1.evaluate("window.dispatchEvent(new Event('beforeunload'));")
page_1.close()
visible = False
if page.locator("text=Get started below.").is_visible():
visible = True
assert visible, "The text 'Get started below.' should be visible."
except Exception as e:
raise e
finally:
context.tracing.stop(path="/app/expensify/user_tool/output_browser1.zip")
trace_cleaner("/app/expensify/user_tool/output_browser1.zip")