Skip to main content

断言

断言列表

¥List of assertions

断言描述
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()元素具有类属性
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

设置自定义超时

¥Setting a custom timeout

你可以为全局或每个断言指定自定义超时。默认超时时间为 5 秒。

¥You can specify a custom timeout for assertions either globally or per assertion. The default timeout is 5 seconds.

全局超时

¥Global timeout

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);
}
// ...
}

每个断言超时

¥Per assertion timeout

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