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

Playwright全局Setup未在测试前执行,求解决方案

修复Playwright全局Setup未运行的问题

问题分析

你的全局setup未运行,核心是两个配置错误加路径匹配问题导致:

  1. 路径匹配失效:配置里testDir: './tests'指定了测试文件根目录,但global.setup.ts和配置文件同目录,Playwright会在./tests下查找setup文件,自然找不到目标文件。
  2. 配置项拼写错误:setup项目中写的setTimeout是无效配置,正确的超时配置项应为timeout。

修复步骤

1. 修正Playwright配置文件

修改playwright.config.ts中的setup项目配置,解决路径和拼写问题:

  • 给setup项目单独设置testDir为当前目录(匹配setup文件所在位置)
  • 将setTimeout修正为timeout

修改后的配置代码:

import { defineConfig } from '@playwright/test';
require('dotenv').config();

export default defineConfig({
    testDir: './tests',
    timeout: 60 * 1000,
    expect: {
        timeout: 5000
    },
    forbidOnly: !!process.env.CI,
    workers: process.env.WORKERS ? +process.env.WORKERS : undefined,
    projects: [
        {
            name: "setup",
            testMatch: /.*\.setup\.ts/,
            timeout: 60 * 1000, // 修正拼写错误
            testDir: './', // 指定setup文件所在目录为当前目录
        },
        {
            name: "chrome",
            dependencies: ['setup'],
            use: {
                headless: true,
                browserName: "chromium",
                viewport: { width: 1280, height: 720 },
                ignoreHTTPSErrors: true
            },
            testMatch: '**/*.spec.ts'
        }
    ],
    reporter: [["list"], ["junit"]]
});

2. 确认Setup文件的正确写法

确保global.setup.ts使用Playwright的test导出编写初始化逻辑,示例如下:

import { test as setup } from '@playwright/test';

setup('全局前置操作', async ({ browser }) => {
    // 这里编写你的全局初始化逻辑,比如登录、创建测试数据等
    const page = await browser.newPage();
    await page.goto('https://your-test-site.com/login');
    // 执行登录步骤...
    // 如果需要保存上下文状态供后续测试使用,可添加:
    // await page.context().storageState({ path: './storageState.json' });
    await page.close();
});

3. 可选方案:移动Setup文件到tests目录

如果不想修改setup项目的testDir,可以直接把global.setup.ts移到./tests目录下,这样原配置的testMatch就能匹配到它,同时记得修正setTimeout为timeout。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:52:50