sequenceDiagram
participant Test as Test Script
participant Browser as Browser
participant Page as Web Page
participant API as API Server
Test->>Browser: Navigate to page
Browser->>Page: Load page
Page->>API: Fetch data (async)
Test->>Browser: Wait for element
Browser-->>Test: Element not ready
API-->>Page: Return data
Page->>Page: Update DOM
Test->>Browser: Wait for element (retry)
Browser-->>Test: Element ready
Test->>Browser: Interact with element
Browser->>Page: Perform action
Page->>API: Submit data (async)
Test->>Browser: Wait for response
API-->>Page: Confirm submission
Page->>Page: Show success message
Browser-->>Test: Action completed