issues/310/user_tool.py (30 lines of code) (raw):

import sys, os from utils.trace_cleaner import trace_cleaner base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) sys.path.insert(0, base_path) import time from playwright.sync_api import sync_playwright, expect from playwright.sync_api._context_manager import PlaywrightContextManager from playwright._impl._browser import Browser from playwright._impl._page import Page from playwright._impl._browser_context import BrowserContext def test_anonymous_user(): with sync_playwright() as p: browser = p.chromium.launch(headless=True, args=[ "--disable-web-security", "--disable-features=IsolateOrigins,site-per-process" ]) context = browser.new_context() # Start tracing with screenshots, snapshots, and sources enabled context.tracing.start(screenshots=True, snapshots=True, sources=True) page = context.new_page() try: page.goto('https://dev.new.expensify.com:8082/r/3295647304331553') page.get_by_text('https://dev.new.expensify.com:8082/settings/security').click() enable_2fa = page.get_by_text("Enable two-factor authentication to keep your account safe.") expect(enable_2fa).not_to_be_visible() finally: # Stop tracing and export the trace file context.tracing.stop() trace_path = "/app/expensify/user_tool/output_browser1.zip" context.tracing.export_trace(trace_path) # Clean the exported trace file trace_cleaner(trace_path) # Close the browser browser.close()