1. Determine if the web application is static or dynamic.
2. If dynamic, check if the server is running. If not, use `scripts/with_server.py` to start it.
3. Navigate to the web application using Playwright.
4. Wait for the page to load completely using `page.wait_for_load_state('networkidle')`.
5. Identify UI elements and their selectors using reconnaissance techniques (screenshots, DOM inspection).
6. Execute actions on the identified elements using Playwright.
7. Verify the expected behavior and capture screenshots or logs as needed.
8. Close the browser instance.