Webおよびネイティブモバイルアプリケーション全体でテストを作成、実行、デバッグするための、妥協のないテスト自動化フレームワークであるNightwatch v3を発表できることを嬉しく思います。
v3の3つの柱
Nightwatch v3は、開発者エクスペリエンス、モバイルファースト、あらゆるテストに対応する単一フレームワークという3つの主要な柱を中心に再設計されました。
開発者エクスペリエンス
テストのインストール、記述、実行、デバッグのエクスペリエンス全体が、素晴らしい開発者エクスペリエンスのために再設計されました。
インストール – 60秒で開始
Nightwatchの新しいインストールヘルパーを使用すると、フレームワークと依存関係の設定が簡単になります。いくつかの質問に答えるだけで、Nightwatchがあなたの回答に基づいてセットアップ全体を実行します。

記述 – 自動待ち。セレクタープレイグラウンド。簡素化されたコマンド。
Nightwatchは、要素と対話しようとする前に要素が表示されるのを自動的に待機するため、テストコードで明示的な待機コマンドを使用する必要性が軽減されます。 セレクタープレイグラウンドを使用してセレクターを即座に作成およびテストし、保守しやすいテストスクリプトを作成できます。
実行 – IDE統合。デフォルトの並列化。パフォーマンスの向上。
テストを実行またはデバッグするために画面を切り替えることなく、VS Code自体からNightwatchテストを実行します。Nightwatchは、ローカルマシンまたはクラウドグリッド上でテストを並列に実行することもサポートしています。Nightwatch v2よりも最大25%高速なテストを実現するために、パフォーマンスも大幅に向上させました。
デバッグ – DOM履歴。一時停止とデバッグ。HTMLレポーター。
DOM履歴を使用して、DOMの変更を表示し、発生したテストを視覚的に再現します。Nightwatchインスペクターを使用すると、テストの任意の時点で実行を停止し、セレクターの推奨事項を取得し、問題をデバッグできます。テストステータス、アサーションログ、生のHTTPログを含む組み込みのHTMLレポーターを使用して、Nightwatchテストのあらゆる問題を簡単に特定できます。
モバイルファースト
ネイティブアプリ、モバイルWeb、柔軟なモバイルテスト。
独自のモバイルデバイス、エミュレーター、またはクラウドプラットフォームでテストを実行する柔軟性とともに、ネイティブモバイルアプリケーションとモバイルWebアプリケーションをテストします。Nightwatchは、デスクトップとモバイルの両方でSafariをすぐにサポートしています。最も重要なのは、mobile-helperを使用してこれらすべてを簡単に設定できることです。
あらゆるテストに対応する単一フレームワーク
単一のフレームワークですべてをテストします。
さまざまな種類のテストに対してテスト自動化フレームワークを切り替える必要はありません。Nightwatchで実行できるすべてのテストのリストを以下に示します。
- 単体テスト
- 統合テスト
- APIテスト
- コンポーネントテスト
- ビジュアル回帰テスト(VRT)
- アクセシビリティテスト(A11Y)
- エンドツーエンドテスト(E2E)
- モバイルテスト
これまで以上に高速
このアップデートにより、Nightwatchのパフォーマンスが大幅に向上しました。Nightwatch v3は、複数のVMでテストする場合、Cypressよりも最大2.7倍高速です。NightwatchとCypressの詳細な比較を以下に示します。

今後の予定
今後の予定を簡単に紹介します。
さらに優れた開発者エクスペリエンス
- より多くのテストタイプとプラグインを簡単にインストールするための新しいコマンド
- ビデオレコーディングとHTMLレポーターの改善
- Seleniumマネージャーを使用して、ドライバーとブラウザーの同期を維持する
- オンラインプレイグラウンド – Nightwatchを設定せずにテストを作成する
- 設定を変更するだけで、Nightwatch VRTとPercyを切り替える
統合サポート
- Nightwatchを使用したSvelteのエンドツーエンドテストとコンポーネントテスト
- BrowserStackテストオブザーバビリティとのNightwatch統合
- CucumberJSレポーターと出力の改善