跳转到主要内容

断言

断言列表

断言描述
Expect(Locator).ToBeAttachedAsync()元素已附加
Expect(Locator).ToBeCheckedAsync()复选框已选中
Expect(Locator).ToBeDisabledAsync()元素已禁用
Expect(Locator).ToBeEditableAsync()元素可编辑
Expect(Locator).ToBeEmptyAsync()容器为空
Expect(Locator).ToBeEnabledAsync()元素已启用
Expect(Locator).ToBeFocusedAsync()元素已聚焦
Expect(Locator).ToBeHiddenAsync()元素不可见
Expect(Locator).ToBeInViewportAsync()元素与视口相交
Expect(Locator).ToBeVisibleAsync()元素可见
Expect(Locator).ToContainClassAsync()元素具有指定的 CSS 类
Expect(Locator).ToContainTextAsync()元素包含文本
Expect(Locator).ToHaveAccessibleDescriptionAsync()元素具有匹配的无障碍描述
Expect(Locator).ToHaveAccessibleNameAsync()元素具有匹配的无障碍名称
Expect(Locator).ToHaveAttributeAsync()元素具有 DOM 属性
Expect(Locator).ToHaveClassAsync()元素具有 class 属性
Expect(Locator).ToHaveCountAsync()列表具有精确数量的子元素
Expect(Locator).ToHaveCSSAsync()元素具有 CSS 属性
Expect(Locator).ToHaveIdAsync()元素具有 ID
Expect(Locator).ToHaveJSPropertyAsync()元素具有 JavaScript 属性
Expect(Locator).ToHaveRoleAsync()元素具有特定的ARIA 角色
Expect(Locator).ToHaveTextAsync()元素匹配文本
Expect(Locator).ToHaveValueAsync()输入框有值
Expect(Locator).ToHaveValuesAsync()选择框已选择选项
Expect(Locator).ToMatchAriaSnapshotAsync()元素与提供的 Aria 快照匹配
Expect(Page).ToHaveTitleAsync()页面有标题
Expect(Page).ToHaveURLAsync()页面有 URL
Expect(Response).ToBeOKAsync()响应状态为 OK

设置自定义超时

您可以全局或针对每个断言设置自定义超时。默认超时时间为 5 秒。

全局超时

UnitTest1.cs
using Microsoft.Playwright;
using Microsoft.Playwright.MSTest;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace PlaywrightTests;

[TestClass]
public class UnitTest1 : PageTest
{
[ClassInitialize]
public static void GlobalSetup(TestContext context)
{
SetDefaultExpectTimeout(10_000);
}
// ...
}

每个断言的超时设置

UnitTest1.cs
await Expect(Page.GetByText("Name")).ToBeVisibleAsync(new() { Timeout = 10_000 });