고급 ACTS 가이드

Android Comms Test Suite(ACTS) 테스트를 실행하는 방법에 대한 가이드입니다.

코드 가져오기

최신 버전의 ACTS는 /platform/tools/test/connectivity/ 의 AOSP(Android Open Source Project) Gerrit 저장소에서 찾을 수 있습니다.

코드를 동기화하는 방법에 대한 자세한 내용 은 소스Android 개발자 Codelab 다운로드를 참조하십시오. 코드를 동기화할 때 마스터 브랜치를 동기화하십시오. 태그가 지정된 빌드를 동기화하지 마세요.

ACTS를 다운로드할 때 전체 Android 저장소를 동기화할 필요가 없습니다. ACTS만 동기화하려면 repo init 명령을 실행한 후 다음을 실행합니다.

repo sync platform/tools/test/connectivity

ACTS는 <repo>/tools/test/connectivity/acts/ 에서 찾을 수 있습니다.

환경 설정

ACTS에 설정에 필요한 종속성이 있는지 확인하려면 다음 Python 3 설정 도구를 설치하세요.

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를 실행할 수 있습니다. 수행해야 하는 유일한 단계는 <repo>/tools/test/connectivity/acts/framework 에서 가져올 Python 경로를 수정하는 것입니다. 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를 설치해야 합니다. 다음 단계에서는 acts_test.zipaosp-master 에서 acts_test.zip 이 있거나 소스에 직접 액세스할 수 있다고 가정합니다.

  1. ACTS를 가져옵니다.

    빌드가 게시됩니다. 자세한 내용은 Android 지속적 통합 을 참조하십시오. ci.android.com 의 빌드에서 zip 파일을 가져올 수 있습니다. test_suites_x86_64 대상을 찾으십시오.

    acts_test.zip 파일은 Artifacts 탭 아래에 있습니다. 이 예에서는 /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 Flash Tool 의 설명서를 참조하세요.

SL4A 설치(옵션, 권장)

userdebug 빌드가 있는 장치를 사용하는 경우 SL4A를 사용하여 장치의 시스템 권한 제어를 얻을 수 있는 옵션이 있습니다. 테스트가 장치에서 SL4A를 사용하지 않는 경우 ACTS 구성에서 skip_sl4a 플래그를 설정하여 기능을 비활성화할 수 있습니다.

"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]

SL4A APK를 얻으려면 Android용 스크립팅 레이어 의 지침을 따르세요.