무역 연합 아키텍처 개요

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 섹션에서는 Tradefed의 내부와 그 관계에 대해 설명합니다. 자세한 내용은 연결된 하위 페이지를 참조하십시오.

1. 테스트 구성(XML 구성)

개요

Tradefed의 테스트 구성은 XML 형식으로 설명됩니다. 구성의 구조를 이해하는 것은 테스트를 실행하고 사용자 정의하는 데 중요합니다.

TF 구성의 구조

글로벌 TF 구성

전역 구성은 TF_GLOBAL_CONFIG 환경 변수를 통해 Tradefed가 시작될 때 로드되는 특수한 Tradefed XML 구성입니다. 전체 하네스 동작에 영향을 줄 Tradefed 인스턴스 범위와 관련된 개체를 로드합니다.

전역 구성 세부 정보

키 저장소

키 저장소를 사용하면 명령줄에서 값을 직접 참조하는 것을 피하기 위해 키 저장소에서 오는 Tradefed에 명령줄 옵션을 주입할 수 있습니다. 이것은 키 저장소에서 직접 암호를 검색하여 명령줄에서 암호를 숨기는 데 사용할 수 있습니다.

키 저장소 세부정보

2. 장치 관리자

장치 관리자는 실행 중인 Tradefed 인스턴스에서 장치 상태를 추적하는 역할을 합니다. 할당 상태 및 온라인 상태와 같은 측면을 모니터링합니다.

3. 테스트 명령 스케줄러

Tradefed의 테스트 명령 스케줄러는 실행할 명령을 가져와 장치와 연결하고 테스트 호출을 시작합니다.

4. 공급자 빌드

빌드 공급자는 모든 테스트 호출의 첫 번째 단계입니다. 테스트(빌드 이미지, 테스트 APK 등)를 설정하고 실행하는 데 필요한 리소스를 다운로드합니다. 또한 테스트에 전달될 BuildInfo 개체에서 참조합니다. 로컬에서 사용 가능한 리소스도 BuildInfo 개체에 연결할 수 있습니다.

5. 타겟 준비자 및 클리너

대상 준비자는 테스트 중인 대상을 특정 상태로 구성하기 위해 수행할 수 있는 선택적 작업(예: 장치 깜박임, 특정 속성 설정 및 Wi-Fi 연결)을 제공합니다.

6. 테스트 러너

Tradefed의 테스트 러너는 실제 테스트 실행을 담당하는 개체를 나타냅니다. 다른 테스트 실행자는 다른 방식으로 테스트 실행을 주도합니다. 예를 들어, 계측 테스트 러너는 JUnit 테스트 러너와 매우 다릅니다.

7. 결과 보고자

Tradefed의 Result Reporter는 결과를 특정 대상으로 보낼 개체를 나타냅니다. 각 구현은 일반적으로 서로 다른 결과 백엔드에 대해 특화되어 있습니다. 그리고 Result Reporter는 Tradefed 결과 형식을 대상 형식으로 변환하는 역할을 합니다.

이 유연한 디자인을 통해 모든 테스트에서 결과 대상에 보고할 수 있으며 격리된 방식으로 더 많은 테스트를 쉽게 추가할 수 있습니다.

8. 메트릭 수집기

Metrics Collector는 테스트 실행과 직교하는 Tradefed의 특수 개체입니다. 테스트 수명 주기의 여러 지점(예: 테스트 시작, 테스트 종료)에서 정보를 수집할 수 있습니다. 수집기가 테스트 자체에서 분리되기 때문에 테스트 자체를 변경하지 않고도 포인트를 교환, 추가 및 제거할 수 있습니다.

9. 호스트 전체 설정

이 섹션에서는 전체 Tradefed 인스턴스 실행에 적용할 수 있는 설정에 대해 설명합니다. 이러한 옵션은 예를 들어 제한된 네트워크에 있는 것과 같이 다양한 환경에 적응하기 위해 하네스 전체의 동작에 영향을 줍니다.


10. 추가 기능

다음 섹션에서는 Tradefed 개체가 아닌 Tradefed 개체의 일반적인 사용법을 설명합니다.

Tradefed 샤딩

테스트 코퍼스가 크거나 실행하는 데 오랜 시간이 걸리는 경우 여러 장치로 분할할 수 있습니다. 이 분할을 샤딩 이라고 합니다. 이 섹션에서는 샤딩의 작동 방식과 구성 방식에 대해 설명합니다.

샤딩 세부정보

SL4A 사용

Tradefed는 Android, SL4A용 스크립팅 레이어를 지원합니다. 이것은 플랫폼 독립적인 방식으로 Android API를 호출하기 위한 자동화 도구 세트입니다.

Tradefed 세부 정보가 포함된 SL4A

동적 @Option 다운로드

어떤 경우에는 테스트 또는 특정 작업에 필요한 파일을 로컬에서 사용할 수 없습니다. 이 기능을 통해 Tradefed는 빌드 공급자를 거치지 않고 원격 위치에서 이러한 파일을 가져올 수 있습니다.

동적 @옵션 다운로드