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

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

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

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

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