← Back to library
Playwrightassertionsbeginnerv1.20+
Assert current URL
Assert the browser URL after navigation, form submission, or redirect using toHaveURL().
1test('URL is correct after navigation and form submission', async ({ page }) => {
2 await page.goto('/login');
3
4 await page.getByLabel('Email').fill('user@test.com');
5 await page.getByLabel('Password').fill('secret');
6 await page.getByRole('button', { name: 'Sign in' }).click();
7
8 // toHaveURL() retries — handles async redirects from client-side routers
9 await expect(page).toHaveURL('/dashboard');
10
11 // Regex — use for dynamic segments like /users/123 or query strings
12 await expect(page).toHaveURL(/\/dashboard/);
13
14 await page.getByRole('link', { name: 'Settings' }).click();
15 await expect(page).toHaveURL(/\/settings/);
16});#toHaveURL#URL#navigation#redirect#assert