📄 playwright-python/dotnet/docs/api/class-pageassertions

File: class-pageassertions.md | Updated: 11/18/2025

Source: https://playwright.dev/dotnet/docs/api/class-pageassertions

Skip to main content

On this page

The PageAssertions class provides assertion methods that can be used to make assertions about the Page state in the tests.

using System.Text.RegularExpressions;using Microsoft.Playwright;using Microsoft.Playwright.MSTest;namespace PlaywrightTests;[TestClass]public class ExampleTests : PageTest{    [TestMethod]    public async Task NavigateToLoginPage()    {        await Page.GetByRole(AriaRole.Button, new() { Name = "Sign In" }).ClickAsync();        await Expect(Page).ToHaveURLAsync(new Regex(".*/login"));    }}

Methods


ToHaveTitleAsync

Added in: v1.20 pageAssertions.ToHaveTitleAsync

Ensures the page has the given title.

Usage

await Expect(Page).ToHaveTitleAsync("Playwright");

Arguments

  • titleOrRegExp string | Regex Added in: v1.18#

    Expected title or RegExp.

  • options PageAssertionsToHaveTitleOptions? (optional)

    • Timeout [float]? (optional) Added in: v1.18#

      Time to retry the assertion for in milliseconds. Defaults to 5000.

Returns


ToHaveURLAsync

Added in: v1.20 pageAssertions.ToHaveURLAsync

Ensures the page is navigated to the given URL.

Usage

await Expect(Page).ToHaveURLAsync(new Regex(".*checkout"));

Arguments

  • urlOrRegExp string | Regex Added in: v1.18#

    Expected URL string or RegExp.

  • options PageAssertionsToHaveURLOptions? (optional)

    • IgnoreCase bool ? (optional) Added in: v1.44#

      Whether to perform case-insensitive match. IgnoreCase option takes precedence over the corresponding regular expression parameter if specified. A provided predicate ignores this flag.

    • Timeout [float]? (optional) Added in: v1.18#

      Time to retry the assertion for in milliseconds. Defaults to 5000.

Returns


Properties


Not

Added in: v1.20 pageAssertions.Not

Makes the assertion check for the opposite condition. For example, this code tests that the page URL doesn't contain "error":

await Expect(Page).Not.ToHaveURLAsync("error");

Usage

Expect(Page).Not

Type