CTS 自動テストを実行するには、次の 2 つの方法があります。
Trade Federation は、コマンドラインからテストを実行できるアプリとテスト フレームワークです。基本的に、このフレームワークでは
@Test
アノテーションを使用してテストにアノテーションを付けることができ、アプリがそれらのテストを検出して実行します。OmniLab Android Test Station は、GUI でテストを実行できるアプリです。
このページでは、Trade Federation を使用して自動テストを実行する方法について説明します。OmniLab Android テストハーネスを使用してテストを実行する手順については、OmniLab Android Test Station をご覧ください。
すべての自動化 CTS テストを実行する
Trade Federation には、テストを実行するためのコマンドライン インターフェースである CTS コンソールが用意されています。自動 CTS テストスイート全体を実行するには、次のようにします。
- CTS 自動テストを設定するの手順を実施していることを確認します。
テスト ワークステーションで、CTS パッケージを解凍したフォルダから
cts-tradefed
スクリプトを実行して CTS コンソールを起動します。./android-cts/tools/cts-tradefed
CTS コンソールにカーソルが表示され、CTS コマンド(
cts-tradefed >
)を入力できます。cts
テストプランには、すべての CTS 自動テストが含まれています。次のコマンドを実行して、cts
テストプランを実行します。run cts
CTS 自動テストが実行されます。次の点にご注意ください。
Android 13 以降では、マルチデバイス テストがサポートされています。これらのテストは、シャーディングが使用されている場合にのみ自動的に実行されます。シャーディングの詳細については、テスト実行時間を短縮するをご覧ください。これらのテストを手動で実行する場合は、マルチデバイス テストを実行するをご覧ください。
CTS を実行するたびに、Ctrl+C キーを押して既存の CTS コンソールを停止し、CTS コンソールを再実行します。
複数の CTS バージョンを 1 つのホスト上で実行することはできません。各 CTS バージョンが既存のオープン ロケーション コード(OLC)サーバーを使用して起動するためです。
テスト結果を表示します。詳細については、CTS の結果を解釈するをご覧ください。
今回が初めてのテスト実行の場合は、外部要因などが原因でテストが失敗することがあります。たとえば、ネットワーク接続が遅い場合や GPS 信号が弱い場合などです。すべてのテスト モジュールが完了し、最後の 2 回の再試行セッションでテスト失敗の数が同じになるまで、テストを再実行(再試行)します。
run retry --retry
session_number `再試行しても同じテストで失敗する場合は、失敗を繰り返しているテストのデバッグに集中します。テスト結果のトラブルシューティングについては、テスト失敗を選別すると CTS テストのトラブルシューティングをご覧ください。
マルチスクリーン デバイスで CTS を実行する
デバイスが Android 11 または 12 を搭載していて、デバイスに複数の画面がある場合は、cts-foldable
テストプランを個別に実行する必要があります。
run cts-foldable
代替画面モードで合格または不合格になったテストケースには、display_mode
の値(testcase1[display_mode=0]
など)が末尾に付加されます。
マルチデバイス テストを実行する
次のコマンドを実行して、cts-multidevice
テストプランを実行します。
run cts-multidevice
個々のテストプランを実行する
すべてのテストプランを一度に実行するのではなく、個々のテストプランを実行することもできます。この方法は、時間を節約する場合や、特定のテストセットに集中する場合に便利です。個々のテストプランを実行するには、次のようにします。
list modules
コマンドを実行して、実行するテストプランの名前を特定します。テストプランを実行します。
run cts --plan
test_module_or_plan_name
テスト実行時間を短縮する
テストの実行時間を短縮するには、複数のデバイス間でテストをシャーディングします。シャーディングするには、2 台以上のデバイスをホストに接続する必要がありますが、適切な効果を得るには 6 台以上接続することをおすすめします。
Android 11 以降でテストをシャーディングするには、次のコマンドを実行します。
run cts --shard-count number_of_shards
また、検証用のテストを実行する前に、CTS run cts-dev
コマンドを使用してテスト実行時間を短縮できます。このコマンドを使用すると、前提条件、デバイス情報の収集、すべてのシステム状態チェッカーがスキップされます。また、1 つの ABI のみでテストを実行します。