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 を使用してください。