PageAssertions
PageAssertions 类提供了断言方法,可用于对测试中的 Page 状态进行断言。
¥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确保页面具有给定的标题。
¥Ensures the page has the given title.
用法
¥Usage
await Expect(Page).ToHaveTitleAsync("Playwright");
参数
¥Arguments
预期的标题或正则表达式。
¥Expected title or RegExp.
-
options
PageAssertionsToHaveTitleOptions?
(可选)¥
options
PageAssertionsToHaveTitleOptions?
(optional)Timeout
[float]? (optional) Added in: v1.18#
重试断言的时间(以毫秒为单位)。默认为 5000
。
¥Time to retry the assertion for in milliseconds. Defaults to 5000
.
返回
¥Returns
ToHaveURLAsync
Added in: v1.20确保页面导航到给定的 URL。
¥Ensures the page is navigated to the given URL.
用法
¥Usage
await Expect(Page).ToHaveURLAsync(new Regex(".*checkout"));
参数
¥Arguments
需要 URL 字符串或正则表达式。
¥Expected URL string or RegExp.
-
options
PageAssertionsToHaveURLOptions?
(可选)¥
options
PageAssertionsToHaveURLOptions?
(optional)
是否进行不区分大小写的匹配。如果指定,IgnoreCase 选项优先于相应的正则表达式参数。提供的谓词会忽略此标志。
¥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#
重试断言的时间(以毫秒为单位)。默认为 5000
。
¥Time to retry the assertion for in milliseconds. Defaults to 5000
.
返回
¥Returns
属性
¥Properties
否
¥Not
Added in: v1.20使断言检查相反的条件。例如,此代码测试页面 URL 是否不包含 "error"
:
¥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");
用法
¥Usage
Expect(Page).Not
类型
¥Type