35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
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())
|