TestConfig
Playwright Testは、timeoutやtestDirなど、テストの収集方法と実行方法を構成するための多くのオプションを提供します。これらのオプションは、設定ファイルのTestConfigオブジェクトに記述されています。この型は設定ファイルの形式を記述し、実行時に解決された設定パラメータにアクセスするにはFullConfigを使用します。
Playwright Testは、複数のテストプロジェクトを同時に実行することをサポートしています。プロジェクト固有のオプションはtestConfig.projectsに設定する必要がありますが、トップレベルのTestConfigもすべてのプロジェクト間で共有される基本オプションを定義できます。
import { defineConfig } from '@playwright/test';
export default defineConfig({
timeout: 30000,
globalTimeout: 600000,
reporter: 'list',
testDir: './tests',
});
プロパティ
build
追加されたバージョン: v1.35Playwrightトランスパイラ設定。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
build: {
external: ['**/*bundle.js'],
},
});
タイプ
captureGitInfo
追加バージョン: v1.51これらの設定は、git情報がキャプチャされ、設定testConfig.metadataに保存されるかどうかを制御します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
captureGitInfo: { commit: true, diff: true }
});
タイプ
詳細
commit情報をキャプチャすることは、HTML (またはサードパーティ) レポートでそれを見たい場合に役立ちます。diff情報をキャプチャすることは、実際のソースの差分でレポートを充実させるのに役立ちます。この情報は、テストを修正する方法に関するインテリジェントなアドバイスを提供するために使用できます。
これらの設定のデフォルト値は環境によって異なります。テストがCIの一部として実行され、git情報の取得が安全な場合は、デフォルト値はtrue、それ以外の場合はfalseです。
gitコミットメタデータの構造は変更される可能性があります。
expect
追加バージョン: v1.10expectアサーションライブラリの設定。様々なタイムアウトについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
expect: {
timeout: 10000,
toMatchSnapshot: {
maxDiffPixels: 10,
},
},
});
タイプ
- Object
-
timeoutnumber (optional)ミリ秒単位の非同期expectマッチャーのデフォルトタイムアウト。デフォルトは5000ms。
-
toHaveScreenshotObject (オプション)-
animations"allow" | "disabled" (オプション)page.screenshot()のanimationsを参照。デフォルトは
"disabled"。 -
caret"hide" | "initial" (オプション)page.screenshot()のcaretを参照。デフォルトは
"hide"。 -
maxDiffPixelsnumber (オプション)許容される異なるピクセル数。デフォルトでは設定されていません。
-
maxDiffPixelRationumber (オプション)異なるピクセル数が全ピクセル数に対する許容される比率で、
0から1の間。デフォルトでは設定されていません。 -
scale"css" | "device" (オプション)page.screenshot()のscaleを参照。デフォルトは
"css"。 -
thresholdnumber (オプション)比較された画像内の同じピクセル間の許容される知覚色差で、
0(厳密)から1(緩やか)の範囲。"pixelmatch"比較器はYIQ色空間で色差を計算し、threshold値のデフォルトは0.2です。 -
pathTemplatestring (オプション)スクリーンショットの場所を制御するテンプレート。詳細についてはtestConfig.snapshotPathTemplateを参照。
expect(page).toHaveScreenshot()メソッドの設定。
-
-
toMatchAriaSnapshotObject (オプション)-
pathTemplatestring (オプション)ariaスナップショットの場所を制御するテンプレート。詳細についてはtestConfig.snapshotPathTemplateを参照。
-
-
toMatchSnapshotObject (オプション)-
maxDiffPixelsnumber (オプション)許容される異なるピクセル数。デフォルトでは設定されていません。
-
maxDiffPixelRationumber (オプション)異なるピクセル数が全ピクセル数に対する許容される比率で、
0から1の間。デフォルトでは設定されていません。 -
thresholdnumber (オプション)比較された画像内の同じピクセル間の許容される知覚色差で、
0(厳密)から1(緩やか)の範囲。"pixelmatch"比較器はYIQ色空間で色差を計算し、threshold値のデフォルトは0.2です。
expect(value).toMatchSnapshot()メソッドの設定。
-
-
toPassObject (オプション)-
intervalsArray<number> (オプション)toPassメソッドのプローブ間隔 (ミリ秒)。
-
timeoutnumber (optional)toPassメソッドのタイムアウト (ミリ秒)。
expect(value).toPass()メソッドの設定。
-
-
failOnFlakyTests
追加バージョン: v1.52flakyとマークされたテストがある場合にエラーで終了するかどうか。CIで役立ちます。
--fail-on-flaky-testsオプションでコマンドラインでも利用可能です。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
failOnFlakyTests: !!process.env.CI,
});
タイプ
forbidOnly
追加バージョン: v1.10test.only()またはtest.describe.only()とマークされたテストまたはグループがある場合にエラーで終了するかどうか。CIで役立ちます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
forbidOnly: !!process.env.CI,
});
タイプ
fullyParallel
追加バージョン: v1.20Playwright Test はテストを並行して実行します。これを実現するために、同時に動作する複数のワーカープロセスを実行します。デフォルトでは、テストファイルが並列で実行されます。単一ファイル内のテストは、同じワーカープロセス内で順次実行されます。
このオプションを使用して、すべてのファイル内のすべてのテストを同時に実行するようにテスト実行全体を設定できます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
fullyParallel: true,
});
タイプ
globalSetup
追加バージョン: v1.10グローバルセットアップファイルへのパス。このファイルはすべてのテストの前に読み込まれ、実行されます。FullConfig引数を取る単一の関数をエクスポートする必要があります。複数のグローバルセットアップファイルを指定するには、パスの配列を渡します。
グローバルセットアップとティアダウンについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
globalSetup: './global-setup',
});
タイプ
globalTeardown
追加バージョン: v1.10グローバルティアダウンファイルへのパス。このファイルはすべてのテストの後に読み込まれ、実行されます。単一の関数をエクスポートする必要があります。testConfig.globalSetupも参照。複数のグローバルティアダウンファイルを指定するには、パスの配列を渡します。
グローバルセットアップとティアダウンについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
globalTeardown: './global-teardown',
});
タイプ
globalTimeout
追加バージョン: v1.10テストスイート全体が実行できる最大時間 (ミリ秒)。タイムアウトゼロ (デフォルト) はこの動作を無効にします。CIで、壊れたセットアップが長すぎたりリソースを無駄にしたりするのを防ぐのに役立ちます。様々なタイムアウトについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
globalTimeout: process.env.CI ? 60 * 60 * 1000 : undefined,
});
タイプ
grep
追加バージョン: v1.10いずれかのパターンに一致するタイトルを持つテストのみを実行するフィルター。たとえば、grep: /cart/を渡すと、タイトルに「cart」が含まれるテストのみが実行されます。-gオプションでコマンドラインでも利用可能です。正規表現は、プロジェクト名、テストファイル名、test.describe名 (もしあれば)、テスト名、およびスペースで区切られたテストタグ (例: chromium my-test.spec.ts my-suite my-test) からなる文字列に対してテストされます。
grepオプションは、テストのタグ付けにも役立ちます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
grep: /smoke/,
});
タイプ
grepInvert
追加バージョン: v1.10いずれかのパターンに**一致しない**タイトルを持つテストのみを実行するフィルター。これはtestConfig.grepの反対です。--grep-invertオプションでコマンドラインでも利用可能です。
grepInvertオプションは、テストのタグ付けにも役立ちます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
grepInvert: /manual/,
});
タイプ
ignoreSnapshots
追加バージョン: v1.26expect(value).toMatchSnapshot()やawait expect(page).toHaveScreenshot()などのスナップショットの期待値をスキップするかどうか。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
ignoreSnapshots: !process.env.CI,
});
タイプ
maxFailures
追加バージョン: v1.10テストスイート全体の実行で許容されるテスト失敗の最大数。この数に達すると、テストは停止し、エラーで終了します。ゼロ (デフォルト) に設定すると、この動作は無効になります。
--max-failuresおよび-xオプションでコマンドラインでも利用可能です。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
maxFailures: process.env.CI ? 1 : 0,
});
タイプ
metadata
追加バージョン: v1.10メタデータには、レポートに含めるキーと値のペアが含まれます。たとえば、HTMLレポートではキーと値のペアとして表示され、JSONレポートではjsonとしてシリアル化されたメタデータが含まれます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
metadata: { title: 'acceptance tests' },
});
タイプ
name
追加バージョン: v1.10testProject.nameによってオーバーライドされない限り、設定名はレポートおよびテスト実行中に表示されます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
name: 'acceptance tests',
});
タイプ
outputDir
追加バージョン: v1.10テスト実行中に作成されたファイルの出力ディレクトリ。デフォルトは<package.json-directory>/test-resultsです。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
outputDir: './test-results',
});
タイプ
詳細
このディレクトリは開始時にクリーンアップされます。テストを実行する際、testConfig.outputDir内に一意のサブディレクトリが作成され、並行して実行されるテストが競合しないことが保証されます。このディレクトリにはtestInfo.outputDirおよびtestInfo.outputPath()からアクセスできます。
以下は、testInfo.outputPath()を使用して一時ファイルを作成する例です。
import { test, expect } from '@playwright/test';
import fs from 'fs';
test('example test', async ({}, testInfo) => {
const file = testInfo.outputPath('temporary-file.txt');
await fs.promises.writeFile(file, 'Put some data to the file', 'utf8');
});
preserveOutput
追加バージョン: v1.10testConfig.outputDirにテスト出力を保持するかどうか。デフォルトは'always'。
'always'- すべてのテストの出力を保持します。'never'- いずれのテストの出力も保持しません。'failures-only'- 失敗したテストの出力のみを保持します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
preserveOutput: 'always',
});
タイプ
- "always" | "never" | "failures-only"
projects
追加バージョン: v1.10Playwright Testは、複数のテストプロジェクトを同時に実行することをサポートしています。TestProjectの詳細を参照してください。
使用法
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
projects: [
{ name: 'chromium', use: devices['Desktop Chrome'] }
]
});
タイプ
quiet
追加バージョン: v1.10テストからの標準入出力および標準エラー出力を抑制するかどうか。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
quiet: !!process.env.CI,
});
タイプ
repeatEach
追加バージョン: v1.10各テストを繰り返す回数。不安定なテストのデバッグに役立ちます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
repeatEach: 3,
});
タイプ
reportSlowTests
追加バージョン: v1.10遅いテストファイルを報告するかどうか。この機能を無効にするにはnullを渡します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
reportSlowTests: null,
});
タイプ
詳細
thresholdミリ秒を超えたテストファイルは遅いと見なされ、最も遅いものがmax数を超えない範囲で報告されます。maxにゼロを渡すと、閾値を超えるすべてのテストファイルが報告されます。
reporter
追加バージョン: v1.10使用するレポーターのリスト。各レポーターは、
'list'や'json'のような組み込みレポーター名。'my-awesome-reporter'のようなモジュール名。'./reporters/my-awesome-reporter.js'のようなレポーターへの相対パス。
['json', { outputFile: './report.json' }]のようなタプルでレポーターにオプションを渡すことができます。
レポーターガイドで詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
reporter: 'line',
});
タイプ
respectGitIgnore
追加されたバージョン: v1.45テストファイルを探す際に.gitignoreのエントリをスキップするかどうか。デフォルトでは、testConfig.testDirもtestProject.testDirも明示的に指定されていない場合、Playwrightは.gitignoreのエントリに一致するすべてのテストファイルを無視します。
使用法
testConfig.respectGitIgnore
タイプ
retries
追加バージョン: v1.10失敗したテストに与えられる最大再試行回数。デフォルトでは、失敗したテストは再試行されません。テストの再試行について詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
retries: 2,
});
タイプ
shard
追加バージョン: v1.10テストをシャードし、選択されたシャードのみを実行します。{ total: 5, current: 2 }のように1から始まる形式で指定します。
Playwright Testでの並列実行とシャーディングについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
shard: { total: 10, current: 3 },
});
タイプ
snapshotPathTemplate
追加バージョン: v1.28このオプションは、expect(page).toHaveScreenshot()、expect(locator).toMatchAriaSnapshot()、expect(value).toMatchSnapshot()によって生成されるスナップショットの場所を制御するテンプレートを設定します。
testConfig.expectで各アサーションのテンプレートを個別に設定できます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
testDir: './tests',
// Single template for all assertions
snapshotPathTemplate: '{testDir}/__screenshots__/{testFilePath}/{arg}{ext}',
// Assertion-specific templates
expect: {
toHaveScreenshot: {
pathTemplate: '{testDir}/__screenshots__{/projectName}/{testFilePath}/{arg}{ext}',
},
toMatchAriaSnapshot: {
pathTemplate: '{testDir}/__snapshots__/{testFilePath}/{arg}{ext}',
},
},
});
タイプ
詳細
値には、テスト実行中に実際の値に置き換えられるいくつかの「トークン」を含めることができます。
以下のファイル構造を考慮してください。
playwright.config.ts
tests/
└── page/
└── page-click.spec.ts
そして、toHaveScreenshot()呼び出しを使用する以下のpage-click.spec.ts
import { test, expect } from '@playwright/test';
test.describe('suite', () => {
test('test should work', async ({ page }) => {
await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
});
});
サポートされているトークンのリスト
{arg}- 拡張子なしの相対スナップショットパス。これはtoHaveScreenshot()、toMatchAriaSnapshot()、またはtoMatchSnapshot()に渡された引数から来ます。引数なしで呼び出された場合、これは自動生成されたスナップショット名になります。- 値:
foo/bar/baz
- 値:
{ext}- スナップショットの拡張子 (先頭のドットを含む)。- 値:
.png
- 値:
{platform}-process.platformの値。{projectName}- プロジェクトのファイルシステムでサニタイズされた名前 (もしあれば)。- 値:
''(空文字列)。
- 値:
{snapshotDir}- プロジェクトのtestProject.snapshotDir。- 値:
/home/playwright/tests(設定でsnapshotDirが指定されていないため、testDirにデフォルト設定されます)
- 値:
{testDir}- プロジェクトのtestProject.testDir。- 値:
/home/playwright/tests(testDirがconfigのあるディレクトリからの相対パスとして解決されるため、絶対パス)
- 値:
{testFileDir}-testDirから**テストファイル**への相対パスのディレクトリ。- 値:
page
- 値:
{testFileName}- 拡張子付きテストファイル名。- 値:
page-click.spec.ts
- 値:
{testFilePath}-testDirから**テストファイル**への相対パス。- 値:
page/page-click.spec.ts
- 値:
{testName}- 親のdescribeを含むがファイル名を含まない、ファイルシステムでサニタイズされたテストタイトル。- 値:
suite-test-should-work
- 値:
各トークンの前には、このトークンが空でない値を持つ**場合のみ**使用される単一の文字を付けることができます。
以下の設定を考慮してください。
import { defineConfig } from '@playwright/test';
export default defineConfig({
snapshotPathTemplate: '__screenshots__{/projectName}/{testFilePath}/{arg}{ext}',
testMatch: 'example.spec.ts',
projects: [
{ use: { browserName: 'firefox' } },
{ name: 'chromium', use: { browserName: 'chromium' } },
],
});
この設定では
- 最初のプロジェクトには名前が**ありません**。そのため、スナップショットは
<configDir>/__screenshots__/example.spec.ts/...に保存されます。 - 2番目のプロジェクトには名前が**あります**。そのため、スナップショットは
<configDir>/__screenshots__/chromium/example.spec.ts/..に保存されます。 snapshotPathTemplateが相対パスとして解決されるため、configDirからの相対パスとして解決されます。- 順スラッシュ
"/"は、任意のプラットフォームでパス区切り文字として使用できます。
testDir
追加バージョン: v1.10テストファイルが再帰的にスキャンされるディレクトリ。設定ファイルのディレクトリにデフォルト設定されます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
testDir: './tests/playwright',
});
タイプ
testIgnore
追加バージョン: v1.10これらのパターンのいずれかに一致するファイルはテストファイルとして実行されません。マッチングは絶対ファイルパスに対して実行されます。文字列はグロブパターンとして扱われます。
たとえば、'**/test-assets/**'はtest-assetsディレクトリ内のすべてのファイルを無視します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
testIgnore: '**/test-assets/**',
});
タイプ
testMatch
追加バージョン: v1.10これらのパターンのいずれかに一致するファイルのみがテストファイルとして実行されます。マッチングは絶対ファイルパスに対して実行されます。文字列はグロブパターンとして扱われます。
デフォルトでは、Playwrightは**/*.@(spec|test).?(c|m)[jt]s?(x)のグロブパターンに一致するファイルを探します。これは、".test"または".spec"の接尾辞を持つJavaScriptまたはTypeScriptファイルを意味します。たとえば、login-screen.wrong-credentials.spec.tsなど。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
testMatch: /.*\.e2e\.js/,
});
タイプ
timeout
追加バージョン: v1.10各テストのタイムアウト (ミリ秒)。デフォルトは30秒です。
これはすべてのテストの基本タイムアウトです。さらに、各テストはtest.setTimeout()で独自のタイムアウトを設定できます。様々なタイムアウトについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
timeout: 5 * 60 * 1000,
});
タイプ
tsconfig
追加バージョン: v1.49インポートされるすべてのファイルに適用される単一のtsconfigへのパス。デフォルトでは、各インポートファイルのtsconfigは個別に検索されます。設定ファイルまたはその依存関係がロードされている間は、tsconfigプロパティは効果がありません。--tsconfigコマンドラインオプションが指定されている場合は無視されます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
tsconfig: './tsconfig.test.json',
});
タイプ
updateSnapshots
追加バージョン: v1.10テスト実行で生成された実際の結果で、期待されるスナップショットを更新するかどうか。デフォルトは'missing'。
'all'- 実行されたすべてのテストがスナップショットを更新します。'changed'- 実行されたすべてのテストは、一致しなかったスナップショットを更新します。一致するスナップショットは更新されません。'missing'- 不足しているスナップショットが作成されます。たとえば、新しいテストを作成して初めて実行する場合など。これがデフォルトです。'none'- スナップショットは更新されません。
スナップショットについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
updateSnapshots: 'missing',
});
タイプ
- "all" | "changed" | "missing" | "none"
updateSourceMethod
追加バージョン: v1.50ソースコード内のスナップショットの更新方法を定義します。
'patch'- 後でソースコードを更新するために使用できる統合差分ファイルを作成します。これがデフォルトです。'3way'- ソースコードにマージ競合マーカーを生成します。これにより、ユーザーはIDEでマージ競合を解決するように、関連する変更を手動で選択できます。'overwrite'- ソースコードを新しいスナップショット値で上書きします。
使用法
testConfig.updateSourceMethod
タイプ
- "overwrite" | "3way" | "patch"
use
追加バージョン: v1.10すべてのテストに対するグローバルオプション。例えばtestOptions.browserName。設定について詳しく学び、利用可能なオプションを参照してください。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
browserName: 'chromium',
},
});
タイプ
webServer
追加バージョン: v1.10テスト中に開発用Webサーバー (または複数) を起動します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
webServer: {
command: 'npm run start',
url: 'https://:3000',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
},
use: {
baseURL: 'https://:3000/',
},
});
これで、ページをナビゲートする際に相対パスを使用できるようになります。
import { test } from '@playwright/test';
test('test', async ({ page }) => {
// This will result in https://:3000/foo
await page.goto('/foo');
});
複数のWebサーバー (またはバックグラウンドプロセス) を起動できます。
import { defineConfig } from '@playwright/test';
export default defineConfig({
webServer: [
{
command: 'npm run start',
url: 'https://:3000',
name: 'Frontend',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
},
{
command: 'npm run backend',
url: 'https://:3333',
name: 'Backend',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
}
],
use: {
baseURL: 'https://:3000',
},
});
タイプ
- Object | Array<Object>
-
commandstring起動するシェルコマンド。例:
npm run start。 -
cwdstring (オプション)生成されたプロセスの現在の作業ディレクトリ。設定ファイルのディレクトリにデフォルト設定されます。
-
envObject<string, string> (オプション)コマンドに設定する環境変数。デフォルトは
process.envです。 -
gracefulShutdownObject (オプション)-
signal"SIGINT" | "SIGTERM" -
timeoutnumber
プロセスのシャットダウン方法。指定しない場合、プロセスグループは強制的に
SIGKILLされます。{ signal: 'SIGTERM', timeout: 500 }に設定すると、プロセスグループにSIGTERMシグナルが送信され、500ms以内に終了しない場合はSIGKILLが続きます。代わりにSIGINTをシグナルとして使用することもできます。0のタイムアウトはSIGKILLが送信されないことを意味します。WindowsはSIGTERMとSIGINTシグナルをサポートしていないため、このオプションはWindowsでは無視されます。DockerコンテナのシャットダウンにはSIGTERMが必要であることに注意してください。 -
-
ignoreHTTPSErrorsboolean (オプション)urlをフェッチする際にHTTPSエラーを無視するかどうか。デフォルトはfalseです。 -
namestring (optional)Webサーバーのカスタム名を指定します。この名前はログメッセージのプレフィックスとして使用されます。デフォルトは
[WebServer]です。 -
portnumber (オプション)HTTPサーバーが利用可能になることが期待されるポート。接続を受け入れるまで待機します。
portまたはurlのいずれかを指定する必要があります。 -
reuseExistingServerboolean (オプション)trueの場合、利用可能な場合は
portまたはurlで既存のサーバーを再利用します。そのportまたはurlでサーバーが実行されていない場合は、コマンドを実行して新しいサーバーを起動します。falseの場合、既存のプロセスがportまたはurlでリッスンしている場合にスローします。これは通常、ローカルでテストを実行する際にローカル開発サーバーを許可するために!process.env.CIに設定する必要があります。 -
stderr"pipe" | "ignore" (オプション)コマンドの標準エラー出力をプロセスの標準エラー出力にパイプするか、無視するかどうか。デフォルトは
"pipe"です。 -
stdout"pipe" | "ignore" (オプション)"pipe"の場合、コマンドの標準出力をプロセスの標準出力にパイプします。"ignore"の場合、コマンドの標準出力を無視します。デフォルトは"ignore"です。 -
timeoutnumber (optional)プロセスが起動して利用可能になるまでの最大待機時間 (ミリ秒)。デフォルトは60000です。
-
urlstring (オプション)サーバーが接続を受け入れる準備ができたときに、2xx、3xx、400、401、402、または403ステータスコードを返すことが期待されるHTTPサーバー上のURL。リダイレクト (3xxステータスコード) は追跡され、新しい場所がチェックされます。
portまたはurlのいずれかを指定する必要があります。
-
詳細
ポートが指定されている場合、Playwright Testはテストを実行する前に、127.0.0.1または::1で利用可能になるまで待機します。URLが指定されている場合、Playwright Testはテストを実行する前に、URLが2xx、3xx、400、401、402、または403ステータスコードを返すまで待機します。
継続的インテグレーションの場合、CIで既存のサーバーを使用しないreuseExistingServer: !process.env.CIオプションを使用することもできます。標準出力を見るには、DEBUG=pw:webserver環境変数を設定できます。
port (ただしurlではない) は、testOptions.baseURLとしてPlaywrightに渡されます。たとえば、ポート8080はbaseURLをhttps://:8080に設定します。webServerが配列として指定されている場合、baseURLを明示的に設定する必要があります (エントリが1つしかなくても)。
テストが相対URLを使用できるように、設定でtestOptions.baseURLを指定することも推奨されます。
workers
追加バージョン: v1.10テストを並列化するために使用する同時ワーカープロセスの最大数。論理CPUコアの割合 (例: '50%') としても設定できます。
Playwright Testはワーカープロセスを使用してテストを実行します。常に少なくとも1つのワーカープロセスがありますが、テスト実行を高速化するためにさらに多くのワーカープロセスを使用できます。
論理CPUコア数の半分にデフォルト設定されます。Playwright Testでの並列処理とシャーディングについて詳しく学ぶ。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
workers: 3,
});
タイプ
非推奨
snapshotDir
追加バージョン: v1.10スナップショットパスを設定するにはtestConfig.snapshotPathTemplateを使用します。
toMatchSnapshotで作成されたスナップショットファイルのベースディレクトリ。設定ファイルからの相対パス。デフォルトはtestConfig.testDirです。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
snapshotDir: './snapshots',
});
タイプ
詳細
各テストのディレクトリにはtestInfo.snapshotDirとtestInfo.snapshotPath()でアクセスできます。
このパスは、各テストファイルのスナップショットディレクトリのベースディレクトリとして機能します。snapshotDirを'snapshots'に設定すると、testInfo.snapshotDirはsnapshots/a.spec.js-snapshotsに解決されます。