通商連合アーキテクチャの概要

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このセクションでは、Tradefedの内部とそれらの関係について説明します。詳細については、リンクされたサブページを参照してください。

1.構成のテスト(XML構成)

概要

Tradefedのテスト構成はXML形式で記述されています。構成の構造を理解することは、テストを実行およびカスタマイズするための鍵です。

TF構成の構造

グローバルTF構成

グローバル構成は、TradefedがTF_GLOBAL_CONFIG環境変数を介して開始するときにロードされる特別なTradefedXML構成です。全体的なハーネスの動作に影響を与えるTradefedインスタンススコープに関連するオブジェクトをロードします。

グローバル構成の詳細

キーストア

キーストアを使用すると、コマンドラインで値を直接参照しないようにするために、キーストアからのTradefedにコマンドラインオプションを挿入できます。これは、キーストアから直接パスワードを取得することにより、コマンドラインからパスワードを非表示にするために使用できます。

キーストアの詳細

2.デバイスマネージャー

デバイスマネージャは、Tradefedの実行中のインスタンス上のデバイスの状態を追跡する責任があります。割り当てステータスやオンラインステータスなどの側面が監視されます。

3.コマンドスケジューラをテストします

Tradefedのテストコマンドスケジューラは、実行するコマンドを受け取り、それらをデバイスに関連付け、テスト呼び出しを開始します。

4.プロバイダーを構築する

ビルドプロバイダーは、テスト呼び出しの最初のステップです。テストのセットアップと実行に必要なリソースをダウンロードします(イメージのビルド、APKのテストなど)。また、テストに渡されるBuildInfoオブジェクトでそれらを参照します。ローカルで利用可能なリソースは、 BuildInfoオブジェクトでリンクすることもできます。

5.ターゲットの準備とクリーナー

Target Preparerは、テスト対象のターゲットを特定の状態に構成するために実行できるオプションのアクションを提供します。たとえば、デバイスのフラッシュ、特定のプロパティの設定、Wi-Fiへの接続などです。

6.テストランナー

Tradefedのテストランナーは、実際のテスト実行を担当するオブジェクトを指します。さまざまなテストランナーがさまざまな方法でテストの実行を推進します。たとえば、インストルメンテーションテストランナーは、JUnitテストランナーとは大きく異なります。

7.結果レポーター

TradefedのResultReporterは、結果を特定の宛先に送信するオブジェクトを指します。各実装は通常、さまざまな結果のバックエンドに特化しています。また、Result Reporterは、Tradefedの結果形式を宛先形式に変換する役割を果たします。

この柔軟な設計により、任意のテストで任意の結果の宛先にレポートし、分離された方法でより多くのテストを簡単に追加できます。

8.メトリクスコレクター

Metrics Collectorは、テストの実行に直交するTradefedの特別なオブジェクトです。これにより、テストライフサイクルのさまざまなポイント(テストの開始、テストの終了など)で情報を収集できます。コレクターはテスト自体から切り離されているため、テスト自体を変更することなく、ポイントを交換、追加、および削除できます。

9.ホスト全体のセットアップ

このセクションでは、完全なTradefedインスタンスの実行に適用できるセットアップについて説明します。これらのオプションは、たとえば制限されたネットワーク内にあるなど、さまざまな環境に適応するために、ハーネス全体の動作に影響を与えます。


10.追加機能

次のセクションでは、TradefedオブジェクトではなくTradefedオブジェクトの一般的な使用法について説明します。

Tradefedシャーディング

テストコーパスが大きい場合や実行に時間がかかる場合は、複数のデバイスに分割することができます。この分割をシャーディングと呼びます。このセクションでは、シャーディングの仕組みと構成方法について説明します。

シャーディングの詳細

SL4Aの使用

Tradefedは、Android、SL4Aのスクリプトレイヤーをサポートしています。これは、プラットフォームに依存しない方法でAndroidAPIを呼び出すための自動化ツールセットです。

Tradefedの詳細を含むSL4A

動的@Optionダウンロード

場合によっては、テストまたは特定の操作に必要なファイルがローカルで利用できないことがあります。この機能により、Tradefedは、ビルドプロバイダーを経由せずに、リモートの場所からこれらのファイルを取得できます。

動的@optionダウンロード