参考: 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のように指定する必要がなくなる