なぜ Webdriver.IO なのか?
WebdriverIO は、最新の Web およびモバイルアプリケーションを自動化するために構築された進歩的な自動化フレームワークです。アプリとの対話を簡素化し、スケーラブルで堅牢かつ安定したテストスイートの作成に役立つプラグインセットを提供します。
以下の点を考慮して設計されています。
- 拡張性 - ヘルパー関数や、既存のコマンドのより複雑なセットや組み合わせの追加は、シンプルかつ非常に便利です。
- 互換性 - WebdriverIO は、真のクロスブラウザテストのための WebDriver プロトコルと、Puppeteerを使用した Chromium ベースの自動化のための Chrome DevTools プロトコルで実行できます。
- 豊富な機能 - 豊富な種類の内蔵およびコミュニティプラグインにより、要件を満たすようにセットアップを簡単に統合および拡張できます。
WebdriverIO を使用して、以下を自動化できます。
- 🌐 React、Vue、Angular、Svelte などのフロントエンドフレームワークで記述された最新の Web アプリケーション
- 📱 エミュレーター/シミュレーターまたは実機で実行されるハイブリッドまたはネイティブモバイルアプリケーション
- 💻 ネイティブデスクトップアプリケーション(例:Electron.js で記述されたもの)
- 📦 ブラウザでの Web コンポーネントのユニットテストまたはコンポーネントテスト
Web 標準に基づいています
WebdriverIO は、すべてのブラウザベンダーによって開発およびサポートされ、真のクロスブラウジングテストエクスペリエンスを保証する WebDriver および WebDriver-BiDi プロトコルの力を活用しています。他の自動化ツールでは、実際のユーザーが使用しない変更されたブラウザエンジンをダウンロードしたり、JavaScript を挿入してユーザーの動作をエミュレートする必要がありますが、WebdriverIO は、適切にテストされており、今後数十年にわたって互換性を保証する、自動化に関する共通の合意された標準に依存しています。
さらに、WebdriverIO は、デバッグとイントロスペクションの目的で、Chrome DevTools のような代替の独自自動化プロトコルもサポートしています。これにより、ユーザーは WebDriver に基づく従来のコマンドと、Puppeteer を介した強力なブラウザ操作をシームレスに切り替えることができます。
これらの自動化標準の違いについては、自動化プロトコルのセクションで詳しく説明しています。
真のオープンソース
エコシステム内の多くの自動化ツールと比較して、WebdriverIO は、OpenJS Foundation という非営利団体が所有し、オープンなガバナンスで運営されている真のオープンソースプロジェクトです。これにより、プロジェクトはすべての参加者の利益のために成長し、指示されることが法的に義務付けられます。プロジェクトチームは、開放性とコラボレーションを重視しており、金銭的な利益に突き動かされることはありません。
これにより、プロジェクトは開発方法やその目標において独立しています。相互にサポートし学び合う持続可能なコミュニティを構築しているため、コミュニティチャネルで 24 時間年中無休の無料サポートを提供することができます。最後に、オープンなガバナンスにより、プロジェクトに貢献し、関わる人々に多くの機会を与えます。