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

使用Playwright .NET在Rider IDE中编写C#测试时遇“Cannot resolve symbol 'Expect'”问题求助

使用Playwright .NET在Rider IDE中编写C#测试时遇“Cannot resolve symbol 'Expect'”问题求助

嘿,我在Rider里折腾Playwright .NET测试的时候也碰到过一模一样的问题!看了你的代码,这个Expect找不到的情况,大概率是下面几个常见原因导致的,给你逐个排查的方向:

  • 先检查命名空间是否正确引用
    Playwright .NET里的Expect断言方法是放在Microsoft.Playwright.Assertions这个命名空间下的,你得在代码文件最顶部加上这行引用:

    using Microsoft.Playwright.Assertions;
    

    要是已经加了,别急,试试右键你的项目选择「重新加载项目」,或者用Rider的重新索引快捷键(Windows是Ctrl+Shift+R,Mac是Cmd+Shift+R)——有时候IDE的索引慢半拍,就会出现明明代码没问题却报红的情况。

  • 确认Playwright NuGet包的安装情况
    你得确保项目里已经正确安装了Microsoft.Playwright这个核心NuGet包,要是用测试运行器的话,Microsoft.Playwright.TestAdapter也得装上。打开Rider的NuGet包管理器,搜这两个包,看看是不是装了最新的稳定版——毕竟Expect这种断言API是Playwright .NET后续版本才推出的,旧版本可能没有这个方法。

  • 检查Expect的调用写法
    看你代码里的问题行,写法本身是没问题的:

    await Expect(page.GetByRole(AriaRole.Heading, new() { Name = "Authenticating to GitHub" }).GetByRole(AriaRole.Link)).ToBeVisibleAsync();
    

    但前提是前面的命名空间和包都没问题,要是前面的步骤都做了还是不行,试试把这行代码删掉重新敲一遍,有时候IDE的语法识别会抽风。

  • 试试清理Rider的缓存
    要是上面的方法都不管用,那大概率是Rider的缓存出问题了。你可以试试:

    1. 关闭Rider,删除项目根目录下的.idea文件夹
    2. 或者在Rider里点击File -> Invalidate Caches...,选择清理缓存并重启IDE

对了,你的测试代码我整理了一下,问题行就是最后那行带Expect的代码:

public async Task GitWebTest() 
{ 
    using var playwright = await Playwright.CreateAsync(); 
    await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions{Headless = false,}); 
    var context = await browser.NewContextAsync(); 
    var page = await context.NewPageAsync(); 
    await page.GotoAsync("https://github.com/executeautomation"); 
    await page.GetByRole(AriaRole.Link, new() { Name = "Packages" }).ClickAsync(); 
    await page.GetByRole(AriaRole.Link, new() { Name = "Learn more about npm" }).ClickAsync(); 
    await page.GetByRole(AriaRole.Heading, new() { Name = "Working with the npm registry" }).ClickAsync(); 
    // 下面这行就是报"Cannot resolve symbol 'Expect'"的问题行
    await Expect(page.GetByRole(AriaRole.Heading, new() { Name = "Authenticating to GitHub" }).GetByRole(AriaRole.Link)).ToBeVisibleAsync();
}

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 10:33:07