WebdriverIO の設定
Playwright と WebdriverIO
プロジェクトでまだ WebdriverIO を使用していない場合は、設定が簡単でより柔軟な API を持つ Playwright から始めることをお勧めします。
デフォルトでは、TypeScript はプロバイダオプションと追加の expect
プロパティを認識しません。カスタムオプションの定義をTypeScriptに認識させるには、@vitest/browser/providers/webdriverio
を参照するようにしてください。
/// <reference types="@vitest/browser/providers/webdriverio" />
または、tsconfig.json
ファイルの compilerOptions.types
フィールドに追加することもできます。このフィールドに何かを指定すると、@types/*
パッケージの 自動読み込み が無効になりますので注意してください。
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}
Vitest は、同じファイル内のすべてのテストを実行するために、単一のページを開きます。RemoteOptions
で指定された任意のプロパティを instances
で設定できます。
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})
WARNING
Vitest 3 以前では、これらのオプションは test.browser.providerOptions
プロパティにありました。
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});
providerOptions
は instances
の使用が推奨されるため、非推奨となりました。
利用可能なオプションのほとんどは、WebdriverIO ドキュメント で確認できます。Vitest は webdriverio
のブラウザ機能のみを使用するため、すべてのテストランナーオプションは無視される点に注意してください。
TIP
最も有用なオプションは capabilities
オブジェクトに含まれています。WebdriverIO はネストされた機能も許可しますが、Vitest は複数のブラウザを起動するために別の仕組みを使用しているため、これらのオプションは無視されます。
Vitest は capabilities.browserName
を無視する点に注意してください。代わりに test.browser.instances.name
を使用してください。