BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WebdriverIO 7がTypescriptで書き直され、Lighthouse統合を改善してリリース

WebdriverIO 7がTypescriptで書き直され、Lighthouse統合を改善してリリース

ブックマーク

原文(投稿日:2021/02/09)へのリンク

ブラウザとモバイル自動化テストフレームワークWebdriverIOは先頃、メジャーアップデートをリリースした。Webdriver IO 7はTypeScriptで書かれるようになった。したがって、TypeScriptユーザは型を更新する必要があるが、JavaScriptユーザはほとんど影響を受けない。新しいバージョンでは、Node v10のサポートも終了し、使用していたCucumberバージョンがv7にアップグレードされ、Google Lighthouseとの統合が向上した。

Christian Bromann氏は、リリースノートでTypeScriptで書き直した背後にある理由を説明した:

プロジェクトに参加する貢献者が増えるにつれ、純粋なJavaScriptを使用すると、貢献の参入障壁を低く抑えることができますが、最終的には貢献の品質が全体的に低下することがわかりました。プロジェクト内のコードのサイズが大きくなるにつれ、スローされたさまざまなタイプすべてに対応することは、コアコントリビューターとしての私たちにとってより困難になりました。
[…]
TypeScriptに移行することで、フレームワークの継続的な開発中に発生するバグが少なくなることを願っています。これは、コードの貢献の質と特定の機能の開発速度を向上させるのに役立ちます。また、ユーザに出荷する新しいバージョンへの信頼も高まります。
[…]
完全なコードベースを書き直し、ほとんどすべてのファイルに触れて、型の安全性を追加し、途中で多くのバグを修正しました。

WebdriverIOのTypeScriptユーザは、結果として、API全体でより優れた型サポートを享受できる。TypeScript構成ファイル tsconfig.json には、タイプライブラリの変更を反映するためのいくつかの変更がある。@wdio/sync (v6) を webdriverio/sync に置き換え、webdriveriowebdriverio/async に置き換える必要がある。後者の場合、差異は次のようになる:

// tsconfig.json
"types": [
"node",
- "webdriverio",
+ "webdriverio/async",
"@wdio/mocha-framework"
],

カスタムコマンドタイプは、次のように提供する必要がある:

declare global {
  namespace  WebdriverIO  {
    interface  Browser  {
      browserCustomCommand:  (arg: number)  =>  void
    }
  }
}

いつものように、TypeScript開発者は、package.json 構成ファイルで devDependencies として typescriptts-node を設定する必要がある。WebdriverIOは、依存関係がインストールされているかどうかを自動的に検出し、構成とテストをコンパイルする。ts-node の実行は、環境変数またはwdioのconfigの autoCompileOpts プロパティによって構成できる。

WebdriverIO 7はNode v10のサポートを終了し、Node v14が推奨バージョンになる。新しいリリースでは、Behavior駆動開発ツールのCucumberバージョンもv7に更新される。昨年12月にリリースされたCucumber v7も、古いバージョンのNodeのサポートを終了していた (Node v14を推奨)。Cucumber 7は、コミュニティが作成した @types/cucumber パッケージに依存しなくなり、TypeScriptと独自のタイピングセットを使用して構築された。

WebdriverIO 7は、WebdriverIOユーザがパフォーマンステストを実行するために使用できるGoogle Lighthouseとの統合を改善した。WebdriverIO 7は、Google Lighthouseを最新バージョンに更新した。これは、Cumulative Layout ShiftsFirst Input Delayなどの新しいパフォーマンスメトリックを備えている。

興味のある読者は、プロジェクトの追加の変更と改善の詳細について、完全なWebDriverIO 7リリース記事を確認できる。WebDriverIOは、MITライセンスの下で利用可能なオープンソースソフトウェアだ。貢献は、WebDriverIOの貢献ガイドライン行動規範を通じて歓迎される。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT