これは、 Android Comms Test Suite(ACTS)テストを実行する方法に関するガイドです。
コードを取得する
最新バージョンのACTSは、Android Open Source Project(AOSP)Gerritリポジトリの/platform/tools/test/connectivity/にあります。
コードを同期する方法の詳細については、ソースとAndroid DeveloperCodelabのダウンロードを参照してください。コードを同期するときは、マスターブランチを同期します。タグ付きビルドを同期しないでください。
ACTSをダウンロードする場合、Androidリポジトリ全体を同期する必要はないことに注意してください。 ACTSのみを同期するには、 repo initコマンドを実行した後、次のコマンドを実行します。
repo sync platform/tools/test/connectivity
ACTSは、 <repo>/tools/test/connectivity/acts/にあります。
環境設定
ACTSにセットアップに必要な依存関係があることを確認するには、次のPython3セットアップツールをインストールします。
sudo apt-get install python3-setuptoolssudo apt-get install python3-pipsudo apt-get install adb fastbootsudo pip3 install --upgrade pip setuptools # Needed due to an on-going bug.sudo apt-get install protobuf-compiler
ACTSのインストール
<repo>/tools/test/connectivity/acts/frameworkにあるsetup.pyスクリプトは、残りの依存関係とACTS自体をインストールします。
ACTSで、またはACTSを使用して継続的に開発するには、次のコマンドを実行します。
cd <repo>/tools/test/connectivity/acts/framework/sudo python3 setup.py developcd -
テストのみを実行する場合は、代わりに次のコマンドを実行します。
cd <repo>/tools/test/connectivity/acts/framework/sudo python3 setup.py installcd -
インストールの確認
セットアップ後、ターミナルでact.pyを使用できることを確認し、PythonでACTSモジュールをインポートします。例えば:
act.py -h usage: act.py [-h] -c <PATH> [--test_args Arg1 Arg2 ... ]python3 >>> from acts.controllers import android_device >>> device_list = android_device.get_all_instances()
インストールせずに実行
ユーザーは、パッケージを直接インストールせずにACTSを実行できます。実行する必要がある唯一の手順は、Pythonパスを変更して<repo>/tools/test/connectivity/acts/frameworkからインポートすることです。 ACTSを実行する前に、 setup.py install_depsを実行して、ACTSをインストールせずにACTSによって必要なすべての依存関係をインストールします。 ACTSの既存のバージョンがマシン上にある場合は、 sudo setup.py uninstallを実行します。
ACTSを実行するには、次のいずれかのコマンドを使用します。
cd <repo>/tools/test/connectivity/acts/framework; acts/bin/act.pyexport PYTHONPATH=<repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
ACTSは、 -cおよび-tcフラグを要求するメッセージを出力します。詳細については、 ACTSテストの構成を参照してください。
仮想環境でのACTSの設定
インストールをACTSの他のインストールから分離するには、仮想環境にACTSをインストールする必要があります。次の手順は、ci.android.comのaosp aosp-masterからacts_test.zipを使用しているか、ソースに直接アクセスできることを前提としています。
ACTSを入手してください。
ビルドが公開されます。詳細については、 Android継続的インテグレーションを参照してください。 ci.android.comのビルドからzipファイルをプルできます。
test_suites_x86_64ターゲットを探します。acts_test.zipファイルは[アーティファクト]タブの下にあります。この例では、/tmp/acts_test.zipがacts_test.zipにダウンロードされていると想定します。ソースコードにアクセスできる場合は、代わりにそれを使用できます。
マシンに
virtualenvをインストールします。まだお持ちでない場合は、以下を使用して
virtualenvをインストールできます。python3 -m pip install -U --user virtualenv仮想環境を作成してアクティブ化します(この例では
/tmp/my_virtualenvにあります)。これにより、新しいパッケージがvirtualenvディレクトリに確実にインストールされます。python3 -m virtualenv /tmp/my_virtualenvsource /tmp/my_virtualenv/bin/activateACTSをインストールします。次のコマンドを実行します。
unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/actscd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/python3 setup.py installコードに直接アクセスできる場合は、解凍をスキップできます。
cd /path/to/acts/frameworkpython3 setup.py installどこからでもACTSを実行します。
act.py -c <config> ...テストの実行が終了したら、仮想環境を終了します。
deactivate
Androidデバイスのフラッシュ(オプション)
デバイスのシステム特権制御を取得する場合は、 userdebugビルドを使用してデバイスをフラッシュします。
デバイスをフラッシュするには、 Androidフラッシュツール(flash.android.com/)を使用します。詳細については、 Android FlashToolのドキュメントを参照してください。
SL4Aのインストール(オプション、推奨)
userdebugビルドのデバイスを使用している場合は、SL4Aを使用してデバイスのシステム特権制御を取得するオプションがあります。テストでデバイスでSL4Aを使用しない場合は、ACTS構成でskip_sl4aフラグを設定して、機能を無効にすることができます。
"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]
SL4A APKを入手するには、Android用スクリプトレイヤーの手順に従ってください。