跳转到主要内容

PageAssertions

PageAssertions 类提供了多种断言方法,可用于在测试中对 Page(页面)状态进行断言。

// ...
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;

public class TestPage {
// ...
@Test
void navigatesToLoginPage() {
// ...
page.getByText("Sign in").click();
assertThat(page).hasURL(Pattern.compile(".*/login"));
}
}

方法

hasTitle

新增于: v1.20 pageAssertions.hasTitle

确保页面具有给定的标题。

用法

assertThat(page).hasTitle("Playwright");

参数

  • titleOrRegExp String | Pattern新增于: v1.18#

    预期的标题或正则表达式。

  • options PageAssertions.HasTitleOptions (可选)

    • setTimeout double (可选)新增于: v1.18#

      重试断言的时间,单位为毫秒。默认为 5000

返回


hasURL

新增于: v1.20 pageAssertions.hasURL

确保页面已导航到给定的 URL。

用法

assertThat(page).hasURL(".com");

参数

  • urlOrRegExp String | Pattern新增于: v1.18#

    预期的 URL 字符串或正则表达式。

  • options PageAssertions.HasURLOptions (可选)

    • setIgnoreCase boolean (可选)新增于:v1.44#

      是否执行不区分大小写的匹配。如果指定了 setIgnoreCase 选项,则其优先级高于相应的正则表达式参数。提供的谓词会忽略此标志。

    • setTimeout double (可选)新增于: v1.18#

      重试断言的时间,单位为毫秒。默认为 5000

返回


matchesAriaSnapshot

添加于: v1.60 pageAssertions.matchesAriaSnapshot

断言页面正文与给定的 无障碍快照(accessibility snapshot) 相匹配。

用法

page.navigate("https://demo.playwright.dev/todomvc/");
assertThat(page).matchesAriaSnapshot("""
- heading "todos"
- textbox "What needs to be done?"
""");

参数

  • expected String#
  • options PageAssertions.MatchesAriaSnapshotOptions (可选)
    • setTimeout double (可选)#

      重试断言的时间,单位为毫秒。默认为 5000

返回


属性

not()

新增于: v1.20 pageAssertions.not()

使断言检查相反的条件。

用法

例如,以下代码测试页面 URL 不包含 "error"

assertThat(page).not().hasURL("error");

返回