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
情報をキャプチャすると、レポートを実際のソースdiffで充実させるのに役立ちます。この情報は、テストの修正方法に関するインテリジェントなアドバイスを提供するために使用できます。
これらの設定のデフォルト値は、環境によって異なります。git情報を取得することが安全なCIの一部としてテストが実行される場合、デフォルト値はtrue
、それ以外の場合はfalse
です。
gitコミットメタデータの構造は変更される可能性があります。
expect
追加: v1.10expect
アサーションライブラリの設定。さまざまなタイムアウトについて詳しくはこちらをご覧ください。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
expect: {
timeout: 10000,
toMatchSnapshot: {
maxDiffPixels: 10,
},
},
});
タイプ
- オブジェクト
-
timeout
number (オプション)非同期expectマッチャーのデフォルトタイムアウト(ミリ秒単位)。デフォルトは5000msです。
-
toHaveScreenshot
Object (オプション)-
animations
"allow" | "disabled" (オプション)animations(page.screenshot()内)を参照してください。デフォルトは
"disabled"
です。 -
caret
"hide" | "initial" (オプション)caret(page.screenshot()内)を参照してください。デフォルトは
"hide"
です。 -
maxDiffPixels
number (オプション)許容できる差異ピクセル数。デフォルトでは設定されていません。
-
maxDiffPixelRatio
number (オプション)全ピクセル数に対する差異ピクセル数の許容できる比率。
0
から1
の間で、デフォルトでは設定されていません。 -
scale
"css" | "device" (オプション)scale(page.screenshot()内)を参照してください。デフォルトは
"css"
です。 -
stylePath
string | Array<string> (オプション)style(page.screenshot()内)を参照してください。
-
threshold
number (オプション)比較画像内の同じピクセル間の許容できる知覚的な色の違い。
0
(厳密)から1
(寛容)の範囲です。"pixelmatch"
コンパレータはYIQ色空間で色の違いを計算し、デフォルトのthreshold
値は0.2
です。 -
pathTemplate
string (オプション)スクリーンショットの場所を制御するテンプレート。testConfig.snapshotPathTemplateの詳細を参照してください。
expect(page).toHaveScreenshot()メソッドの設定。
-
-
toMatchAriaSnapshot
Object (オプション)-
pathTemplate
string (オプション)ariaスナップショットの場所を制御するテンプレート。testConfig.snapshotPathTemplateの詳細を参照してください。
-
-
toMatchSnapshot
Object (オプション)-
maxDiffPixels
number (オプション)許容できる差異ピクセル数。デフォルトでは設定されていません。
-
maxDiffPixelRatio
number (オプション)全ピクセル数に対する差異ピクセル数の許容できる比率。
0
から1
の間で、デフォルトでは設定されていません。 -
threshold
number (オプション)比較画像内の同じピクセル間の許容できる知覚的な色の違い。
0
(厳密)から1
(寛容)の範囲です。"pixelmatch"
コンパレータはYIQ色空間で色の違いを計算し、デフォルトのthreshold
値は0.2
です。
expect(value).toMatchSnapshot()メソッドの設定。
-
-
toPass
Object (オプション)-
intervals
Array<number> (オプション)toPassメソッドのプローブ間隔(ミリ秒単位)。
-
timeout
number (オプション)toPassメソッドのタイムアウト(ミリ秒単位)。
expect(value).toPass()メソッドの設定。
-
-
forbidOnly
追加: v1.10test.only()またはtest.describe.only()としてマークされているテストまたはグループがある場合に、エラーで終了するかどうか。CIで役立ちます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
forbidOnly: !!process.env.CI,
});
タイプ
fullyParallel
追加: v1.20Playwright Testはテストを並行して実行します。これを実現するために、同時に実行される複数のworkerプロセスを実行します。デフォルトでは、テストファイルは並行して実行されます。単一ファイル内のテストは、同じworkerプロセス内で順番に実行されます。
このオプションを使用すると、すべてのファイルのすべてのテストを同時に実行するようにテスト実行全体を設定できます。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
fullyParallel: true,
});
タイプ
globalSetup
追加: v1.10グローバルセットアップファイルへのパス。このファイルは、すべてのテストの前にrequireおよび実行されます。FullConfig引数を取る単一の関数をエクスポートする必要があります。複数のグローバルセットアップファイルを指定するには、パスの配列を渡します。
グローバルセットアップとティアダウンの詳細をご覧ください。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
globalSetup: './global-setup',
});
タイプ
globalTeardown
追加: v1.10グローバルティアダウンファイルへのパス。このファイルは、すべてのテストの後にrequireおよび実行されます。単一の関数をエクスポートする必要があります。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.10設定名は、testProject.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テストからのstdioおよびstderr出力を抑制するかどうか。
使用法
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
が設定ディレクトリに対して相対的に解決されるため、絶対パス)
- 値:
{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これらのパターンのいずれかに一致するファイルは、テストファイルとして実行されません。マッチングは絶対ファイルパスに対して実行されます。文字列はglobパターンとして扱われます。
たとえば、'**/test-assets/**'
はtest-assets
ディレクトリ内のすべてのファイルを無視します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
testIgnore: '**/test-assets/**',
});
タイプ
testMatch
追加: v1.10これらのパターンのいずれかに一致するファイルのみがテストファイルとして実行されます。マッチングは絶対ファイルパスに対して実行されます。文字列はglobパターンとして扱われます。
デフォルトでは、Playwrightは次のglobパターンに一致するファイルを検索します: **/*.@(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'
- 後でソースコードを更新するために使用できるunified diffファイルを作成します。これがデフォルトです。'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テスト中に開発用ウェブサーバー(または複数)を起動します。
使用法
import { defineConfig } from '@playwright/test';
export default defineConfig({
webServer: {
command: 'npm run start',
url: 'http://localhost:3000',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
},
use: {
baseURL: 'http://localhost:3000/',
},
});
これで、ページをナビゲートする際に相対パスを使用できます
import { test } from '@playwright/test';
test('test', async ({ page }) => {
// This will result in http://localhost:3000/foo
await page.goto('/foo');
});
複数のウェブサーバー(またはバックグラウンドプロセス)を起動できます
import { defineConfig } from '@playwright/test';
export default defineConfig({
webServer: [
{
command: 'npm run start',
url: 'http://localhost:3000',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
},
{
command: 'npm run backend',
url: 'http://localhost:3333',
timeout: 120 * 1000,
reuseExistingServer: !process.env.CI,
}
],
use: {
baseURL: 'http://localhost:3000',
},
});
タイプ
- Object | Array<Object>
-
command
string起動するシェルコマンド。例:
npm run start
。 -
cwd
string (オプション)生成されたプロセスの現在の作業ディレクトリ。デフォルトは設定ファイルのディレクトリです。
-
env
Object<string, string> (オプション)コマンドに設定する環境変数。デフォルトは
process.env
です。 -
ignoreHTTPSErrors
boolean (オプション)url
をフェッチする際にHTTPSエラーを無視するかどうか。デフォルトはfalse
です。 -
port
number (オプション)HTTPサーバーがリッスンするポート。接続を受け入れるまで待機します。
port
またはurl
のいずれかを指定する必要があります。 -
reuseExistingServer
boolean (オプション)trueの場合、
port
またはurl
で既存のサーバーが利用可能な場合は再利用します。そのport
またはurl
でサーバーが実行されていない場合、新しいサーバーを起動するコマンドを実行します。false
の場合、既存のプロセスがport
またはurl
でリッスンしているとエラーをスローします。これは、ローカルでテストを実行する際にローカル開発サーバーを許可するために、一般的に!process.env.CI
に設定する必要があります。 -
stdout
"pipe" | "ignore" (オプション)"pipe"
の場合、コマンドのstdoutをプロセスstdoutにパイプします。"ignore"
の場合、コマンドのstdoutを無視します。デフォルトは"ignore"
です。 -
stderr
"pipe" | "ignore" (オプション)コマンドのstderrをプロセスstderrにパイプするか、無視するか。デフォルトは
"pipe"
です。 -
timeout
number (オプション)プロセスが起動して利用可能になるまで待機する時間(ミリ秒単位)。デフォルトは 60000 です。
-
gracefulShutdown
Object (オプション)-
signal
"SIGINT" | "SIGTERM" -
timeout
number
プロセスをシャットダウンする方法。指定しない場合、プロセスグループは強制的に
SIGKILL
されます。{ signal: 'SIGTERM', timeout: 500 }
に設定すると、プロセスグループにSIGTERM
シグナルが送信され、500ms以内に終了しない場合はSIGKILL
が続きます。代わりにSIGINT
をシグナルとして使用することもできます。0
のタイムアウトは、SIGKILL
が送信されないことを意味します。WindowsはSIGTERM
およびSIGINT
シグナルをサポートしていないため、このオプションはWindowsでは無視されます。DockerコンテナをシャットダウンするにはSIGTERM
が必要であることに注意してください。 -
-
url
string (オプション)HTTPサーバー上のURL。サーバーが接続を受け入れる準備ができたときに、2xx、3xx、400、401、402、または403のステータスコードを返すことが期待されます。リダイレクト(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
オプションを使用することをお勧めします。stdoutを確認するには、DEBUG=pw:webserver
環境変数を設定できます。
port
(url
ではない)は、Playwrightに testOptions.baseURL として渡されます。例えば、ポート 8080
は baseURL
= http://localhost:8080
を生成します。webServer
が配列として指定されている場合、(エントリが1つしかない場合でも)baseURL
を明示的に設定する必要があります。
設定で testOptions.baseURL を指定することも推奨されます。これにより、テストで相対URLを使用できるようになります。
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
に解決されます。