如何在Playwright+C#+Xunit项目中使用expect断言
在C# Xunit项目中使用Playwright的Expect断言
1. 安装对应NuGet包
要使用Playwright的断言功能,除了核心的Microsoft.Playwright,还得装针对Xunit的扩展包Microsoft.Playwright.Xunit。可以通过NuGet包管理器搜索安装,或者用命令行:
dotnet add package Microsoft.Playwright dotnet add package Microsoft.Playwright.Xunit
2. 引入断言命名空间
只加using Microsoft.Playwright;不够,必须添加Playwright断言的命名空间:
using Microsoft.Playwright.Assertions;
3. 编写Expect断言
现在就能写出和JavaScript风格类似的代码了,注意C#里方法是帕斯卡命名,且异步方法带Async后缀:
await Expect(page.Locator("elementtofind")).ToContainTextAsync("myText");
常用断言示例
- 断言元素可见:
await Expect(page.Locator("elementtofind")).ToBeVisibleAsync();
- 断言元素文本完全匹配:
await Expect(page.Locator("elementtofind")).ToHaveTextAsync("ExactText");
- 断言页面URL包含指定路径:
await Expect(page).ToHaveURLAsync("*targetPath");
优势说明
Playwright的Expect断言自带自动重试机制,会在默认5秒超时内反复检查条件是否成立,能避免元素未加载完成导致的测试失败;而你之前用Assert.Equal结合InnerTextAsync是一次性检查,没有重试逻辑,测试稳定性会差一些。
内容的提问来源于stack exchange,提问作者bobe_b
相关产品推荐
相关产品推荐

