エミュレーターの接続
エミュレーターを使用すると、エミュレートされたデバイスにテストをインストールして再生できます。OpenText Functional Testing Labでは、人気のあるエミュレーターを使ってデバイスをテストできます。
サポートされているエミュレーターは、GenymotionとAndroid SDKです。
OpenText Functional Testingを使用している場合は、Chromeエミュレーターを使用してWebテストを記録および実行することもできます。詳細については、Chromeエミュレーターを使用してWebアプリをテストするための設定の定義を参照してください。
Androidエミュレーターのセットアップ - Windows
このセクションでは、WindowsサーバーまたはコネクターマシンでAVD (Android仮想デバイス) エミュレーターをセットアップする方法について説明します。
AVDエミュレーターを作成して起動するには:
- マシンがAndroid Studioの要件を満たしていることを確認してください。詳しくはAndroid開発者向けドキュメントを参照してください。
- Android StudioダウンロードページからAndroid Studioをダウンロードしてください。
- セットアップを実行し、Android仮想デバイス (AVD) コンポーネントを含めます。このコンポーネントを使用すると、仮想デバイスのプロファイルを作成して、Windowsホストで実行し、デバイスコネクターを使用してOpenText Functional Testing Labサーバーに接続できます。
- Toolsメニューから、AVD Managerを選択してAVD Managerを開きます。
-
AVDマネージャーで、仮想デバイスを作成するか、事前定義されたデバイスを選択します。詳細については、Android開発者向けドキュメントの「仮想デバイスの作成と管理」を参照してください。
-
AVDを使用するエミュレーターを実行するには、それをダブルクリックするか、Launchをクリックします。
- デバイスはラボに表示されますが、切断されています。
- エージェントがデバイスに自動的にロードされます。エージェントで、必要に応じてサービスをオンにします。
- OpenText Functional Testing Labデバイスラボで、[更新] をクリックします。仮想デバイスは、モバイルラボに利用可能なテストデバイスとして表示されます。そうでない場合は、ウィンドウを閉じてデバイスを停止します。コネクターを再起動します。コネクターが起動したら、デバイスエミュレーションを再起動します。フィルターがエミュレートされたデバイスを隠していないことを確認してください。
SDKエミュレーターのセットアップ - Linux
Linux上のエミュレーターは、コマンドラインの使用のみでサポートされます。
- Linux用Android SDK ManagerをAndroid Studioサイトからダウンロードします。Command line tools onlyセクションまで下にスクロールし、Linux用のコマンドラインツールパッケージをダウンロードします。
- zipファイルの内容を抽出します。
- tcmdline-tools/binフォルダーの下で、sdkmanagerツールを見つけます。
sdkmanager --update [options]
を実行して、インストールされているすべてのパッケージを更新します。また、sdkmanager- "platform-tools" "platforms; android-28"
を実行して、adbを含む最新のプラットフォームツールをインストールすることをお勧めします。詳細については、Android開発者向けドキュメントのコマンドラインドキュメントを参照してください。-
cmdline-tools/binフォルダーの下で、avdmanagerツールを見つけます。AVDマネージャーを使用すると、仮想デバイスのプロファイルを作成して、Linuxホストで実行し、デバイスコネクターを使用してアクセスすることができます。lineコマンドを実行して、エミュレートするデバイスの新しいプロファイルを作成します。たとえば、
avdmanager create avd -n test -k "system-images; android-25; google_apis; x86"
です。詳細については、Android開発者向けドキュメントのコマンドラインドキュメントを参照してください。
これで、デバイスが既存の仮想デバイスのリストに表示されます。詳細については、デバイスの管理を参照してください。
エミュレーターでテストを作成する
エミュレーターを介してテストを準備するには:
- エミュレーターをインストールします。エミュレーターのドキュメントの説明に従って、環境を準備します。
-
Genymotionを使用する場合は、コネクターのインストール時と同じ設定でadbを設定してください。Genymotionで、[Settings] > [ADB tab] > [Use custom Android SDK tools] を選択します。
- ANDROID_HOME環境変数がある場合は、Genymotionで [Use custom Android SDK tools] のコネクターを設定するときに使用したのと同じadbパスを使用します。
- ANDROID_HOME環境変数がない場合、コネクターは組み込みのadbツールを使用します。[Use custom Android SDK tools] を<Functional Testing Lab for Mobile and Webサーバーコネクター>\connector\android-sdk-windowsに設定します。
- エミュレーターを起動します。エミュレートするデバイスを選択します。
-
テストツール内のデバイス選択領域でエミュレートされたデバイスを選択します。
-
エミュレートされたデバイス上のアプリでアクションを実行します。
SDKツールとエミュレーターイメージを手動でインストールする
コネクターのデフォルトのインストールには、SDKエミュレーターツールは含まれていません。コネクターマシンにエミュレーターをインストールする場合は、次の手順を実行します。
- Android SDKのウェブサイトからAndroid SDKツールパッケージをダウンロードしてください。SDKバージョン25.2.2をお勧めします。
- zipファイルの内容をtoolsという名前のフォルダーに解凍します。新しく作成したtoolsフォルダーをコネクターのインストールフォルダーのandroid-sdk-windows/android-sdk-linuxサブフォルダーにコピーします。
- toolsフォルダーを開き、Linuxシェルコマンドをダブルクリックします。
-
プロキシサーバーを介してSDKマネージャーにアクセスしている場合は、プロキシ情報を入力します。
- Tools > Optionsを選択し、設定ダイアログボックスを開きます。
- HTTP Proxy ServerとProxy Portの値を入力します。
- Closeをクリックします。
-
Android SDK Managerウィンドウで、Toolsノードの下にインストールするエミュレーターイメージを選択します。Androidの各バージョンには独自の画像があることに注意してください。
ヒント: Intel HAXM (Hardware Accelerated Execution Manager) をサポートするマシンでのパフォーマンスを向上させるには、Intel x86ベースイメージを使用します。
- SDK ManagerのAppearance & Behavior > System Settings > Android SDK > SDK Updates Sitesタブで、Intel HAXMを選択し、[Apply] をクリックします。
- OKをクリックして、選択したパッケージをインストールします。
- Androidエミュレーターのセットアップ - Windowsの説明に従って、AVDを開いてデバイスを選択します。
Genymotion Desktopエミュレートされたデバイスの操作
このセクションは、OpenText Core SDPおよびOpenText Core Functional Testing Labには関連していません。
オンプレミスのGenymotionエミュレーターと統合すると、OpenText Functional Testing Labは、ラボ内のデバイスを表示します。
Genymotion Desktopエミュレートされたデバイスと統合するための前提条件は次のとおりです。
- 有効なGenymotionデスクトップライセンス
- OpenText Functional Testing Labサーバーを搭載したWindowsマシンへのGenymotionデスクトップインストール
- Genymotion gmsaasツールをサポートする環境。
Genymotionデスクトップ統合をセットアップするには:
- GenymotionクライアントがOpenText Functional Testing Labサーバーにインストールされていることを確認してください。Genymotion Windowsクライアントのみがサポートされています。Genymotion資格情報を使用してサインインし、ライセンスを登録します。詳しくは、Genymotion Webサイトのヘルプメニューを参照してください。
-
OpenText Functional Testing Lab ADBフォルダーを使用するようにGenymotionを構成します。
- Genymotionクライアントの設定で、ADBタブをクリックし、Use custom Android SDK toolsを選択します。
- Browseをクリックし、android-sdk-windowsフォルダーを見つけます。デフォルトのフォルダーはC:\Program Files\Functional Testing Lab for Mobile and Web Server Server\server\android-sdk-windowsです。
- ダイアログボックスにAndroid SDK tools found successfullyと表示されていることを確認します。
- Genymotion Desktopで、1つ以上の仮想デバイスを起動します。
- デバイスラボタブを開き、Genymotion仮想デバイスを表示します(これには数分かかる場合があります)。詳細については、Genymotion Cloudエミュレーターを接続するを参照してください。
Genymotion Cloud統合
このセクションは、OpenText Core SDPには関連していません。
Genymotion Cloud統合により、ラボからGenymotion Cloud上のエミュレートされたAndroidデバイスにアクセスできます。
Genymotion Cloudと統合すると、2つの一般的なGenymotionテンプレートを表す2つの仮想エミュレーターデバイスがラボに表示されます。
この統合は現在、Windowsコネクターでのみサポートされていることに注意してください。OpenText Functional Testing Labサーバーに組み込まれているコネクター、またはスタンドアロンのコネクターを使用できます。
ヒント: REST APIを使用して、他のGenymotionテンプレートを追加できます。
前提条件
Genymotion Cloudのエミュレートされたデバイスと統合するための前提条件は次のとおりです。
- Genymotion Cloudトライアルまたは有料ライセンス
- OpenText Functional Testing LabがGenymotion Cloudと通信するコネクターでgmadbtunneldが実行されていないことを確認してください。
注: この統合は、Professional、Trial、Enterprise、またはUltimateライセンスでのみ利用できます。詳細については、ライセンスを参照してください。
Genymotion Cloud統合をセットアップするには:
管理設定でGenymotion統合ページを開きます。
- Genymotion Cloudのユーザー名とパスワードを入力します。
- OpenText Functional Testing LabがGenymotion Cloudと通信するコネクターを選択し、必要に応じてプロキシの詳細を提供します。
-
Genymotion gmsaasインストールパスをコネクターに指定するか、デフォルトを受け入れます。
- サーバーマシンでコネクターを使用する場合のWindows: <OpenText Functional Testing Lab installation>\server\gmHome\gmsaa、デフォルトではC:\Program Files\Functional Testing Lab for Mobile and Web Server Server\server\gmHome\gmsaas。
- スタンドアロンコネクターを使用する場合のWindows (サーバーマシン上ではない): <OpenText Functional Testing Lab installation>\connector\gmHome\gmsaas、デフォルトではC:\Program Files\Functional Testing Lab for Mobile and Web Server Connector\connector\gmHome\gmsaas。
- 検証して保存をクリックします。統合をオフにするか、アカウント設定を変更すると、以前のアカウントに関連付けられていた仮想デバイスは使用できなくなります。
デバイスラボタブを開き、Genymotion仮想デバイスを表示します。詳細については、Genymotion Cloudエミュレーターを接続するを参照してください。エミュレートされたデバイスを削除するには、管理設定で統合をオフにします。
遅いネットワークの問題
ネットワークの問題が原因でデバイスへの接続に問題がある場合は、タイムアウト値を増やすことができます。
- connector.propertiesファイルを<Functional Testing Lab for Mobile and Web Server_Installation_folder>\<server|connector>\confフォルダーに開きます。
- common.config.appInstallTimeoutSecondを検索します。不足している場合は追加してください。
- その値を増やします。標準設定値は60秒です。
Android SDKエミュレーターを使用するためのヒント
- OpenText Functional Testing Labの再起動ボタンは、Android SDKエミュレーターデバイスでは無効になっています。
-
特定のアプリは、ARM構成のSDKエミュレーターにインストールできません。回避策として:
-
ほとんどの場合、Android SDKとHAXMを使用することをお勧めします。
-
次の例では、ARM構成を使用します。
-
記録するには、リモートデバイスウィンドウを閉じて、デバイスに記録します。
-
再生するには、HAXMを使用してGenymotionまたはAndroid SDK x86で記録し、OpenText Functional Testingでサイレントモードで再生します。
-
エミュレーターをヘッドレスモードで起動します。
-
デバイスの解像度を下げます。
-
トラブルシューティングとヒント
エミュレーターのサポートは、Android 4.1以降、およびAPIレベル19以上で提供されます。詳細については、デバイスエミュレーターの問題を参照してください。
次のガイドラインが適用されます。
- Android 6.0以降を搭載したデバイスでエミュレーターを使用する場合、SMSおよび通話シミュレーションはサポートされていません。
- RHEL 7より前のRHEL (Red Hat Enterprise Linux) 環境では、GPUアクセラレーションがサポートされていないため、エミュレーターでリモートスクリーンビューアーを操作できません (GPUアクセラレーションはWindowsマシンまたはRHEL 7以降のLinuxマシンで使用できます)。
- Wandoujiaなど、adbを完全に制御できるアプリではエミュレーションはサポートされていません。