コンポーネントテスト
WebdriverIOのブラウザランナーを使用すると、WebdriverIOとWebDriverプロトコルを使って、実際のデスクトップまたはモバイルブラウザ内でテストを実行し、ページにレンダリングされる内容を自動化して操作することができます。このアプローチは、JSDOMに対し てのみテストを許可する他のテストフレームワークと比較して、多くの利点があります。
どのように機能するのか?
ブラウザランナーはViteを使用してテストページをレンダリングし、ブラウザでテストを実行するためのテストフレームワークを初期化します。現在はMochaのみをサポートしていますが、JasmineとCucumberはロードマップ上にあります。これにより、Viteを使用していないプロジェクトであっても、あらゆる種類のコンポーネントをテストすることができます。
ViteサーバーはWebdriverIOテストランナーによって起動され、通常のe2eテストで使用していたすべてのレポーターとサービスを使用できるように構成されています。さらに、ページ上の任意の要素と対話するためのWebdriverIO APIのサブセットにアクセスできるbrowser
インスタンスを初期化します。e2eテストと同様に、グローバルスコープにアタッチされたbrowser
変数を通じて、またはinjectGlobals
の設定に応じて@wdio/globals
からインポートしてそのインスタンスにアクセスできます。
WebdriverIOは以下のフレームワークに対する組み込みサポートを提供 しています:
- Nuxt: WebdriverIOのテストランナーはNuxtアプリケーションを検出し、プロジェクトのコンポーザブルを自動的にセットアップし、Nuxtバックエンドのモック化をサポートします。詳細はNuxtのドキュメントを参照してください。
- TailwindCSS: WebdriverIOのテストランナーはTailwindCSSを使用しているかを検出し、環境を適切にテストページに読み込みます。
セットアップ
ブラウザでのユニットテストまたはコンポーネントテスト用にWebdriverIOをセットアップするには、以下のコマンドで新しいWebdriverIOプロジェクトを初期化します:
npm init wdio@latest ./
# または
yarn create wdio ./