テストの並列実行

複数の MSTest プロセスを使用して、複数のブラウザーやモバイル デバイスに対してテストを並列に実行することができます。たとえば、CI サーバーや Silk Central からテストを実行するときに、この機能を使用できます。

デフォルトでは、Silk Test は、次のブラウザーやプラットフォームでの並列テストをサポートします。
  • Google Chrome
  • Mozilla Firefox
  • 以下のプラットフォーム上での Web、ネイティブ、ハイブリッド アプリ
    • 物理 Android デバイス
    • Android エミュレータ
    • 物理 デバイス

テストの並列再生を無効にするには、環境変数 SILKTEST_ENABLE_PARALLEL_TESTING を false に設定します。

注: 並列テストを有効にすると、Open Agent はテストの実行プロセスのそれぞれを別々に処理しようとします。ある Silk Test クライアントでテストされたアプリケーションは、最初のクライアントが実行している間、他のクライアントでテストすることはできません。たとえば、Silk4JSilk4NET で交互に同じアプリケーションをテストすることはできません。
注: 同じモバイル デバイス上で同時に複数のテストを実行することはできません。テストを並列実行する前に、十分なデバイスとエミュレータが利用できることを確認してください。モバイル デバイスやエミュレータが割り当てられないと、テストの実行は失敗します。

並列テストの実行それぞれが、1 個のブラウザーまたはモバイル デバイスに対して個々の vstestconsole.exe または mstest.exe を開始します。ブラウザーやモバイル デバイスを特定の vstestconsole.exe または mstest.exe と関連付けたい場合には、接続文字列を使用できます。詳細については、「モバイル デバイスの接続文字列」または「リモート デスクトップ ブラウザーの接続文字列」を参照してください。

次の図は、複数のブラウザーの並列テストのイメージを表します。

次の図は、複数のデバイスの並列テストのイメージを表します。

複数のプロセスが同時に開始されると、Silk4NET を実行しているマシン上で Open Agent を何度も開始しようとする可能性があります。同じマシンで複数回 Open Agent を実行することはできないため、Silk4NET は例外をスローすることになります。これを避けるため、テストを並列実行する前に、Open Agent が実行されていることを確認してください。

テスト結果は、複数の TrueLog ファイル(各テスト実行毎に 1 つ)に保存されます。TrueLog ファイルが上書きされないようにするため、TrueLog ファイル名にプレースホルダーを使用することができます。詳細については、「TrueLog オプションの設定」を参照してください。
注: テスト中のメモリ消費量が激しいと感じた場合は、テスト結果が XLG 形式ではなく、圧縮ファイルである TLZ 形式で保存されていることを確認してください。並列テストでは、Silk4NET は TrueLog API をサポートしません。