Skip to main content

PageAssertions

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).ToHaveTitle("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).ToHaveURL(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 flag if specified.

    • 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.ToHaveURL("error");

Usage

Expect(Page).Not

Type