import asyncio, os from playwright.async_api import async_playwright from browser import login, BASE, OUT async def main(): async with async_playwright() as p: browser = await p.chromium.launch() ctx, page, errors = await login(browser, "bob@localhost", "bobpass", "bobmuc") await page.wait_for_timeout(3000) await page.screenshot(path=f"{OUT}/muc_1_list.png") room = page.locator("#rooms ul.list.rooms li.room").first await room.click() await page.wait_for_selector("#chat_textarea", timeout=15000) await page.wait_for_timeout(3000) await page.fill("#chat_textarea", "Hi everyone @alice") await page.press("#chat_textarea", "Enter") await page.wait_for_timeout(2500) await page.screenshot(path=f"{OUT}/muc_2_room.png") # Room drawer await page.click("#chat_widget header span.primary.icon.bubble") await page.wait_for_timeout(1500) await page.screenshot(path=f"{OUT}/muc_3_drawer.png") # Search drawer (new chat) await page.keyboard.press("Escape") await page.goto(BASE + "/chat") await page.wait_for_timeout(2000) await page.click("main div[role=menu] > button.action") await page.wait_for_timeout(2000) await page.screenshot(path=f"{OUT}/muc_4_search.png") for e in errors: print(e) await browser.close() asyncio.run(main())