이 페이지에는 Android 16 이상에서 CTS 인증 도구 (CTS-V) 멀티스크린 테스트를 사용하는 방법에 관한 안내가 포함되어 있습니다.
호스트 측 멀티스크린 테스트 설정
이 섹션에서는 멀티디바이스 테스트를 설정하는 방법을 설명합니다.
- 데스크톱 컴퓨터가 CTS의 운영체제 요구사항을 충족하는지 확인합니다.
- 데스크톱 소프트웨어 설치의 2단계와 5단계에 따라 adb, AAPT2, Python이 데스크톱에 올바르게 설치되어 있는지 확인합니다.
CTS-V가 설정된 두 개의 일치하는 테스트 대상 기기 (DUT)를 준비합니다.
NFC 이외의 모듈을 테스트하는 경우 표준 2대 기기 테스트 설정을 따르세요.
- NFC 테스트의 경우 NFC 테스트 설정을 따르세요.
CDM 모듈을 테스트하는 경우 표준 2대 기기 설정 외에도 CDM 테스트 설정을 따르세요.
표준 2대 기기 테스트 설정
기본 2대 기기 설정의 경우:
- 일치하는 Android DUT 2개를 약 20cm 떨어지게 배치합니다.
깨끗한 환경을 유지하려면 두 기기를 모두 차폐 상자에 넣습니다.
(선택사항) Wi-Fi 디버깅을 위한 OTA 스니퍼를 설정합니다.
NFC 테스트 설정
NFC 테스트는 하나의 DUT와 PN532 NFC 칩을 사용합니다.
NFC 테스트를 설정하려면 다음 단계를 따르세요.
- PN532 NFC 칩을 구매합니다. All-In-One PN532를 사용하는 것이 좋습니다.
DUT에서 설정 앱으로 이동합니다.
NFC를 사용 설정합니다.
NFC 칩을 배치합니다.
휴대전화의 경우 그림 1과 같이 DUT의 NFC 리더를 배치합니다.
그림 1. NFC 칩 배치
다른 기기 유형의 경우 칩을 기기의 NFC 안테나 옆에 놓습니다.
USB 케이블을 사용하여 PN532 NFC 칩을 테스트 워크스테이션에 연결합니다.
CDM 테스트 설정
test_permissions_sync()
테스트 사례는 테스트가 실행되는 기기의 빌드 유형에 따라 동작이 다릅니다. 디버그 가능한 빌드 (userdebug 또는 eng)와 디버그 불가능한 빌드 (user)를 모두 OEM에서 테스트하고 두 빌드 모두 테스트를 통과하는 것이 중요합니다.
예외
권한 동기화 API 구현의 CDD 절에는 보안 채널을 통해 기기 간에 데이터를 전송할 수 있을 뿐입니다. 보안 채널 구현은 CDD 규정 준수 요구사항이 아니므로 디버그 불가능한 (사용자) 빌드에서는 이 테스트를 건너뛸 수 있지만, CDM 권한 동기화 기능을 지원하지 않으려는 경우에만 가능합니다.
테스트는 예외 없이 디버그 가능한 빌드에서 통과해야 합니다.
디버그 불가능한 빌드에서 테스트하기 위한 기본 요건
이전 예외 조항에 따라 예외가 적용되지 않는 경우 다음 기본 요건을 충족해야 합니다.
보안 채널은 AVF (AttestationVerificationFramework
)를 사용하여 하드웨어의 신뢰성을 확인합니다. 양 당사자가 생성한 증명에는 시스템에 승인되지 않은 변경사항이 없었음을 확인하기 위한 당사자 정보가 여러 개 포함됩니다. AVF는 인증 프로세스 중에 다음 상태를 확인합니다.
- 기기가 인터넷에 액세스할 수 있음
- 기기에서 자체 검사 부팅을 사용하며 빌드는 dev-key가 아닌 release-key로 서명되어야 합니다.
- 기기가 부트로더 잠김 자세한 내용은 부트로더 잠그기를 참고하세요.
- OS, 키 부팅, 주요 공급업체 패치 수준이 12개월 이내입니다. 1년 이상 지난 빌드는 사용하지 마세요.
기기 증명은 공급업체에서 승인한 루트 인증서 중 하나로 뒷받침됩니다.
vendor_required_attestation_certificates.xml
리소스 오버레이에서 신뢰할 수 있는 루트 인증서를 지정합니다.
호스트 측 멀티스크린 테스트 실행 (AOSP 16 이상)
CTS 인증 도구 16에서는 호스트 측 멀티기기 테스트 지원을 도입합니다. 이러한 테스트는 기기에서 수동 테스트 작업을 실행하는 대신 호스트에서 자동화된 스크립트를 사용하여 실행할 수 있습니다. 각 테스트가 완료되면 결과가 자동으로 DUT에 업로드되고 CTS 인증 도구 앱에 표시됩니다.
이 섹션에서는 호스트 측 멀티 디바이스 테스트를 실행하는 방법을 설명합니다.
멀티 디바이스 테스트 실행
멀티 디바이스 테스트를 실행하려면 다음 단계를 따르세요.
테스트 워크스테이션에서 CTS-V ZIP 패키지가 압축 해제된 디렉터리에서
cts-v-host
콘솔을 실행합니다../android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
DUT의 CTS 인증 도구 앱에서 호스트 측 테스트를 클릭합니다. 그림 2는 CTS 인증 도구 앱의 호스트 측 테스트를 보여줍니다.
그림 2. CTS 인증 도구 앱의 호스트 측 멀티스크린 테스트
테스트 호스트 측 멀티스크린 테스트 모듈 목록이 표시됩니다.
실행하려는 테스트 모듈의 이름을 식별합니다. 예를 들어 CompanionDeviceManager 모듈은 CtsCompanionDeviceManagerMultiDeviceTestCases로 표시됩니다.
cts-v-host 콘솔에서 다음 명령어를 실행합니다. 참고: CTS Verifier 앱에서 호스트 측 모듈을 탭하면 개별 테스트 사례 목록이 표시되지 않습니다. 대신 모듈이 호스트에서 실행된 후 UI가 테스트 사례 결과로 자동으로 채워집니다.
xTS 콘솔에서 다음 명령어를 실행합니다.
run cts-v-host -m test_module_name
예를 들면 다음과 같습니다.
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
xTS 콘솔에서 테스트 실행을 완료하면 결과가 CTS 인증 도구 앱에 표시됩니다. 녹색으로 표시된 테스트는 통과한 것입니다. 빨간색으로 표시된 테스트는 실패했습니다. 그림 3은 CtsCompanionDeviceManager 테스트의 예시 결과를 보여줍니다.
그림 3. CTS 인증 도구 앱의 호스트 측 멀티스크린 테스트 결과
멀티 디바이스 테스트 문제 해결
이 섹션에서는 발생할 수 있는 문제에 대한 문제 해결 도움말을 제공합니다.
NFC 테스트 중에 GetFirmwareVersion에 대한 응답 없음 수정
멀티 디바이스 테스트를 실행하는 동안 verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
메시지가 표시되면 테스트에서 PN532 NFC 보드에 액세스할 수 없습니다.
이 문제를 해결하려면 호스트의 PN532 NFC 보드에서 사용하는 직렬 경로(예: dev/ttyUSB1
)를 식별한 다음 콘솔에서 --module-arg
인수를 사용하여 수동으로 지정합니다.
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
NFC 테스트 중에 '거래 실패' 오류 메시지 수정
모든 NFC 테스트 사례에 Transaction failed, check device logs for more
information.
메시지가 표시되면 DUT의 NFC 칩이 PN532를 감지할 수 없기 때문일 수 있습니다.
호스트에 연결된 기기가 여러 대인데 그중 일부에 PN532가 위에 놓여 있지 않으면 잘못된 DUT가 선택되었을 수 있습니다. 자세한 내용은 NFC 테스트 설정을 참고하세요.
이 문제를 해결하려면 다음 중 한 가지를 따르세요.
-s
플래그를 사용하여 호스트 측 테스트 명령어에서 올바른 DUT 일련번호를 설정합니다.호스트에서 DUT가 아닌 기기를 모두 분리합니다.
CDM 테스트 사례 test_permissions_sync
가 무시됨
디버그 불가능한 기기에서 테스트를 실행하는 경우 예외에 해당하는지 확인하세요. 그렇지 않은 경우 두 기기가 모두 기본 요건을 충족하는지 확인합니다.