in issues/326/user_tool.py [0:0]
def test_expensify():
with sync_playwright() as p:
browser = p.chromium.launch(headless=True, args=[
"--disable-web-security",
"--disable-features=IsolateOrigins,site-per-process"
])
first_user_context = browser.new_context(ignore_https_errors=True)
first_user_context.tracing.start(screenshots=True, snapshots=True)
page = first_user_context.new_page()
try:
page.wait_for_timeout(3000)
new_dot_login(page, EMAIL)
page.wait_for_timeout(3000)
my_settings = page.get_by_label("My settings")
expect(my_settings).to_be_visible()
my_settings.click()
page.wait_for_timeout(1000)
work_spaces = page.locator('div[aria-label="Workspaces"]')
expect(work_spaces).to_be_visible()
work_spaces.click()
page.wait_for_timeout(1000)
my_work = page.locator("div:nth-child(2) > div:nth-child(2) > div > div:nth-child(2) > div > div")
expect(my_work).to_be_visible()
my_work.click()
page.wait_for_timeout(1000)
features = page.locator('div[aria-label="Members"]')
expect(features).to_be_visible()
features.click()
page.wait_for_timeout(1000)
invite_member = page.locator('button:has-text("Invite member")')
expect(invite_member).to_be_visible()
invite_member.click()
page.wait_for_timeout(1000)
page.locator('input[aria-label="Name, email, or phone number"]').fill("qwerty@gmail.com")
page.wait_for_timeout(1000)
page.locator(f'button[aria-label="qwerty@gmail.com"]').nth(0).click()
page.wait_for_timeout(1000)
page.locator('input[aria-label="Name, email, or phone number"]').fill("asdfg@gmail.com")
page.wait_for_timeout(1000)
page.locator(f'button[aria-label="asdfg@gmail.com"]').nth(0).click()
page.wait_for_timeout(1000)
assert page.locator('button[aria-label="qwerty@gmail.com"]').nth(0).is_visible()
assert page.locator('button[aria-label="asdfg@gmail.com"]').nth(0).is_visible()
page.locator('input[aria-label="Name, email, or phone number"]').fill("qwerty@gmail.com")
page.wait_for_timeout(1000)
assert page.locator('button[aria-label="qwerty@gmail.com"]').nth(0).is_visible()
page.wait_for_timeout(1500)
finally:
first_user_context.tracing.stop(path="/app/expensify/user_tool/output_browser1.zip")
trace_cleaner("/app/expensify/user_tool/output_browser1.zip")
page.close()
browser.close()