You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Xunit与C#在Playwright中获取元素文本并断言的方法

在Xunit + C#的Playwright中获取元素文本并断言的两种方法

方法一:获取文本后用Xunit原生Assert

Playwright的Locator没有直接的Text属性,但可以通过两个异步方法获取文本:

  • InnerTextAsync():获取元素的可见文本,和Selenium的Text属性行为一致
  • TextContentAsync():获取元素的所有文本(包括隐藏内容)

代码示例:

var userButton = page.Locator("button.user-icon");
// 获取可见文本,对应Selenium的Text
var buttonVisibleText = await userButton.InnerTextAsync();
// 用Xunit原生断言
Assert.Equal("testString", buttonVisibleText);

// 如果需要获取包含隐藏内容的文本,用TextContentAsync
// var buttonFullText = await userButton.TextContentAsync();
// Assert.Equal("testString", buttonFullText);

方法二:使用Playwright适配Xunit的断言API

你提到的Expect是Nunit专属的,Xunit中需要通过PlaywrightAssertions类调用Playwright的断言方法,步骤如下:

  1. 引入命名空间:using Microsoft.Playwright.Assertions;
  2. 通过PlaywrightAssertions.Expect()创建断言对象

代码示例:

var userButton = page.Locator("button.user-icon");
await PlaywrightAssertions.Expect(userButton).ToHaveTextAsync("testString");

注意:ToHaveTextAsync()默认匹配可见文本,和InnerTextAsync()行为一致;如果需要匹配包含隐藏内容的文本,可以传入选项:ToHaveTextAsync("testString", new() { IncludeHidden = true })

内容的提问来源于stack exchange,提问作者bobe_b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:15:44