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

Dotnet(C#)Playwright项目Pick locator工具无法使用的问题咨询

在.NET(C#)NUnit项目里用Playwright Pick Locator的解决办法

为啥会出现"No Playwright tests found"

Playwright的VS Code扩展对.NET项目的识别逻辑和JS项目不一样——它得先找到编译好的测试程序集,而且测试类、方法得符合Playwright+NUnit的规范,不然就认不出来,Pick Locator自然没法激活。

一步步解决

1. 先把测试项目编译一遍

在VS Code的终端里跑这个命令,让扩展能扫到编译后的测试文件:

dotnet build

2. 检查你的测试代码规范

打开UnitTest1.cs,确保代码结构符合要求:

using NUnit.Framework;
using Microsoft.Playwright.NUnit;

[TestFixture]
public class UnitTest1 : PageTest // 必须继承PageTest,这是关键
{
    [Test]
    public async Task MyTest()
    {
        await Page.GotoAsync("https://example.com");
        // 这里后续就能用Pick Locator生成定位器了
    }
}
  • 测试类必须继承Microsoft.Playwright.NUnit.PageTest
  • 类上要加[TestFixture]特性,测试方法要加[Test]特性,少一个都不行

3. 让扩展重新扫描项目

做完上面两步后,要么关闭再重新打开测试文件,要么按Ctrl+Shift+P打开命令面板,执行Reload Window,让Playwright扩展重新识别测试项目。

4. 启动Pick Locator

等扩展识别到测试后,两种启动方式:

  • 打开测试方法,在代码行左边会出现Playwright的小图标,点一下选"Pick locator"
  • 直接在命令面板搜Playwright: Pick Locator执行

备用方案(你现在用的临时方法)

要是上面的步骤还是不行,继续用CodeGen完全没问题,终端跑这个命令就行:

dotnet playwright codegen

CodeGen生成的定位器代码,直接复制到NUnit测试里就能用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:03:24