高度なACTSガイド

これは、 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-setuptools
sudo apt-get install python3-pip
sudo apt-get install adb fastboot
sudo 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 develop
cd -

テストのみを実行する場合は、代わりに次のコマンドを実行します。

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py install
cd -

インストールの確認

セットアップ後、ターミナルで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.py
    
  • export 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を使用しているか、ソースに直接アクセスできることを前提としています。

  1. ACTSを入手してください。

    ビルドが公開されます。詳細については、 Android継続的インテグレーションを参照してください。 ci.android.comのビルドからzipファイルをプルできます。 test_suites_x86_64ターゲットを探します。

    acts_test.zipファイルは[アーティファクト]タブの下にあります。この例では、 /tmp/acts_test.zipacts_test.zipにダウンロードされていると想定します。

    ソースコードにアクセスできる場合は、代わりにそれを使用できます。

  2. マシンにvirtualenvをインストールします。

    まだお持ちでない場合は、以下を使用してvirtualenvをインストールできます。

    python3 -m pip install -U --user virtualenv
    
  3. 仮想環境を作成してアクティブ化します(この例では/tmp/my_virtualenvにあります)。これにより、新しいパッケージがvirtualenvディレクトリに確実にインストールされます。

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
    
  4. ACTSをインストールします。次のコマンドを実行します。

    unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/acts
    cd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/
    python3 setup.py install
    

    コードに直接アクセスできる場合は、解凍をスキップできます。

    cd /path/to/acts/framework
    python3 setup.py install
    
  5. どこからでもACTSを実行します。

    act.py -c <config> ...
    
  6. テストの実行が終了したら、仮想環境を終了します。

    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用スクリプトレイヤーの手順に従ってください。