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

Playwright setup项目未在依赖项目前执行问题求助

Playwright 认证 Setup 项目没跑起来?查这几点

先把核心配置盯死

  • 必须正确声明 Setup 项目
    你的playwright.config.ts里,projects数组得单独把setup项目列出来,而且dependencies要放在项目根层级,不能塞use对象里,示例:
    projects: [
      {
        name: 'setup',
        testMatch: /auth\.setup\.ts/, // 正则得精准匹配你的文件名
      },
      {
        name: 'chromium',
        use: { ...devices['Desktop Chrome'] },
        dependencies: ['setup'], // 就放这,别嵌套!
      },
      // 火狐、webkit项目也得加这个dependencies
    ]
    
  • 文件路径和命名别踩坑
    检查auth.setup.ts的位置和正则对不对,比如文件在tests/auth.setup.ts,正则就得写成/tests\/auth\.setup\.ts/;另外注意大小写,Linux/macOS下文件名大小写错了直接找不到。

那些容易踩的配置误区

  • 别同时用 globalSetup 和 Setup 项目
    之前如果配过globalSetup,必须彻底删掉,这俩是互斥的,同时存在会直接忽略setup项目。
  • StorageState 路径要对应
    Setup文件里得明确输出storageState的路径,比如:
    test('登录认证', async ({ page }) => {
      // 你的登录流程代码
      await page.context().storageState({ path: './playwright/.auth/user.json' });
    });
    
    然后其他测试项目的use里要准确引用这个路径,别写错位置。

用工具验证问题

  • 先看测试是否被识别
    跑npx playwright test --list,输出里如果看不到setup项目的测试用例,那肯定是正则或路径错了,赶紧调。
  • 看日志找线索
    加--verbose参数跑测试:npx playwright test --verbose,看日志里有没有setup项目的启动记录。没记录就是配置没生效;有记录但失败,就盯着错误信息查登录逻辑。

其他冷门原因

  • 别在setup文件里加错东西
    检查auth.setup.ts里有没有不小心加了test.skip,或者误加test.only(虽然这个是影响其他测试,但万一setup里只有一个用例还被skip了,也会没效果)。
  • 版本太低不支持
    确认你的Playwright是v1.28及以上的,projects dependencies是这个版本才出的特性,旧版本根本不认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:59:57