Playwright: .env files

参考: https://playwright.dev/docs/test-parameterize#env-files

テストで使う環境変数を.envファイルで管理する方法。dotenvパッケージを使い、playwright.config.tsで読み込む。

import { defineConfig } from '@playwright/test';
import dotenv from 'dotenv';
import path from 'path';

dotenv.config({ path: path.resolve(__dirname, '.env') });

export default defineConfig({
  use: {
    baseURL: process.env.STAGING === '1'
      ? 'http://staging.example.test/'
      : 'http://example.test/',
  },
});

.envファイルにはこのように変数を定義する。

STAGING=0
USER_NAME=me
PASSWORD=secret

あとは普通にnpx playwright testを実行するだけで環境変数が読み込まれる。

メリット

  • シークレット(パスワード等)をソースコードに含めずに済む
  • 環境ごと(staging / production)の切り替えが.envファイルの差し替えだけで完結する
  • コマンド実行時に毎回USER_NAME=me PASSWORD=secret npx playwright testのように指定する必要がなくなる