モバイル アプリケーションのテスト時のトラブルシューティング

[アプリケーションの選択] ダイアログ ボックスにモバイル ブラウザーが表示されない理由

Silk Test Workbench が、次の何れかが原因でモバイル デバイスまたはエミュレータを認識していない可能性があります。
原因 解決策
エミュレータが実行されていない。 エミュレータを開始します。
Android Debug Bridge (adb) がモバイル デバイスを認識しない。 モバイル デバイスが adb によって認識されているかどうか確認するには:
  1. Android SDK をインストールしたフォルダで、Android Debug Bridge (adb) がある場所に移動します。Android SDK がインストールされていない場合、C:\Program Files (x86)\Silk\SilkTest\ng\agent\plugins\com.microfocus.silktest.adb_17.5.0.<ビルド番号>\bin に移動して、Silk Test Workbench がインストールした adb を使用できます。
  2. Shift を押しながら、ファイル エクスプローラ ウィンドウで右クリックします。
  3. コマンド ウィンドウをここで開く を選択します。
  4. コマンド ウィンドウで、 adb devices を入力して、アタッチしたすべてのデバイスのリストを得ます。
  5. デバイスがリストされない場合、USB デバッグがデバイスで有効化されていること、および適切な USB ドライバがインストールされていることを確認します。
  6. adb server is out of date」というエラーが表示される場合、他の adb サーバーが実行中の可能性があります。詳細については、「Open Agent とデバイスとの接続が不安定な場合の対処方法」を参照してください。
デバイスのオペレーティング システムのバージョンを Silk Test Workbench がサポートしていない。 サポートするモバイル オペレーティング システムのバージョンについては、リリース ノート を参照してください。
デバイスの USB ドライバがローカル マシンにインストールされていない。 デバイスの USB ドライバをローカル マシンにインストールしてください。詳細については、「USB ドライバをインストールする」を参照してください。
USB デバッグがデバイスで有効化されていない。 USDB デバッグをデバイスで有効化してください。詳細については、「USB デバッグの有効化」を参照してください。

URL に移動せずに Silk Test WorkbenchChrome for Android で URL を検索する理由

アドレス バーに入力された URL を、Chrome for Android が検索として解釈する場合があります。回避策として、URL に移動するコマンドをスクリプトに手動で追加できます。

adb サーバーが正しく起動しない場合にすべきこと

Android Debug Bridge (adb) サーバーが開始するとき、ローカル TCP ポート 5037 にバインドし、adb クライアントから送信されてくるコマンドをリッスンします。すべての adb クライアントは、ポート 5037 を使用して、adb サーバーと通信します。adb サーバーは、5555 から 5585 の範囲 (エミュレータやデバイスで使用される範囲) で奇数のポートをスキャンしてエミュレータやデバイス インスタンスを探します。adb はこれらのポートの変更を許しません。adb 開始中に問題が発生した場合、これらの範囲のポートの 1 つが、他のプログラムによって既に使用されているかどうか確認します。

詳細については、http://developer.android.com/tools/help/adb.html を参照してください。

Open Agent とデバイスとの接続が不安定な場合の対処方法

Android SDK、または Android Debug Bridge (adb) を使用するその他のツールをインストールしている場合、Silk Test Workbench が使用する adb サーバー以外のサーバーが実行中の可能性があります。バージョンの異なる adb サーバーが実行中の場合、Open Agent とデバイスとの接続が不安定になったり、接続できない場合があります。

このようなバージョンの不一致によるエラーを避けるには、環境変数 SILKTEST_ANDROID_HOMEAndroid SDK ディレクトリへのパス(C:\Users\<ユーザー>\AppData\Local\Android\android-sdk など)を指定してください。環境変数が設定されていない場合は、Silk Test Workbench に付属したバージョンの adb が使用されます。

エラー「メモリの割り当てに失敗しました:8」が発生する理由

エミュレータを開始しているときに、システムが十分なメモリを割り当てることができない場合に、このエラーが表示されます。以下を行ってみてください。

  1. エミュレータのメモリ オプションの RAM サイズを下げる
  2. Intel HAXM の RAM サイズを下げるRAM サイズを下げるには、IntelHaxm.exe を再度実行して、Change を選択します。
  3. タスク マネージャ を開き、十分なフリー メモリが利用可能かどうかを確認します。不足している場合、プログラムを閉じてメモリを開放してください。

iOS デバイスのテスト時に「Silk Test は指定したアプリを開始できません」というエラーが発生する理由

このエラーが発生する原因として、以下の理由が考えられます。
原因 解決策
iOS デバイスがデベロッパ モードになっていない。 次の 2 種類の方法のいずれかで、デベロッパ モードを有効化できます。
  • Xcode がインストールされている Mac にデバイスを接続し、テストするアプリをデバイスで開始します。
  • プロビジョニング プロファイルをデバイスに追加します。
    1. Xcode を開きます。
    2. Window > Devices を選択します。
    3. iOS デバイスをクリックします。
    4. Show Provisioning Profiles を選択します。
    5. プロビジョニング プロファイルを追加します。
デバイスの iOS のバージョンを最近更新した。
  1. Xcode を開きます。
  2. Window > Devices を選択します。
  3. Xcode がシンボル ファイルを処理するまで待機します。
UI オートメーションが iOS デバイスで有効化されていない。
  1. 設定 > デベロッパ を選択します。
  2. Enable UI Automation をオンにします。
Web インスペクタiOS デバイスで有効化されていない(モバイル Web アプリケーションのテストの場合)。
  1. 設定 > Safari > 詳細 をクリックします。
  2. Web インスペクタ をオンにします。
テストするアプリがテストしようとしている iOS デバイスの iOS バージョン用にビルドされていない。 Xcode を使用してデバイスの iOS バージョン用にアプリをビルドします。
ソフトウェア・アップデート ダイアログ ボックスが iOS デバイス上で開いている。 ダイアログ ボックスを閉じ、ソフトウェアの自動アップデートを無効化します。
  1. 設定 > iTunes & App Store > 自動ダウンロード を選択します。
  2. アップデート をオフにします。

Android デバイスの動的ハードウェア コントロールに戻るボタンだけが表示される理由

テストの開始時に Android デバイスや Android エミュレータの画面がロックされると、デバイスやエミュレータが動的ハードウェア コントロールに 戻る ボタンだけを表示する場合があります。

この問題を解決するには、Open Agent を停止し、デバイスを再起動してから、デバイスの設定を画面のロックをしないように設定してください。

Android デバイスまたはエミュレータにキーボードが表示されなくなる理由

Unicode 文字列をサポートするために、Silk Test Workbench は標準キーボードをカスタム キーボードに置き換えます。そして、テストの完了時に元のキーボードに戻します。テスト中にエラーが発生すると、カスタム キーボードが設定されたまま、元に戻らない場合があります。

この問題を解決するには、設定 > 言語と入力 > 現在のキーボード を開き、手動で元のキーボードに戻してください。

テスト中にデバイスが応答しなくなる理由

テストの開始時に、デバイス、エミュレータ、シミュレータの画面がロックされると、Silk Test Workbench は画面のロックを解除できず、デバイス、エミュレータ、シミュレータが操作に応答しなくなる場合があります。

この問題を解決するには、Open Agent を停止し、デバイスの設定を画面のロックをしないように設定してください。

Information Service を Mac にインストールできない理由

システム環境設定の セキュリティとプライバシー で、一般 タブの ダウンロードしたアプリケーションの実行許可 設定が Mac App Store と確認済みの開発元からのアプリケーションを許可(デフォルト値)に設定されている場合、Information Service セットアップを開いているときに次のエラー メッセージが表示されます。
"SilkTestInformationService<バージョン>.pkg" は、開発元が未確認のため開けません。
この問題を解決するには、次のいずれかを行います。
  • セットアップ ファイルを右クリックして、開く を選択します。警告メッセージが表示されても、ファイルを開くことができます。
  • ダウンロードしたアプリケーションの実行許可 設定を すべてのアプリケーションを許可 に設定します。
  • ファイルを開いた後、システム環境設定の セキュリティとプライバシー一般 タブを開き、このまま開く をクリックします。

Android アプリの記録時に記録ウィンドウが真っ暗になる理由

金融取引を処理するアプリなど、高レベルなセキュリティを必要とする Android アプリでは、Silk Test Workbench がアプリのキャプチャをできないようにするために、FLAG_SECURE フラグが設定されている可能性があります。 Silk Test Workbench は、記録時に Android でバスのスクリーンショットやビデオを必要としますが、テストする Android アプリにこのフラグが設定されていると、記録 ウィンドウにはデバイスの真っ黒な画面が表示されます。Silk Test でこのようなアプリをテストするには、テスト中に FLAG_SECURE フラグを設定しないよう、アプリの開発チームに依頼してください。

Android エミュレータでのテスト時に Silk Test Workbench がビデオを表示しない理由

エミュレータがレンダリングにコンピュータのグラフィック カードを使用している場合、Silk Test Workbench のビデオ キャプチャが機能しない場合があります。この問題を解決するには、ソフトウェアでグラフィックでエミュレートします。
  1. Android Virtual Device Manager を開きます。
  2. エミュレータの Actions 列の Edit をクリックします。
  3. Virtual Device Configuration ダイアログ Emulated Performance 領域で、リストから Software を選択します。

Xcode のインストール バージョンを変更する方法

Xcode の最新版にアップグレードしてしまった場合など、使用している Xcode のバージョンを Silk Test Workbench がサポートしていない場合、iOS でテストする際にエラー メッセージが表示される場合があります。

インストールした Xcode のバージョンをサポートするバージョンで置換するには、サポートするバージョンの Xcode を https://developer.apple.com/download/more/ からダウンロードし、サポートされていないバージョンをダウンロードしたバージョンで置換します。サポートする Xcode のバージョンについての情報は、『リリース ノート』を参照してください。

Mac のディスクの空き容量がなくなった場合の対処

Silk Test WorkbenchiOSデバイスの自動化に Instruments を使用します。このツールは、/Library/Caches/com.apple.dt.instruments ディレクトリに大きなログ ファイルを生成するため、Mac のディスクの空き容量を圧迫している場合があります。この問題を解決するために、手動であるいは cron ジョブを使用して、これらのログ ファイルを定期的に削除することを Micro Focus は推奨します。たとえば、毎日同じ時間にファイルを削除するには、次の手順を実行します。
  1. ターミナルで「sudo crontab -e」を入力します。crontab を root として編集できるエディタが開きます。
  2. 次の行を crontab に追加します。
    0 2 1 * * find /Library/Caches/com.apple.dt.instruments -mtime +10 -delete
  3. crontab を保存します。

この例では、10 日より前のすべてのログ ファイルが、毎日午前 2 時にディレクトリから削除されます。