Android 上のハイブリッド アプリケーションのテスト

ハイブリッド アプリケーション(アプリ)は、デバイス上で実行されるネイティブ アプリケーションのようなアプリですが、HTML5、CSS、JavaScript などの Web テクノロジを使用して記述されたアプリです。

Silk4J は、ネイティブ コンテナに埋め込まれた単一の Web ビューで構成されたデバッグ ハイブリッド アプリのテストにする完全なブラウザー サポートを提供します。このようなハイブリッド アプリの一般的な例は、Apache Cordova アプリケーションです。

非デバッグ ハイブリッド アプリをテスト可能にするには、次のコードをアプリに追加してアプリをリモート デバッグできるようにします。
WebView.setWebContentsDebuggingEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
リモート デバッグを有効化しない非デバッグ ハイブリッド アプリや、複数の Web ビューを含んだハイブリッド アプリをテストするには、Silk4J フォールバック サポートを有効化するために、オプション OPT_ENABLE_MOBILE_WEBVIEW_FALLBACK_SUPPORT を TRUE に設定します。詳細については、「詳細オプションの設定」を参照してください。フォールバック サポートを有効化すると、Silk4J は Web ビューのコントロールをブラウザー コントロールではなく、ネイティブ モバイル コントロールとして解決して処理します。たとえば、以下のコードは、ブラウザー サポートを使用したときのリンクのクリックです。
desktop.setOption(CommonOptions.OPT_ENABLE_MOBILE_WEBVIEW_FALLBACK_SUPPORT, false);
desktop.<DomLink> find("//INPUT[@id='email']").click();
フォールバック サポートを有効化すると、同じリンクをクリックするコードは次のようになります。
desktop.setOption(CommonOptions.OPT_ENABLE_MOBILE_WEBVIEW_FALLBACK_SUPPORT, true);
desktop.<DomLink> find("//MobileTextField[@resource-id='email']").click();
Silk4J は、Chrome リモート デバッグをサポートする Web ビューを検出できます。 Silk4J は、com.android.webview パッケージまたは com.google.android.webview パッケージ(多くの Android デバイス上のデフォルト パッケージ)のいずれかを使用した Web ビューを検出できます。
注: Silk4J は、Android 4.4 以降でのハイブリッド アプリのテストをサポートします。Android でハイブリッド アプリをテストするには、Android システムの WebView バージョン 51 以降が必要です。

Android 上のハイブリッド アプリをテストする手順は、モバイル ネイティブ アプリケーションをテストする手順と同じです。詳細については、「Android 上のモバイル アプリケーションのテスト」を参照してください。