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
相关产品推荐
相关产品推荐

