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

如何在VS中以有头模式运行继承PageTest的Playwright C#测试并调试

在Visual Studio中调试有头模式的Playwright PageTest测试

方案1:通过测试项目配置设置全局参数

直接给测试项目添加环境变量,让Playwright以有头模式启动,同时保留VS调试能力:

  • 右键测试项目 → 属性 → 调试 → 环境变量,添加:
    • 键:HEADED,值:1
    • (可选)键:SLOW_MO,值:1000(放慢执行速度,方便调试)
  • 或者在项目根目录创建/修改launchSettings.json,添加配置:
{
  "profiles": {
    "Playwright Debug": {
      "commandName": "Project",
      "environmentVariables": {
        "HEADED": "1",
        "SLOW_MO": "1000"
      }
    }
  }
}

完成后直接在VS中右键测试方法选择「调试测试」,浏览器会以有头模式启动,VS调试器正常工作,即时窗口也能正常使用。

方案2:重写PageTest的浏览器启动配置

在你继承PageTest的测试基类中,重写浏览器启动配置,强制开启有头模式:

using Microsoft.Playwright.MSTest;
using Microsoft.Playwright;

public class MyTestBase : PageTest
{
    public override BrowserTypeLaunchOptions BrowserOptions()
    {
        var options = base.BrowserOptions();
        options.Headless = false;
        options.SlowMo = 1000; // 可选,方便调试时观察操作
        return options;
    }
}

后续你的测试类继承这个MyTestBase,直接在VS中调试测试即可,无需额外配置,浏览器会自动以有头模式启动,VS调试器完全可控。

方案3:临时给单个测试设置环境变量

如果只需要临时调试某个测试,可通过VS测试资源管理器操作:

  • 在测试资源管理器中找到目标测试方法,右键选择「调试选定的测试」
  • 调试会话启动前,打开「调试」菜单 → 「选项」 → 「调试」 → 「环境变量」,添加HEADED=1

注意:不要使用PWDEBUG=1参数,该参数会启动Playwright自带的调试器,会和VS调试器冲突,导致即时窗口等VS调试功能无法使用。改用HEADED=1仅开启有头模式,就能保留VS的调试控制权。

内容的提问来源于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.13 00:10:17