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

使用Jest测试Playwright时出现browserType.launch: setImmediate is not defined错误

解决Jest中使用Playwright时出现setImmediate is not defined的错误

这个错误的核心原因很明确:Jest默认使用jsdom作为测试环境,它模拟的是浏览器端的运行环境,而Playwright需要在完整的Node.js环境中运行——因为Playwright要启动真实的浏览器进程,依赖Node.js的核心API(比如setImmediate),这些API在jsdom环境里是不存在的。

下面是具体的解决步骤:

1. 为Playwright测试指定Node.js环境

你有两种方式来配置:

方式一:在测试文件顶部添加环境注释

直接在你的testPlaywright.test.jsx文件最顶部添加一行注释,强制让Jest用Node环境执行这个测试:

/** @jest-environment node */
import { chromium, webkit, firefox } from "playwright";

// 你的测试代码...

方式二:在Jest配置文件中全局配置

如果你有多个Playwright测试文件,可以在jest.config.js(或jest.config.ts)里通过overrides选项为特定测试文件指定环境:

module.exports = {
  // 默认的测试环境(比如你的其他React组件测试用jsdom)
  testEnvironment: "jsdom",
  // 针对Playwright测试单独设置Node环境
  overrides: [
    {
      testMatch: ["**/*Playwright.test.jsx"], // 匹配你的Playwright测试文件
      testEnvironment: "node"
    }
  ]
};

2. 修复测试代码中的小问题

另外注意:新版本的Playwright中,browserType.name是一个属性而不是方法,你原来的browserType.name()会报错,需要改成browserType.name:

// 替换这一行
await page.screenshot({path:`image-${browserType.name}.png`});

额外验证步骤

确保你的依赖和浏览器安装正确:

  • 重新安装Playwright依赖:npm install playwright --save-dev
  • 安装Playwright所需的浏览器:npx playwright install

完成以上步骤后,重新运行你的Jest测试,setImmediate is not defined的错误应该就会消失了。

附:你遇到的错误详情

FAIL src/test/testPlaywright.test.jsx (5.779 s)
× Creating a Snapshot of interacting with playwright (149 ms)
● Creating a Snapshot of interacting with playwright
browserType.launch: setImmediate is not defined
4 | for(const browserType of [chromium, firefox, webkit]){
5 | console.log("Testing");
> 6 | const browser = await browserType.launch({headless: false});
| ^
7 | const page = await browser.newPage();
8 | await page.setDefaultNavigationTimeout(1000000);
9 | await page.goto('https://app.wien.gv.at/navigation/', { waitUntil: 'networkidle' });

at Object.<anonymous> (src/test/testPlaywright.test.jsx:6:43)

测试套件:1个失败,共1个
测试用例:1个失败,共1个
快照:0个
耗时:8.517 s
已运行所有与变更文件相关的测试套件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 04:22:39