← Back to library
Playwrightnetworkintermediatev1.20+
Simulate slow network response
Add artificial latency to an API route to test loading states and spinners.
1test('shows loading spinner during slow API', async ({ page }) => {
2 await page.route('**/api/reports', async (route) => {
3 // Pause 2 seconds before responding
4 await new Promise((resolve) => setTimeout(resolve, 2000));
5 await route.fulfill({ status: 200, body: JSON.stringify({ rows: [] }) });
6 });
7
8 await page.goto('/reports');
9
10 // Spinner visible while waiting for the delayed response
11 await expect(page.getByTestId('loading-spinner')).toBeVisible();
12 await expect(page.getByTestId('loading-spinner')).toBeHidden();
13});#delay#slow network#loading#intercept