고급 ACTS 가이드

이 가이드는 Android 커뮤니케이션 테스트 모음(ACTS) 테스트를 실행하는 방법을 안내합니다.

코드 가져오기

최신 버전의 ACTS는 /platform/tools/test/connectivity/의 Android 오픈소스 프로젝트(AOSP) Gerrit 저장소에서 확인할 수 있습니다.

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

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를 설치해야 합니다. 다음 단계에서는 ci.android.com에서 확인 가능한 aosp-mainacts_test.zip이 있거나 소스에 직접 액세스할 수 있다고 가정합니다.

  1. ACTS를 가져옵니다.

    빌드가 게시됩니다. 자세한 내용은 Android 지속적 통합을 참고하세요. ci.android.com의 빌드에서 ZIP 파일을 가져올 수 있습니다. test_suites_x86_64 타겟을 찾습니다.

    acts_test.zip 파일은 Artifacts 탭 아래에 있습니다. 이 예에서는 acts_test.zip/tmp/acts_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 Tool(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용 스크립팅 레이어의 안내를 따르세요.