テストの並列実行

コマンド ラインを使用して、複数のデバイス上のモバイル アプリケーションに対して並列にテストを実行することができます。この機能は、モバイル Web アプリケーションとネイティブ モバイル アプリケーションの両方をサポートしており、物理デバイス、Android エミュレータや iOS シミュレータ上でのテストの実行に使用できます。たとえば、CI サーバーや Silk Central からテストを実行するときに、この機能を使用できます。

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

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

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

たとえば、次の PowerShell コマンドを使用して、ローカル マシン上で Open Agent を開始することができます。
powershell.exe -noprofile -command \"[System.Reflection.Assembly]::LoadWithPartialName('SilkTest.Ntf'); [SilkTest.Ntf.Agent]::Connect('localhost')
テスト結果は、複数の TrueLog ファイル(各テスト実行毎に 1 つ)に保存されます。TrueLog ファイルが上書きされないようにするため、TrueLog ファイル名にプレースホルダーを使用することができます。詳細については、「TrueLog オプションの設定」を参照してください。
注: テスト中のメモリ消費量が激しいと感じた場合は、テスト結果が XLG 形式ではなく、圧縮ファイルである TLZ 形式で保存されていることを確認してください。