refactor: update e2e tests to use 'load' state for page navigation

- Changed instances of `waitForLoadState('networkidle')` to `waitForLoadState('load')` across multiple test files and utility functions to improve test reliability in applications with persistent connections.
- Added documentation to the e2e testing guide explaining the rationale behind using 'load' state instead of 'networkidle' to prevent timeouts and flaky tests.
This commit is contained in:
Test User
2025-12-22 17:16:55 -05:00
parent c4df2c141a
commit 036a7d9d26
6 changed files with 55 additions and 16 deletions

View File

@@ -1,11 +1,13 @@
import { Page, Locator } from '@playwright/test';
/**
* Wait for the page to reach network idle state
* This is commonly used after navigation or page reload to ensure all network requests have completed
* Wait for the page to load
* Uses 'load' state instead of 'networkidle' because the app has persistent
* connections (websockets/polling) that prevent network from ever being idle.
* Tests should wait for specific elements to verify page is ready.
*/
export async function waitForNetworkIdle(page: Page): Promise<void> {
await page.waitForLoadState('networkidle');
await page.waitForLoadState('load');
}
/**