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

如何在Playwright的globalSetup中引用playwright.config配置的baseUrl

Playwright global-setup 读取配置中baseURL的实现方法

方案1:直接导入配置文件读取(最简便)

直接在global-setup.ts中导入你的playwright配置文件,直接读取定义好的baseURL值即可,示例代码如下:
首先确认你的playwright.config.ts中已经正确配置baseURL:

// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  globalSetup: './global-setup.ts',
  use: {
    baseURL: 'https://test1.com', // 你配置的baseUrl
    // 其他配置项
  },
  // 其他全局配置
});

然后修改global-setup.ts代码:

// global-setup.ts
import { chromium } from '@playwright/test';
import playwrightConfig from './playwright.config';

async function globalSetup() {
  const browser = await chromium.launch();
  const context = await browser.newContext();
  const page = await context.newPage();

  // 读取配置中的baseURL,替换原有硬编码链接
  const baseURL = playwrightConfig.use?.baseURL as string;
  await page.goto(baseURL);

  // 你原有的存储状态等逻辑保持不变
  await context.storageState({ path: 'playwright/.auth/user.json' });

  await browser.close();
}

export default globalSetup;

方案2:通过环境变量传递(适合多环境切换场景)

如果你的测试需要在多环境下运行,更推荐通过环境变量统一管理baseURL,两边都从环境变量取值即可:

  1. 首先修改playwright.config.ts,从环境变量读取baseURL:
// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  globalSetup: './global-setup.ts',
  use: {
    baseURL: process.env.TEST_BASE_URL || 'https://test1.com',
  },
});
  1. 然后在global-setup.ts中直接读取同一个环境变量即可:
// global-setup.ts
const baseURL = process.env.TEST_BASE_URL || 'https://test1.com';
await page.goto(baseURL);

运行测试前可以按需设置环境变量,比如:

# macOS/Linux
TEST_BASE_URL=https://test2.com npx playwright test

# Windows
set TEST_BASE_URL=https://test2.com && npx playwright test

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:39:00