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

