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.

使用方式

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

參數

  • 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.

傳回值


ToHaveURLAsync

Added in: v1.20 pageAssertions.ToHaveURLAsync

Ensures the page is navigated to the given URL.

使用方式

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

參數

  • 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.

傳回值


屬性 (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");

使用方式

Expect(Page).Not

型別 (Type)