メインコンテンツにスキップ

TestOptions

Playwright Testは、テスト環境、ブラウザBrowserContextなどを構成するための多くのオプションを提供します。

これらのオプションは通常、設定ファイルtestConfig.usetestProject.useを通じて提供されます。

playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
headless: false,
viewport: { width: 1280, height: 720 },
ignoreHTTPSErrors: true,
video: 'on-first-retry',
},
});

または、test.use()を使用すると、ファイルの一部のオプションを上書きできます。

example.spec.ts
import { test, expect } from '@playwright/test';

// Run tests in this file with portrait-like viewport.
test.use({ viewport: { width: 600, height: 900 } });

test('my portrait test', async ({ page }) => {
// ...
});

プロパティ

acceptDownloads

追加バージョン: v1.10 testOptions.acceptDownloads

すべての添付ファイルを自動的にダウンロードするかどうか。デフォルトはtrueで、すべてのダウンロードが受け入れられます。

使用法

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

export default defineConfig({
use: {
acceptDownloads: false,
},
});

タイプ


actionTimeout

追加バージョン: v1.10 testOptions.actionTimeout

各Playwrightアクションのデフォルトのタイムアウト(ミリ秒単位)。デフォルトは0(タイムアウトなし)。

これは、page.setDefaultTimeout()で設定されたものと同じ、すべてのPlaywrightアクションのデフォルトのタイムアウトです。

使用法

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
use: {
/* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
actionTimeout: 0,
},
});

さまざまなタイムアウトについて詳しく学ぶ。

タイプ


baseURL

追加バージョン: v1.10 testOptions.baseURL

page.goto(), page.route(), page.waitForURL(), page.waitForRequest(), または page.waitForResponse()を使用する場合、URL()コンストラクタを使用して対応するURLを構築することにより、ベースURLが考慮されます。デフォルトでは未設定です。例

  • baseURL: https://:3000/bar.htmlにナビゲートすると、https://:3000/bar.htmlになります。
  • baseURL: https://:3000/foo/./bar.htmlにナビゲートすると、https://:3000/foo/bar.htmlになります。
  • baseURL: https://:3000/foo(末尾にスラッシュなし)で./bar.htmlにナビゲートすると、https://:3000/bar.htmlになります。

使用法

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
use: {
/* Base URL to use in actions like `await page.goto('/')`. */
baseURL: 'https://:3000',
},
});

タイプ


browserName

追加バージョン: v1.10 testOptions.browserName

テストを実行するブラウザの名前。デフォルトは'chromium'です。ほとんどの場合、TestConfigbrowserNameを設定する必要があります。

使用法

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

export default defineConfig({
use: {
browserName: 'firefox',
},
});

タイプ

  • "chromium" | "firefox" | "webkit"

bypassCSP

追加バージョン: v1.10 testOptions.bypassCSP

ページのコンテンツセキュリティポリシーをバイパスするかどうかを切り替えます。デフォルトはfalseです。

使用法

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

export default defineConfig({
use: {
bypassCSP: true,
}
});

タイプ


channel

追加バージョン: v1.10 testOptions.channel

ブラウザ配布チャネル。

新しいヘッドレスモードを有効にするには、「chromium」を使用します。

ブランドのGoogle ChromeおよびMicrosoft Edgeを使用するには、「chrome」、「chrome-beta」、「chrome-dev」、「chrome-canary」、「msedge」、「msedge-beta」、「msedge-dev」、または「msedge-canary」を使用します。

使用法

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

export default defineConfig({
projects: [
{
name: 'Microsoft Edge',
use: {
...devices['Desktop Edge'],
channel: 'msedge'
},
},
]
});

タイプ


clientCertificates

追加されたバージョン: 1.46 testOptions.clientCertificates

TLSクライアント認証により、サーバーはクライアント証明書を要求し、それを検証できます。

使用法

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

export default defineConfig({
use: {
clientCertificates: [{
origin: 'https://example.com',
certPath: './cert.pem',
keyPath: './key.pem',
passphrase: 'mysecretpassword',
}],
},
});

タイプ

  • Array<Object>
    • origin string

      証明書が有効な正確なオリジン。オリジンにはhttpsプロトコル、ホスト名、オプションでポートが含まれます。

    • certPath string (optional)

      PEM形式の証明書ファイルへのパス。

    • cert Buffer (optional)

      PEM形式の証明書の直接値。

    • keyPath string (optional)

      PEM形式の秘密鍵ファイルへのパス。

    • key Buffer (optional)

      PEM形式の秘密鍵の直接値。

    • pfxPath string (optional)

      PFXまたはPKCS12形式でエンコードされた秘密鍵と証明書チェーンへのパス。

    • pfx Buffer (optional)

      PFXまたはPKCS12形式でエンコードされた秘密鍵と証明書チェーンの直接値。

    • passphrase string (optional)

      秘密鍵(PEMまたはPFX)のパスフレーズ。

詳細

使用するクライアント証明書の配列。各証明書オブジェクトは、certPathkeyPathの両方、単一のpfxPath、またはそれらに対応する直接値(certkey、またはpfx)のいずれかを持っている必要があります。オプションで、証明書が暗号化されている場合はpassphraseプロパティを提供する必要があります。originプロパティは、証明書が有効なリクエストオリジンと正確に一致するように提供する必要があります。

クライアント証明書認証は、少なくとも1つのクライアント証明書が提供された場合にのみ有効になります。サーバーから送信されたすべてのクライアント証明書を拒否したい場合は、訪問する予定のドメインのいずれとも一致しないoriginを持つクライアント証明書を提供する必要があります。

macOSでWebKitを使用している場合、localhostにアクセスしてもクライアント証明書は取得されません。localhostlocal.playwrightに置き換えることで機能させることができます。


colorScheme

追加バージョン: v1.10 testOptions.colorScheme

prefers-colors-schemeメディア機能をエミュレートします。サポートされている値は'light''dark'です。詳細についてはpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'light'です。

使用法

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

export default defineConfig({
use: {
colorScheme: 'dark',
},
});

タイプ

  • null | "light" | "dark" | "no-preference"

connectOptions

追加バージョン: v1.10 testOptions.connectOptions

使用法

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

export default defineConfig({
use: {
connectOptions: {
wsEndpoint: 'ws://:5678',
},
},
});

接続オプションが指定されている場合、デフォルトのfixtures.browserfixtures.context、およびfixtures.pageは、ローカルでブラウザを起動する代わりにリモートブラウザを使用し、testOptions.headlesstestOptions.channelなどの起動オプションは無視されます。

タイプ

  • void | Object
    • wsEndpoint string

      接続するブラウザのwebsocketエンドポイント。

    • headers void | Object<string, string> (オプション)

      Webソケット接続リクエストと共に送信される追加のHTTPヘッダー。オプション。

    • timeout number (optional)

      接続が確立されるまでのタイムアウト(ミリ秒単位)。オプション。デフォルトはタイムアウトなし。

    • exposeNetwork string (オプション)

      接続するクライアントで利用可能なネットワークを、接続先のブラウザに公開するオプション。詳細については、browserType.connect()を参照してください。


contextOptions

追加バージョン: v1.10 testOptions.contextOptions

browser.newContext()に渡される、コンテキストを作成するために使用されるオプション。 testOptions.viewportなどの特定のオプションは、これよりも優先されます。

使用法

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

export default defineConfig({
use: {
contextOptions: {
reducedMotion: 'reduce',
},
},
});

タイプ


deviceScaleFactor

追加バージョン: v1.10 testOptions.deviceScaleFactor

デバイスのスケールファクタ(dprと考えることができます)を指定します。デフォルトは1です。デバイススケールファクタによるデバイスエミュレーションについて詳しく学びましょう。

使用法

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

export default defineConfig({
use: {
viewport: { width: 2560, height: 1440 },
deviceScaleFactor: 2,
},
});

タイプ


extraHTTPHeaders

追加バージョン: v1.10 testOptions.extraHTTPHeaders

すべてのリクエストと一緒に送信される追加のHTTPヘッダーを含むオブジェクト。デフォルトはなし。

使用法

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

export default defineConfig({
use: {
extraHTTPHeaders: {
'X-My-Header': 'value',
},
},
});

タイプ


geolocation

追加バージョン: v1.10 testOptions.geolocation

使用法

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

export default defineConfig({
use: {
geolocation: { longitude: 12.492507, latitude: 41.889938 },
},
});

位置情報について詳しく学ぶ。

タイプ

  • Object
    • latitude number

      -90から90の間の緯度。

    • longitude number

      -180から180の間の経度。

    • accuracy number (optional)

      非負の精度値。デフォルトは0です。


hasTouch

追加バージョン: v1.10 testOptions.hasTouch

ビューポートがタッチイベントをサポートするかどうかを指定します。デフォルトはfalseです。モバイルエミュレーションについて詳しく学びましょう。

使用法

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

export default defineConfig({
use: {
hasTouch: true
},
});

タイプ


headless

追加バージョン: v1.10 testOptions.headless

ブラウザをヘッドレスモードで実行するかどうか。 ChromiumFirefoxの詳細。 devtoolsオプションがtrueでない限り、デフォルトはtrueです。

使用法

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

export default defineConfig({
use: {
headless: false
},
});

タイプ


httpCredentials

追加バージョン: v1.10 testOptions.httpCredentials

HTTP認証用の資格情報。オリジンが指定されていない場合、ユーザー名とパスワードは、不正な応答があった場合にすべてのサーバーに送信されます。

使用法

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

export default defineConfig({
use: {
httpCredentials: {
username: 'user',
password: 'pass',
},
},
});

タイプ

  • Object
    • username string

    • password string

    • origin string (optional)

      特定のオリジン(scheme://host:port)でのhttp資格情報の送信を制限します:ポート).

    • send "unauthorized" | "always" (optional)

      このオプションは、対応するAPIRequestContextから送信されたリクエストにのみ適用され、ブラウザから送信されたリクエストには影響しません。'always' - 基本認証資格情報を含むAuthorizationヘッダーは、各APIリクエストとともに送信されます。'unauthorized - 資格情報は、WWW-Authenticateヘッダーを持つ401(Unauthorized)応答が受信された場合にのみ送信されます。デフォルトは'unauthorized'です。


ignoreHTTPSErrors

追加バージョン: v1.10 testOptions.ignoreHTTPSErrors

ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

使用法

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

export default defineConfig({
use: {
ignoreHTTPSErrors: true,
},
});

タイプ


isMobile

追加バージョン: v1.10 testOptions.isMobile

meta viewportタグが考慮され、タッチイベントが有効になるかどうか。isMobileはデバイスの一部なので、手動で設定する必要はありません。デフォルトはfalseで、Firefoxではサポートされていません。モバイルエミュレーションについて詳しく学びましょう。

使用法

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

export default defineConfig({
use: {
isMobile: false,
},
});

タイプ


javaScriptEnabled

追加バージョン: v1.10 testOptions.javaScriptEnabled

コンテキストでJavaScriptを有効にするかどうか。デフォルトはtrueです。JavaScriptの無効化について詳しく学びましょう。

使用法

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

export default defineConfig({
use: {
javaScriptEnabled: false,
},
});

タイプ


launchOptions

追加バージョン: v1.10 testOptions.launchOptions

browserType.launch()に渡される、ブラウザを起動するために使用されるオプション。 testOptions.headlessおよびtestOptions.channelなどの特定のオプションは、これよりも優先されます。

警告

一部のカスタムブラウザ引数はPlaywrightの機能を破壊する可能性があるため、自己責任で使用してください。

使用法

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

export default defineConfig({
projects: [
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
launchOptions: {
args: ['--start-maximized']
}
}
}
]
});

タイプ


locale

追加バージョン: v1.10 testOptions.locale

ユーザーロケールを指定します。たとえば、en-GBde-DEなど。ロケールは、navigator.languageの値、Accept-Languageリクエストヘッダーの値、および数値と日付の書式設定ルールに影響します。デフォルトはen-USです。エミュレーションガイドでエミュレーションについて詳しく学ぶ。

使用法

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

export default defineConfig({
use: {
locale: 'it-IT',
},
});

タイプ


navigationTimeout

追加バージョン: v1.10 testOptions.navigationTimeout

各ナビゲーションアクションのタイムアウト(ミリ秒単位)。デフォルトは0(タイムアウトなし)。

これは、page.setDefaultNavigationTimeout()で設定されたものと同じ、デフォルトのナビゲーションタイムアウトです。

使用法

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

export default defineConfig({
use: {
navigationTimeout: 3000,
},
});

さまざまなタイムアウトについて詳しく学ぶ。

タイプ


offline

追加バージョン: v1.10 testOptions.offline

ネットワークがオフラインであるとエミュレートするかどうか。デフォルトはfalseです。ネットワークエミュレーションについて詳しく学びましょう。

使用法

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

export default defineConfig({
use: {
offline: true
},
});

タイプ


permissions

追加バージョン: v1.10 testOptions.permissions

このコンテキストのすべてのページに付与する権限のリスト。詳細についてはbrowserContext.grantPermissions()を参照してください。デフォルトはなしです。

使用法

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

export default defineConfig({
use: {
permissions: ['notifications'],
},
});

タイプ


proxy

追加バージョン: v1.10 testOptions.proxy

ネットワークプロキシ設定。

使用法

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

export default defineConfig({
use: {
proxy: {
server: 'http://myproxy.com:3128',
bypass: 'localhost',
},
},
});

タイプ

  • Object
    • server string

      すべてのリクエストに使用するプロキシ。HTTPおよびSOCKSプロキシがサポートされており、例としてhttp://myproxy.com:3128またはsocks5://myproxy.com:3128があります。短縮形myproxy.com:3128はHTTPプロキシと見なされます。

    • bypass string (optional)

      プロキシをバイパスするオプションのカンマ区切りドメイン。例: ".com, chromium.org, .domain.com"

    • username string (optional)

      HTTPプロキシが認証を必要とする場合に使用するオプションのユーザー名。

    • password string (optional)

      HTTPプロキシが認証を必要とする場合に使用するオプションのパスワード。


screenshot

追加バージョン: v1.10 testOptions.screenshot

各テスト後に自動的にスクリーンショットをキャプチャするかどうか。デフォルトは'off'です。

  • 'off': スクリーンショットをキャプチャしない。
  • 'on': 各テスト後にスクリーンショットをキャプチャする。
  • 'only-on-failure': 各テスト失敗後にスクリーンショットをキャプチャする。
  • 'on-first-failure': 各テストの最初の失敗後にスクリーンショットをキャプチャする。

使用法

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

export default defineConfig({
use: {
screenshot: 'only-on-failure',
},
});

自動スクリーンショットについて詳しく学ぶ。

タイプ

  • Object | "off" | "on" | "only-on-failure" | "on-first-failure"
    • mode "off" | "on" | "only-on-failure" | "on-first-failure"

      自動スクリーンショットモード。

    • fullPage boolean (オプション)

      trueの場合、現在表示されているビューポートではなく、スクロール可能なページ全体のスクリーンショットを撮ります。デフォルトは false です。

    • omitBackground boolean (オプション)

      デフォルトの白い背景を非表示にし、透過性のあるスクリーンショットをキャプチャできるようにします。jpeg画像には適用されません。デフォルトはfalseです。


serviceWorkers

追加バージョン: v1.10 testOptions.serviceWorkers

サイトがサービスワーカーを登録することを許可するかどうか。デフォルトは'allow'です。

  • 'allow': サービスワーカーを登録できます。
  • 'block': Playwrightはすべてのサービスワーカーの登録をブロックします。

使用法

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

export default defineConfig({
use: {
serviceWorkers: 'allow'
},
});

タイプ

  • "allow" | "block"

storageState

追加バージョン: v1.10 testOptions.storageState

ストレージ状態と認証について詳しく学ぶ。

与えられたストレージ状態をコンテキストに設定します。このオプションは、browserContext.storageState()を介して取得したログイン情報でコンテキストを初期化するために使用できます。

使用法

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

export default defineConfig({
use: {
storageState: 'storage-state.json',
},
});

タイプ

  • string | Object
    • cookies Array<Object>

      • name string

      • value string

      • domain string

        ドメインとパスは必須です。クッキーをすべてのサブドメインにも適用するには、このようにドメインをドットでプレフィックスします: ".example.com"

      • path string

        ドメインとパスは必須です

      • expires number

        Unix 時間 (秒)。

      • httpOnly boolean

      • secure boolean

      • sameSite "Strict" | "Lax" | "None"

        sameSite フラグ

      コンテキストに設定するクッキー

    • origins Array<Object>

詳細

設定でストレージ状態が設定されている場合、ファイルのためにストレージ状態をリセットすることができます

not-signed-in.spec.ts
import { test } from '@playwright/test';

// Reset storage state for this file to avoid being authenticated
test.use({ storageState: { cookies: [], origins: [] } });

test('not signed in test', async ({ page }) => {
// ...
});

testIdAttribute

追加バージョン: v1.27 testOptions.testIdAttribute

page.getByTestId()で使用されるカスタム属性。デフォルトではdata-testidが使用されます。

使用法

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

export default defineConfig({
use: {
testIdAttribute: 'pw-test-id',
},
});

timezoneId

追加バージョン: v1.10 testOptions.timezoneId

コンテキストのタイムゾーンを変更します。サポートされているタイムゾーンIDのリストについては、ICUのmetaZones.txtを参照してください。デフォルトはシステムのタイムゾーンです。

使用法

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

export default defineConfig({
use: {
timezoneId: 'Europe/Rome',
},
});

タイプ


trace

追加バージョン: v1.10 testOptions.trace

各テストのトレースを記録するかどうか。デフォルトは'off'です。

  • 'off': トレースを記録しない。
  • 'on': 各テストのトレースを記録する。
  • 'on-first-retry': 初めてテストを再試行する場合にのみトレースを記録する。
  • 'on-all-retries': テストを再試行する場合にのみトレースを記録する。
  • 'retain-on-failure': 各テストのトレースを記録する。テスト実行が成功した場合は、記録されたトレースを削除する。
  • 'retain-on-first-failure': 各テストの最初の実行のトレースを記録するが、再試行は記録しない。テスト実行が成功した場合は、記録されたトレースを削除する。

より詳細な制御のため、modeと有効にするトレース機能を指定するオブジェクトを渡します。

使用法

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

export default defineConfig({
use: {
trace: 'on-first-retry'
},
});

トレースの記録について詳しく学ぶ。

タイプ

  • Object | "off" | "on" | "retain-on-failure" | "on-first-retry" | "retain-on-first-failure"
    • mode "off" | "on" | "retain-on-failure" | "on-first-retry" | "on-all-retries" | "retain-on-first-failure"

      トレース記録モード。

    • attachments boolean (オプション)

      テストの添付ファイルを含めるかどうか。デフォルトはtrue。オプション。

    • screenshots boolean (オプション)

      トレース中にスクリーンショットをキャプチャするかどうか。スクリーンショットはタイムラインプレビューの構築に使用されます。デフォルトはtrue。オプション。

    • snapshots boolean (オプション)

      すべてのアクションでDOMスナップショットをキャプチャするかどうか。デフォルトはtrue。オプション。

    • sources boolean (オプション)

      トレースアクションのソースファイルを含めるかどうか。デフォルトはtrue。オプション。


userAgent

追加バージョン: v1.10 testOptions.userAgent

このコンテキストで使用する特定のユーザーエージェント。

使用法

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

export default defineConfig({
use: {
userAgent: 'some custom ua',
},
});

タイプ


video

追加バージョン: v1.10 testOptions.video

各テストのビデオを記録するかどうか。デフォルトは'off'です。

  • 'off': ビデオを記録しない。
  • 'on': 各テストのビデオを記録する。
  • 'retain-on-failure': 各テストのビデオを記録するが、成功したテスト実行のすべてのビデオを削除する。
  • 'on-first-retry': 初めてテストを再試行する場合にのみビデオを記録する。

ビデオサイズを制御するには、modesizeプロパティを持つオブジェクトを渡します。ビデオサイズが指定されていない場合、testOptions.viewportを800x800に縮小したサイズと等しくなります。viewportが明示的に設定されていない場合、ビデオサイズはデフォルトで800x450になります。必要に応じて、各ページの実際の画像は指定されたサイズに合わせて縮小されます。

使用法

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

export default defineConfig({
use: {
video: 'on-first-retry',
},
});

ビデオの記録について詳しく学ぶ。

タイプ

  • Object | "off" | "on" | "retain-on-failure" | "on-first-retry"
    • mode "off" | "on" | "retain-on-failure" | "on-first-retry"

      ビデオ記録モード。

    • size Object (optional)

      記録されたビデオのサイズ。オプション。


viewport

追加バージョン: v1.10 testOptions.viewport

各ページの一貫したビューポートをエミュレートします。デフォルトは1280x720ビューポートです。一貫したビューポートエミュレーションを無効にするにはnullを使用します。ビューポートエミュレーションについて詳しく学びましょう。

null値はデフォルトのプリセットからオプトアウトし、ビューポートをオペレーティングシステムによって定義されるホストウィンドウサイズに依存させます。これにより、テストの実行が非決定論的になります。

使用法

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

export default defineConfig({
use: {
viewport: { width: 100, height: 100 },
},
});

タイプ

  • null | Object
    • width number

      ページ幅(ピクセル単位)。

    • height number

      ページ高さ(ピクセル単位)。