BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WebDriverIOバージョン6リリースは、ネイティブのChrome DevToolsオートメーションプロトコルを新たにサポート

WebDriverIOバージョン6リリースは、ネイティブのChrome DevToolsオートメーションプロトコルを新たにサポート

原文(投稿日:2020/03/28)へのリンク

Node.jsのブラウザテスト自動化フレームワークであるWebDriverIOバージョン6の最近のリリースでは、Chrome DevToolsプロトコルテストがWebDriverの既存のサポートに追加され、PuppeteerやCypress.ioなどのツールを活用しやすくなった。

ローカルテストスクリプトを介してテストを実行するときに、開発者はブラウザドライバをダウンロードする必要がなくなった。WebdriverIOは、ブラウザドライバが実行中でアクセス可能かどうかをチェックし、そうでない場合はPuppeteerをフォールバックとして使用する。WebDriverIOとPuppeteerのどちらを利用しても、WebDriverIOは同じままである。ただし、Puppeteerは、テストをローカルで実行する場合と、ブラウザがテストするマシンに存在する場合のみをサポートする。

WebDriverは真のクロスブラウザテストを提供する。一方、Puppeteerは現在ChromiumベースのブラウザとFirefoxナイトリービルドをサポートする。WebDriverIOチームは、真のクロスブラウザサポートを提供するPlaywrightに対する取り組みを追っている。現在Playwrightは、WebDriverIOと同じようにプロジェクトのインテグレーションの課題が残っており、FirefoxとSafariをサポートするためにカスタムブラウザの構築を必要とする。

WebDriverIOは代替の自動化プロトコルのサポートを追加した。しかし、プロジェクトでは最終的に、ブラウザの自動化プロトコルの取り組みを統一するために新しいWebDriver標準が出現することを確信している。

WebDriverIOバージョン6は、WebDriver IOバージョン5のユーザにとって簡単なアップグレードできる必要がある。重要な変更点は、Node.jsバージョン8がサポートされなくなったことである。現時点では、Node.jsバージョン12にアップグレードすることが推奨されている。このプロジェクトでは、コマンドラインインターフェイスのいくつかの重大な変更があった。TypeScriptのユーザは、変更されたAPIの通知を受け取る。

WebDriverIOでは、バージョン6リリースでいくつかのパフォーマンス向上がある。ローカルでPuppeteerを実行していることの利点の他に、プロジェクトはrequestへの依存を取り除き、gotに切り替えた。それによって、WebDriverIOのバンドルサイズを75%縮小した。WebDriverIO 6コードベースに対するその他の内部的な改善により、テストの実行が高速化され、CPUとメモリの消費量が削減される。

WebDriverIO 6リリースでは、Jestのexpectパッケージから発想を得た新しいアサーションライブラリも導入されている。これは、期待値の待機、組み込みのTypeScript、JSオートコンプリートである。

WebDriverIOコミュニティは一連のサービスレポーターを作成し、テストのインテグレーションとレポートの柔軟性を高める。

プロジェクトに対する他の変更と改善の詳細については、WebDriverIO 6リリースの記事全体を読んでください。

JavaScriptエコシステムは、さまざまな異なるアプローチでテストするための多くのオプションを提供している。しかし、クロスブラウザ機能テスト用の機能が完全なパッケージは比較的少ない。WebDriverIOの代わりに、アクティブに維持される主な代替はInternである。InternとWebDriverIOはどちらもオープンソースプロジェクトでありOpenJS Foundationの一部である。これらのテストフレームワーク以外にも、今日の多くの開発者はJestとCypress.ioを活用して、クロスブラウザテストを最小限に抑えている。多くのAngular開発者は、AngularアプリケーションのテストにProtractor + Karmaを選好している。テストエコシステムの詳細については、JavaScriptおよびWeb開発InfoQトレンドレポートを参照してください。

WebDriverIOは、MITライセンスの下で利用可能なオープンソースソフトウェアである。コントリビューションは、WebDriverIOコントリビューションガイドライン行動規範の下、歓迎される。

この記事に星をつける

おすすめ度
スタイル

BT