EHRGym / scripts /diagnose_server_actions.py
adtserapio's picture
Deploy EHRGym to Hugging Face Space
c2858c1
from __future__ import annotations
import asyncio
from playwright.async_api import async_playwright
async def main() -> None:
async with async_playwright() as playwright:
browser = await playwright.chromium.launch()
page = await browser.new_page()
events: list[tuple[str, str, int] | tuple[str, str, str]] = []
page.on(
"response",
lambda response: events.append((response.request.method, response.url, response.status))
if response.request.method == "POST"
else None,
)
page.on(
"console",
lambda message: events.append(("console", message.type, message.text)) if message.type == "error" else None,
)
await page.goto("http://127.0.0.1:3000/patient/pat-1001", wait_until="networkidle")
await page.get_by_label("Note author").fill("Dr. Test User")
await page.get_by_label("Note title").fill("Progress Note Follow-up")
await page.get_by_label("Progress note content").fill("S\nO\nA\nP")
await page.get_by_test_id("save-note-button").click()
await page.wait_for_timeout(1500)
print("events", events)
print("url", page.url)
print("count", await page.get_by_text("Progress Note Follow-up").count())
await browser.close()
if __name__ == "__main__":
asyncio.run(main())