概要

Nightwatchは、Appiumを介してネイティブモバイルアプリケーションの自動テストを可能にします。Appiumの堅牢性とNightwatchによる強化された開発者エクスペリエンスを組み合わせます。AndroidおよびiOSデバイスでのネイティブモバイルアプリのエンドツーエンド機能テストを可能にします。

Appiumとは?

Appium Webサイトの定義によると

Appiumは、ネイティブ、ハイブリッド、およびモバイルWebアプリで使用するオープンソースのテスト自動化フレームワークです。WebDriverプロトコルを使用して、iOS、Android、およびWindowsアプリを駆動します。

Seleniumはデスクトップブラウザの自動化に使用されますが、AppiumはモバイルWeb、ネイティブ、およびハイブリッドモバイルアプリの自動化に使用できます。

要件

Appiumを使用してNightwatchを実行するには、次の要件を満たす必要があります

iOS

  • Mac OSX - XCode(コマンドラインツール付き)

Android

  • Mac OSXまたはWindowsまたはLinux - Android SDK≥16

Nightwatch Mobile HelperがSDKのダウンロードを処理するので、心配しないでください。

仕組み

Nightwatchのネイティブモバイルアプリテスト機能は、Appiumを内部で構築しています。

Appiumは、ベンダー(UIAutomator2 / Espresso、Apple XCUITest / UIAutomation)の自動化ライブラリをラップするW3C WebDriverプロトコルに準拠したREST APIを公開するNodeJSベースのサーバーです。

エンドツーエンドのシナリオでは、NightwatchはAppiumサーバーにリクエストを行い、サーバーはコマンドを実行するために異なるプラットフォームドライバーを使用してネイティブフレームワークと通信し、最終的にHTTPレスポンスをNightwatchに返します。

Theory of Operation

Nightwatchでのモバイルアプリテストの仕組みを理解したので、セットアップに進みましょう。 Nightwatchを使用したモバイルアプリの自動テストを完全に理解するために、以下のすべてのトピックを網羅することをお勧めします。

モバイルテスト用にNightwatchをインストールする
ネイティブアプリケーションを自動化するテストを作成する
仮想デバイス、実デバイス、およびクラウドプロバイダーでテストを実行する
テストのデバッグ