

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS Device Farm에서 테스트 실행
<a name="runs"></a>

Device Farm의 실행은 특정 디바이스 세트에서 실행될 특정 테스트 세트가 있는 앱의 특정 빌드입니다. 실행을 하면 결과에 대한 정보가 수록된 보고서가 생성됩니다. 실행에는 하나 이상의 작업이 있습니다. 자세한 내용은 [실행](test-runs.md) 단원을 참조하십시오.

AWS Device Farm 콘솔, AWS Command Line Interface (AWS CLI) 또는 AWS Device Farm API를 사용하여 테스트 실행을 수행할 수 있습니다.

**Topics**
+ [Device Farm에서 테스트 실행 생성](how-to-create-test-run.md)
+ [AWS Device Farm의 테스트 실행 제한 시간 설정](how-to-set-default-timeout-for-test-runs.md)
+ [AWS Device Farm 실행을 위한 네트워크 연결 및 조건 시뮬레이션](how-to-simulate-network-connections-and-conditions.md)
+ [AWS Device Farm에서의 실행 중지](how-to-stop-test-runs.md)
+ [AWS Device Farm에서 실행 목록 보기](how-to-view-runs-list.md)
+ [AWS Device Farm에서 디바이스 풀 생성](how-to-create-device-pool.md)
+ [AWS Device Farm에서 테스트 결과 분석](analyzing-results.md)

# Device Farm에서 테스트 실행 생성
<a name="how-to-create-test-run"></a>

Device Farm 콘솔 AWS CLI또는 Device Farm API를 사용하여 테스트 실행을 생성할 수 있습니다. 또한 Device Farm용 Jenkins 또는 Gradle 플러그인 등 지원되는 플러그인을 사용할 수도 있습니다. 플러그인에 대한 자세한 내용은 [도구 및 플러그인](aws-device-farm-tools-plugins.md) 단원을 참조하세요. 실행에 대한 자세한 내용은 [실행](test-runs.md) 단원을 참조하세요.

**Topics**
+ [사전 조건](#how-to-create-test-run-prerequisites)
+ [테스트 실행 생성(콘솔)](#how-to-create-test-run-console)
+ [테스트 실행 생성(AWS CLI)](#how-to-create-test-run-cli)
+ [테스트 실행 생성(API)](#how-to-create-test-run-api)
+ [다음 단계](#how-to-create-test-run-console-next-steps)

## 사전 조건
<a name="how-to-create-test-run-prerequisites"></a>

Device Farm에 프로젝트가 있어야 합니다. [AWS Device Farm에서 프로젝트 생성](how-to-create-project.md)의 지침을 수행한 후 이 페이지로 돌아오세요.

## 테스트 실행 생성(콘솔)
<a name="how-to-create-test-run-console"></a>

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)에서 Device Farm 콘솔에 로그인하세요.

1. 탐색 창에서 **모바일 디바이스 테스트**를 선택하고 **프로젝트**를 선택하세요.

1. 프로젝트가 이미 있는 경우 해당 프로젝트에 테스트를 업로드할 수 있습니다. 그렇지 않다면 **새 프로젝트**를 선택하여 **프로젝트의 이름**을 입력한 뒤 **생성**을 선택하세요.

1. 프로젝트를 연 후 **실행 생성**을 선택하세요.

1. (선택 사항) **실행 설정**의 **실행 이름** 섹션에 실행 이름을 입력합니다. 이름이 입력되지 않으면 Device Farm 콘솔은 기본적으로 실행된 'My Device Farm run'의 이름을 지정합니다.

1. (선택 사항) **실행 설정**의 **작업 제한 시간** 섹션에서 테스트 실행의 실행 제한 시간을 지정할 수 있습니다. 무제한 테스트 슬롯을 사용하는 경우 **과금되지 않음**이 **결제 방법**에서 선택되어 있는지 확인하세요.

1. **실행 설정**의 **실행 유형** 섹션에서 실행 유형을 선택합니다. 테스트할 앱이 없거나 Android(.apk) 앱을 테스트하는 경우 **Android 앱**을 선택합니다. iOS(.ipa) 앱을 테스트하는 경우 **iOS 앱**을 선택합니다. 웹 애플리케이션을 테스트하려면 **웹 앱**을 선택합니다.

1. **앱 선택**의 **앱 선택 옵션** 섹션에서 테스트할 수 있는 앱이 없는 경우 **Device Farm에서 제공하는 샘플 앱 선택**을 선택합니다. 자체 앱을 가져오는 경우 **자체 앱 업로드**를 선택하고 애플리케이션 파일을 선택합니다. iOS 앱을 업로드하는 경우 시뮬레이터와 달리 **iOS 디바이스**를 선택해야 합니다.

1. **테스트 구성**에서 사용 가능한 테스트 프레임워크 중 하나를 선택합니다.
**참고**  
사용 가능한 테스트가 없는 경우 **내장: fuzz**를 선택하여 기본 제공된 표준 테스트 스위트를 실행합니다. **내장: Fuzz**를 선택하고 **이벤트 개수**, **이벤트 스로틀**, **Radomizer 시드** 상자가 표시되면 값을 변경하거나 유지할 수 있습니다.

   사용할 수 있는 테스트 스위트에 대한 자세한 내용은 [AWS Device Farm의 테스트 프레임워크 및 내장 테스트](test-types.md) 단원을 참조하세요.

1. **내장: Fuzz**를 선택하지 않은 경우 **테스트 패키지 선택**에서 **파일 선택**을 선택합니다. 테스트가 포함된 파일을 찾아서 선택하세요.

1. 실행 환경에서 **표준 환경에서 테스트 실행** 또는 **테스트 환경 사용자 지정**을 선택하세요. 자세한 내용은 [AWS Device Farm의 테스트 환경](test-environments.md) 단원을 참조하십시오.

1. 사용자 지정 테스트 환경을 사용하는 경우 선택적으로 다음을 수행할 수 있습니다.
   + 사용자 지정 테스트 환경에서 기본 테스트 사양을 편집하려는 경우 **편집**을 선택하여 기본 YAML 사양을 업데이트하세요.
   + 테스트 사양을 변경한 경우 **새로 저장**으로 테스트 사양을 업데이트하세요.
   + 환경 변수를 구성할 수 있습니다. 여기에 제공된 변수는 상위 프로젝트에서 구성할 수 있는 변수보다 우선합니다.

1. **디바이스 선택**에서 다음 작업 중 하나를 수행합니다.
   + 테스트를 실행할 기본 제공 디바이스 풀을 선택하려면 **디바이스 풀**에서 **최고 인기 디바이스**를 선택하세요.
   + 테스트를 실행할 고유한 디바이스 풀을 만들려면 [디바이스 풀 생성](how-to-create-device-pool.md)의 지침을 수행한 후 현재 페이지로 돌아오세요.
   + 이전에 고유한 디바이스 풀을 만들어 두었다면 **디바이스 풀**에서 해당 디바이스 풀을 선택하세요.
   + **수동으로 디바이스 선택**을 선택하고 실행하려는 디바이스를 선택합니다. 이 구성으로는 저장이 불가능합니다.

   자세한 내용은 [AWS Device Farm에서 디바이스 지원디바이스](devices.md) 단원을 참조하십시오.

1. (선택 사항) 구성을 추가하려면 **추가 구성** 드롭다운을 엽니다. 이 섹션에서는 다음 작업을 수행합니다.
   + 실행 역할 ARN을 제공하거나 상위 프로젝트에 구성된 ARN을 재정의하려면 실행 역할 ARN 필드를 사용합니다.
   + 실행 중에 Device Farm이 사용할 다른 데이터를 입력하려면 **데이터 추가** 옆의 **파일 선택** 클릭 후, 해당 데이터가 포함된 .zip 파일을 찾아 선택하세요.
   + 실행 중 Device Farm에 사용할 추가 앱을 설치하려면 **다른 앱 설치** 옆의 **파일 선택** 클릭 후 해당 앱이 들어 있는 .apk 또는 .ipa 파일을 찾아 선택하세요. 설치할 다른 앱에 대해서도 이 절차를 반복하세요. 앱을 업로드한 후 끌어서 놓는 방법으로 설치 순서를 변경할 수 있습니다.
   + 실행 중에 Wi-Fi, Bluetooth, GPS 또는 NFC 활성화 여부를 지정하려면 **무선 상태 설정** 옆의 알맞은 확인란을 선택하세요.
   + 실행을 위해 디바이스 위도 및 경도를 미리 설정하려면 **디바이스 위치** 옆에 좌표를 입력합니다.
   + 실행을 위해 디바이스 로캘을 미리 설정하려면 **디바이스 로캘**에서 로캘을 선택하세요.
   + 테스트 실행 중에 동영상 녹화하려면 **동영상 녹화 활성화**를 선택하세요.
   + 디바이스에서 성능 데이터 캡처하려면 **앱 성능 데이터 캡처 활성화**를 선택하세요.
**참고**  
디바이스 무선 상태 및 로캘 설정은 현재 Android 기본 테스트에만 사용 가능한 옵션입니다.
**참고**  
프라이빗 디바이스가 있는 경우 프라이빗 디바이스 구성도 표시됩니다.

1. 페이지 하단에서 **실행 생성**을 선택하여 실행을 예약합니다.

디바이스를 사용할 수 있게 되면 일반적으로 몇 분 이내에 Device Farm이 실행을 시작합니다. 테스트 실행 중에 Device Farm 콘솔은 실행 테이블에 보류 중 아이콘 ![\[Device Farm scheduled a job.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-calendar.png)을 표시합니다. 실행 중인 각 디바이스 역시 보류 중 아이콘으로 시작하여 테스트가 시작되면 실행 중 아이콘 ![\[Device Farm progress indicator.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-progress.png)로 전환합니다. 각 테스트가 완료되면 디바이스 이름 옆에 테스트 결과 아이콘이 표시됩니다. 모든 테스트가 완료되면 실행 옆에 있는 보류 중 아이콘이 테스트 결과 아이콘으로 바뀝니다.

테스트 실행을 중지해야 하는 경우 [AWS Device Farm에서의 실행 중지](how-to-stop-test-runs.md) 단원을 참조하세요.

## 테스트 실행 생성(AWS CLI)
<a name="how-to-create-test-run-cli"></a>

 AWS CLI 를 사용하여 테스트 실행을 생성할 수 있습니다.

**Topics**
+ [1단계: 프로젝트 선택](#how-to-create-test-run-cli-step1)
+ [2단계: 디바이스 풀 선택](#how-to-create-test-run-cli-step2)
+ [3단계: 애플리케이션 파일 업로드](#how-to-create-test-run-cli-step3)
+ [4단계: 테스트 스크립트 패키지 업로드](#how-to-create-test-run-cli-step4)
+ [5단계: 사용자 지정 테스트 사양 업로드(선택 사항)](#how-to-create-test-run-cli-step5)
+ [6단계: 테스트 실행 예약](#how-to-create-test-run-cli-step6)

### 1단계: 프로젝트 선택
<a name="how-to-create-test-run-cli-step1"></a>

테스트 실행을 Device Farm 프로젝트와 연결해야 합니다.

1. Device Farm 프로젝트를 나열하려면 **list-projects**를 실행하세요. 프로젝트가 없는 경우 [AWS Device Farm에서 프로젝트 생성](how-to-create-project.md)를 참조하세요.

   예제

   ```
   aws devicefarm list-projects
   ```

   응답은 Device Farm 프로젝트 목록을 포함합니다.

   ```
   {
       "projects": [
           {
               "name": "MyProject",
               "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
               "created": 1503612890.057
           }
       ]
   }
   ```

1. 테스트 실행과 연결할 프로젝트를 선택한 후 Amazon 리소스 이름(ARN)을 적어 둡니다.

### 2단계: 디바이스 풀 선택
<a name="how-to-create-test-run-cli-step2"></a>

테스트 실행과 연결할 디바이스 풀을 선택해야 합니다.

1. 디바이스 풀을 보려면 프로젝트 ARN을 지정하여 **list-device-pools**를 실행하세요.

   예제

   ```
   aws devicefarm list-device-pools --arn arn:MyProjectARN
   ```

   응답은 **Top Devices** 및 해당 프로젝트에 대해 기존 생성한 모든 디바이스 풀 등 내장 Device Farm 디바이스 풀을 포함합니다.

   ```
   {
       "devicePools": [
           {
               "rules": [
                   {
                       "attribute": "ARN",
                       "operator": "IN",
                       "value": "[\"arn:aws:devicefarm:us-west-2::device:example1\",\"arn:aws:devicefarm:us-west-2::device:example2\",\"arn:aws:devicefarm:us-west-2::device:example3\"]"
                   }
               ],
               "type": "CURATED",
               "name": "Top Devices",
               "arn": "arn:aws:devicefarm:us-west-2::devicepool:example",
               "description": "Top devices"
           },
           {
               "rules": [
                   {
                       "attribute": "PLATFORM",
                       "operator": "EQUALS",
                       "value": "\"ANDROID\""
                   }
               ],
               "type": "PRIVATE",
               "name": "MyAndroidDevices",
               "arn": "arn:aws:devicefarm:us-west-2:605403973111:devicepool:example2"
           }
       ]
   }
   ```

1. 디바이스 풀을 선택하고 ARN을 적어 둡니다

   디바이스 풀을 생성한 후 이 단계로 돌아올 수도 있습니다. 자세한 내용은 [디바이스 풀(AWS CLI)을 생성하세요.](how-to-create-device-pool.md#how-to-create-device-pool-cli) 단원을 참조하세요.

### 3단계: 애플리케이션 파일 업로드
<a name="how-to-create-test-run-cli-step3"></a>

업로드 요청을 생성하고 Amazon Simple Storage Service(Amazon S3)의 미리 서명된 업로드 URL을 가져오려면 다음이 필요합니다.
+ 프로젝트 ARN
+ 앱 파일의 이름
+ 업로드 유형

자세한 내용은 [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-upload.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-upload.html) 단원을 참조하십시오.

1. 파일을 업로드하려면 `–-project-arn`, `--name` 및 `--type` 파라미터와 함께 **create-upload**을 실행하세요.

   다음 예시에서는 Android 앱의 업로드를 생성합니다.

   ```
   aws devicefarm create-upload -–project-arn arn:MyProjectArn -–name MyAndroid.apk -–type ANDROID_APP
   ```

   응답에는 앱 업로드 ARN 및 미리 서명된 URL이 포함됩니다.

   ```
   {
       "upload": {
           "status": "INITIALIZED",
           "name": "MyAndroid.apk",
           "created": 1535732625.964,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL",
           "type": "ANDROID_APP",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
       }
   }
   ```

1. 앱 업로드 ARN 및 미리 서명된 URL을 적어 둡니다

1. Amazon S3의 미리 서명된 URL을 사용하여 앱 파일을 업로드하세요. 다음 예에서는 **curl**을 사용하여 Android .apk 파일을 업로드합니다.

   ```
   curl -T MyAndroid.apk "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL"
   ```

   자세한 내용을 알아보려면 Amazon Simple Storage Service 사용 설명서의 [미리 서명된 URL을 사용하여 객체 업로드](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html)를 참조하세요.**

1. 앱 업로드 상태를 확인하려면 **get-upload**를 실행하고 앱 업로드의 ARN을 지정하세요.

   ```
   aws devicefarm get-upload –-arn arn:MyAppUploadARN
   ```

   응답의 상태가 **SUCCEEDED** 될 때까지 기다린 후 테스트 스크립트 패키지를 업로드하세요.

   ```
   {
       "upload": {
           "status": "SUCCEEDED",
           "name": "MyAndroid.apk",
           "created": 1535732625.964,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "ANDROID_APP",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
           "metadata": "{"valid": true}"
       }
   }
   ```

### 4단계: 테스트 스크립트 패키지 업로드
<a name="how-to-create-test-run-cli-step4"></a>

다음으로 테스트 스크립트 패키지를 업로드하세요.

1. 업로드 요청을 생성하고 Amazon S3의 미리 서명된 업로드 URL을 가져오려면 `–-project-arn`, `--name`, `--type` 파라미터와 함께 **create-upload**를 실행하세요.

   다음 예에서는 Appium Java TestNG 테스트 패키지 업로드를 생성합니다.

   ```
   aws devicefarm create-upload –-project-arn arn:MyProjectARN -–name MyTests.zip –-type APPIUM_JAVA_TESTNG_TEST_PACKAGE
   ```

   응답에는 테스트 패키지 업로드 ARN 및 미리 서명된 URL이 포함됩니다.

   ```
   {
       "upload": {
           "status": "INITIALIZED",
           "name": "MyTests.zip",
           "created": 1535738627.195,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL",
           "type": "APPIUM_JAVA_TESTNG_TEST_PACKAGE",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
       }    
   }
   ```

1. 테스트 패키지 업로드의 ARN과 미리 서명된 URL을 적어 둡니다

1. Amazon S3의 미리 서명된 URL을 사용하여 테스트 스크립트 패키지 파일을 업로드하세요. 다음 예에서는 **curl**을 사용하여 압축된 Appium TestNG 스크립트 파일을 업로드합니다.

   ```
   curl -T MyTests.zip "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL"
   ```

1. 테스트 스크립트 패키지 업로드의 상태를 확인하려면 **get-upload**를 실행하고 1단계의 테스트 패키지 업로드의 ARN을 지정하세요.

   ```
   aws devicefarm get-upload –-arn arn:MyTestsUploadARN
   ```

   응답의 상태가 **SUCCEEDED** 될 때까지 기다린 후 선택 사항인 다음 단계를 진행하세요.

   ```
   {
       "upload": {
           "status": "SUCCEEDED",
           "name": "MyTests.zip",
           "created": 1535738627.195,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "APPIUM_JAVA_TESTNG_TEST_PACKAGE",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
           "metadata": "{"valid": true}"
       }
   }
   ```

### 5단계: 사용자 지정 테스트 사양 업로드(선택 사항)
<a name="how-to-create-test-run-cli-step5"></a>

표준 테스트 환경에서 테스트를 실행하는 경우 이 단계를 건너뛰세요.

Device Farm은 지원되는 각 테스트 유형의 기본 테스트 사양 파일을 유지합니다. 다음으로 기본 테스트 사양을 다운로드하여 사용자 지정 테스트 환경에서 테스트를 실행하기 위해 사용자 지정 테스트 사양 업로드를 생성하세요. 자세한 내용은 [AWS Device Farm의 테스트 환경](test-environments.md) 단원을 참조하세요.

1. 기본 테스트 사양의 업로드 ARN을 찾으려면 **list-uploads**를 실행하고 프로젝트 ARN을 지정하세요.

   ```
   aws devicefarm list-uploads --arn arn:MyProjectARN
   ```

   응답에 기본 테스트 사양의 각 항목이 포함됩니다.

   ```
   {
       "uploads": [
           {
   
               {
                   "status": "SUCCEEDED",
                   "name": "Default TestSpec for Android Appium Java TestNG",
                   "created": 1529498177.474,
                   "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
                   "type": "APPIUM_JAVA_TESTNG_TEST_SPEC",
                   "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
               }
           }
       ]
   }
   ```

1. 목록에서 기본 테스트 사양을 선택하세요. 업로드 ARN을 적어 둡니다

1. 기본 테스트 사양을 다운로드하려면 **get-upload**를 실행하고 업로드 ARN을 지정하세요.

   예제

   ```
   aws devicefarm get-upload –-arn arn:MyDefaultTestSpecARN
   ```

   응답은 기본 테스트 사양을 다운로드할 수 있는 미리 서명된 URL을 포함합니다.

1. 다음 예에서는 **curl**을 사용하여 기본 테스트 사양을 다운로드하고 `MyTestSpec.yml`로 저장합니다.

   ```
   curl "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL" > MyTestSpec.yml
   ```

1. 테스트 요구 사항에 맞게 기본 테스트 사양을 편집한 후, 향후 테스트 실행에서 수정된 테스트 사양을 사용할 수 있습니다. 사용자 지정 테스트 환경에서 기본 테스트 사양을 그대로 사용하려면 이 단계를 건너뛰세요.

1. 사용자 지정 테스트 사양의 업로드를 생성하려면 테스트 사양 이름, 테스트 사양 유형 및 프로젝트 ARN을 지정하여 **create-upload**를 실행하세요.

   다음 예에서는 Appium Java TestNG 사용자 지정 테스트 사양 업로드를 생성합니다.

   ```
   aws devicefarm create-upload --name MyTestSpec.yml --type APPIUM_JAVA_TESTNG_TEST_SPEC --project-arn arn:MyProjectARN
   ```

   응답에는 테스트 사양 업로드 ARN 및 미리 서명된 URL이 포함됩니다.

   ```
   {
       "upload": {
           "status": "INITIALIZED",
           "category": "PRIVATE",
           "name": "MyTestSpec.yml",
           "created": 1535751101.221,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "APPIUM_JAVA_TESTNG_TEST_SPEC",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE"
       }
   }
   ```

1. 테스트 사양 업로드의 ARN과 미리 서명된 URL을 적어 둡니다

1. Amazon S3의 미리 서명된 URL을 사용하여 테스트 사양 파일을 업로드하세요. 다음 예에서는 **curl**을 사용하여 Appium JavaTestNG 테스트 사양을 업로드합니다.

   ```
   curl -T MyTestSpec.yml "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL"
   ```

1. 테스트 사양 업로드의 상태를 확인하려면 **get-upload**를 실행하고 업로드 ARN을 지정하세요.

   ```
   aws devicefarm get-upload –-arn arn:MyTestSpecUploadARN
   ```

   응답의 상태가 **SUCCEEDED** 될 때까지 기다린 후 테스트 실행을 예약하세요.

   ```
   {
       "upload": {
           "status": "SUCCEEDED",
           "name": "MyTestSpec.yml",
           "created": 1535732625.964,
           "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL", 
           "type": "APPIUM_JAVA_TESTNG_TEST_SPEC",
           "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
           "metadata": "{"valid": true}"
       }
   }
   ```

   사용자 지정 테스트 사양을 업데이트하려면 테스트 사양의 업로드 ARN을 지정하여 **update-upload**를 실행하세요. 자세한 내용은 [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/update-upload.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/update-upload.html) 단원을 참조하십시오.

### 6단계: 테스트 실행 예약
<a name="how-to-create-test-run-cli-step6"></a>

를 사용하여 테스트 실행을 예약하려면 다음을 **schedule-run**지정하여를 AWS CLI실행합니다.
+ [1단계](#how-to-create-test-run-cli-step1)의 프로젝트 ARN
+ [2단계](#how-to-create-test-run-cli-step2)의 디바이스 풀 ARN
+ [3단계](#how-to-create-test-run-cli-step3)의 앱 업로드 ARN
+ [4단계](#how-to-create-test-run-cli-step4)의 테스트 패키지 업로드 ARN

 사용자 지정 테스트 환경에서 테스트를 실행하는 경우 [5단계](#how-to-create-test-run-cli-step5)의 테스트 사양 ARN도 필요합니다.

**표준 테스트 환경에서 실행을 예약**
+ 프로젝트 ARN, 디바이스 풀 ARN, 애플리케이션 업로드 ARN 및 테스트 패키지 정보를 지정하여 **schedule-run**을 실행하세요.

  예제:

  ```
  aws devicefarm schedule-run --project-arn arn:MyProjectARN --app-arn arn:MyAppUploadARN --device-pool-arn arn:MyDevicePoolARN --name MyTestRun --test type=APPIUM_JAVA_TESTNG,testPackageArn=arn:MyTestPackageARN
  ```

  응답에는 테스트 실행 상태를 확인할 때 사용할 수 있는 실행 ARN이 포함됩니다.

  ```
  {
      "run": {
          "status": "SCHEDULING",
          "appUpload": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345appEXAMPLE",
          "name": "MyTestRun",
          "radios": {
              "gps": true,
              "wifi": true,
              "nfc": true,
              "bluetooth": true
          },
          "created": 1535756712.946,
          "totalJobs": 179,
          "completedJobs": 0,
          "platform": "ANDROID_APP",
          "result": "PENDING",
          "devicePoolArn": "arn:aws:devicefarm:us-west-2:123456789101:devicepool:5e01a8c7-c861-4c0a-b1d5-12345devicepoolEXAMPLE",
          "jobTimeoutMinutes": 150,
          "billingMethod": "METERED",
          "type": "APPIUM_JAVA_TESTNG",
          "testSpecArn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-12345specEXAMPLE",
          "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-12345runEXAMPLE",
          "counters": {
              "skipped": 0,
              "warned": 0,
              "failed": 0,
              "stopped": 0,
              "passed": 0,
              "errored": 0,
              "total": 0
          }
      }
  }
  ```

  자세한 내용은 [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/schedule-run.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/schedule-run.html) 단원을 참조하십시오.

**사용자 지정 테스트 환경에서 실행을 예약**
+ 단계는 `--test` 파라미터의 추가 `testSpecArn` 속성이 포함된 표준 테스트 환경의 단계와 거의 동일합니다.

  예제

  ```
  aws devicefarm schedule-run --project-arn arn:MyProjectARN --app-arn arn:MyAppUploadARN --device-pool-arn arn:MyDevicePoolARN --name MyTestRun --test testSpecArn=arn:MyTestSpecUploadARN,type=APPIUM_JAVA_TESTNG,testPackageArn=arn:MyTestPackageARN
  ```

**테스트 실행 상태를 확인**
+ **get-run** 명령을 사용하고 실행 ARN을 지정하세요.

  ```
  aws devicefarm get-run --arn arn:aws:devicefarm:us-west-2:111122223333:run:5e01a8c7-c861-4c0a-b1d5-12345runEXAMPLE
  ```

자세한 내용은 [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html) 단원을 참조하십시오. 에서 Device Farm을 사용하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요[AWS CLI 참조](cli-ref.md).

## 테스트 실행 생성(API)
<a name="how-to-create-test-run-api"></a>

단계는 AWS CLI 섹션에 설명된 단계와 동일합니다. [테스트 실행 생성(AWS CLI)](#how-to-create-test-run-cli)을(를) 참조하세요.

[https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html) API를 직접 호출하려면 다음 정보가 필요합니다.
+ 프로젝트 ARN [프로젝트 생성(API)](how-to-create-project.md#how-to-create-project-api) 및 [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateProject.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateProject.html) 섹션을 참조하세요.
+ 애플리케이션 업로드 ARN [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html)을(를) 참조하세요.
+ 테스트 패키지 업로드 ARN [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html)을(를) 참조하세요.
+ 디바이스 풀 ARN [디바이스 풀 생성](how-to-create-device-pool.md) 및 [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html)을 참조하세요.

**참고**  
사용자 지정 테스트 환경에서 테스트를 실행하는 경우 테스트 사양 업로드 ARN도 필요합니다. 자세한 내용은 [5단계: 사용자 지정 테스트 사양 업로드(선택 사항)](#how-to-create-test-run-cli-step5) 및 [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html) 섹션을 참조하세요.

자세한 Device Farm API 사용은 [Device Farm 자동화](api-ref.md) 단원을 참조하세요.

## 다음 단계
<a name="how-to-create-test-run-console-next-steps"></a>

Device Farm 콘솔에서 실행이 완료되면 시계 아이콘 ![\[Device Farm scheduled a job.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-calendar.png)이 성공 ![\[The test succeeded.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-success.png) 등의 결과 아이콘으로 바뀝니다. 테스트가 완료되자마자 실행에 대한 보고서가 표시됩니다. 자세한 내용은 [AWS Device Farm에 있는 보고서Reports](reports.md) 단원을 참조하세요.

보고서를 사용하려면 [Device Farm에서 테스트 보고서 보기](how-to-use-reports.md)의 지침을 따르세요.

# AWS Device Farm의 테스트 실행 제한 시간 설정
<a name="how-to-set-default-timeout-for-test-runs"></a>

각 디바이스의 테스트 실행을 중지하기 전에 테스트 실행이 지속되는 시간을 설정할 수 있습니다. 기본 실행 시간 제한은 디바이스당 150분이지만 최소 5분까지 적은 값을 설정할 수 있습니다. AWS Device Farm 콘솔 AWS CLI또는 AWS Device Farm API를 사용하여 실행 제한 시간을 설정할 수 있습니다.

**중요**  
실행 시간 제한 옵션은 일부 버퍼와 함께 테스트 실행에 대해 최대 시간으로 설정되어야 합니다.** 예를 들어 디바이스 하나당 테스트에 20분이 소요되는 경우 디바이스당 30분의 시간 제한을 선택해야 합니다.

실행이 시간 제한을 초과하면 해당 디바이스에서 실행이 강제로 중지됩니다. 가능한 경우 부분적인 결과가 제공됩니다. 과금 청구 옵션을 사용하는 경우 그 시점까지의 실행에 대한 비용이 청구됩니다. 요금에 대한 자세한 내용은 [Device Farm 요금](https://aws.amazon.com/device-farm/pricing/)을 참조하세요.

각 디바이스에서 테스트 실행이 얼마나 걸리는지 알고 있다면 이 기능을 사용할 수 있습니다. 테스트 실행에 실행 시간 제한을 지정하면 테스트 실행이 중단되는 상황에서 진행이 멈춘 상태의 시간에 대한 요금이 디바이스에 청구되는 것을 피할 수 있습니다. 즉, 실행 시간 제한 기능을 사용하면 예상보다 실행이 오래 걸릴 경우 실행을 중지할 수 있습니다.

프로젝트 레벨 그리고 테스트 실행 레벨 두 군데에서 실행 시간 제한을 설정할 수 있습니다.

## 사전 조건
<a name="how-to-set-default-timeout-prerequisites"></a>

1. [설정](setting-up.md)의 단계를 수행하세요.

1. Device Farm에서 프로젝트를 생성하세요. [AWS Device Farm에서 프로젝트 생성](how-to-create-project.md)의 지침을 수행한 후 해당 페이지로 돌아오세요.

## 프로젝트의 실행 시간 제한 설정
<a name="how-to-set-execution-timeout-project-console"></a>

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm) 에서 Device Farm 콘솔에 로그인하세요.

1. Device Farm 탐색 패널에서 **모바일 디바이스 테스트**를 선택한 다음 **프로젝트**를 선택하세요.

1. 프로젝트가 이미 있는 리스트에서 해당 프로젝트를 선택하세요. 그렇지 않으면 **새 프로젝트**를 선택하여 프로젝트 이름을 입력한 후 **제출**을 선택하세요.

1. **프로젝트 설정**을 선택하세요.

1. **일반** 탭의 **실행 시간 제한**에 값을 입력하거나 막대 슬라이더를 사용합니다.

1. **저장**을 선택하세요.

   실행을 예약할 때 시간 제한 값을 재정의하지 않는 한 프로젝트의 모든 테스트 실행에 방금 지정한 실행 시간 제한 값이 사용됩니다.

## 테스트 실행을 위한 실행 시간 제한 설정
<a name="how-to-set-execution-timeout-test-run-console"></a>

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)에서 Device Farm 콘솔에 로그인하세요.

1. Device Farm 탐색 패널에서 **모바일 디바이스 테스트**를 선택한 다음 **프로젝트**를 선택하세요.

1. 프로젝트가 이미 있는 리스트에서 해당 프로젝트를 선택하세요. 그렇지 않으면 **새 프로젝트**를 선택하여 프로젝트 이름을 입력한 후 **제출**을 선택하세요.

1. **새 실행 생성**을 선택하세요.

1. 단계에 따라 애플리케이션을 선택하고 테스트를 구성한 후, 디바이스를 선택하여 상태를 지정하세요.

1. **검토 및 실행 시작**의 **실행 시간 제한**에 값을 입력하거나 막대 슬라이더를 사용하세요.

1. **확인 및 실행 시작**을 선택하세요.

# AWS Device Farm 실행을 위한 네트워크 연결 및 조건 시뮬레이션
<a name="how-to-simulate-network-connections-and-conditions"></a>

Device Farm에서 Android, iOS 및 웹 앱을 테스트하면서 네트워크 셰이핑을 사용하여 네트워크 연결 및 조건을 시뮬레이션할 수 있습니다. 예를 들어 손실되거나 간헐적인 인터넷 연결을 시뮬레이션할 수 있습니다.

기본 네트워크 설정을 사용하여 실행을 생성하면 각 디바이스는 인터넷 연결을 통해 방해 없이 완전한 Wi-Fi 연결을 사용할 수 있습니다. 네트워크 쉐이핑을 사용하는 경우 인바운드 및 아웃바운드 트래픽의 처리량, 지연, 지터 및 손실을 제어하는 **3G** 또는 **손실되는 WiFi**와 같은 네트워크 프로필을 지정하도록 Wi-Fi 연결을 변경할 수 있습니다.

**Topics**
+ [테스트 실행을 예약 시 네트워크 쉐이핑 설정](#network-shaping-how-to-choose-a-curated-profile-when-scheduling-a-test-run)
+ [네트워크 프로파일 생성](#network-shaping-how-to-create-a-network-profile)
+ [테스트 중 네트워크 상태 변경](#change-network-conditions-during-test)

## 테스트 실행을 예약 시 네트워크 쉐이핑 설정
<a name="network-shaping-how-to-choose-a-curated-profile-when-scheduling-a-test-run"></a>

달리기를 예약할 때 Device Farm에서 큐레이팅한 프로필 중 하나를 선택하거나 직접 프로필을 만들고 관리할 수 있습니다.

1. 모든 Device Farm 프로젝트에서 **새 실행 생성**을 선택하세요.

   프로젝트가 없는 경우 [AWS Device Farm에서 프로젝트 생성](how-to-create-project.md) 단원을 참조하세요.

1. 애플리케이션을 선택한 후 **다음**을 선택하세요.

1. 테스트를 구성한 후 **다음**을 선택하세요.

1. 디바이스를 선택하고 **다음**을 선택하세요.

1. **위치 및 네트워크 설정** 섹션에서 네트워크 프로필을 선택하거나 **네트워크 프로필 생성**을 선택하여 고유한 프로필을 생성하세요.  
![\[테스트 실행을 위한 네트워크 프로필\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-set-up-network-profile.png)

1. **다음**을 선택하세요.

1. 테스트 실행을 검토하고 시작하세요.

## 네트워크 프로파일 생성
<a name="network-shaping-how-to-create-a-network-profile"></a>

테스트 실행을 생성할 때 네트워크 프로필을 만들 수 있습니다.

1. **네트워크 프로필 생성**을 선택하세요.  
![\[새 네트워크 프로필 생성\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-create-a-new-network-profile.png)

1. 네트워크 프로필의 이름과 설정을 입력하세요.

1. **생성**을 선택하세요.

1. 테스트 실행 생성을 완료하고 실행을 시작하세요.

네트워크 프로필을 만든 후에는 **프로젝트 설정** 페이지에서 해당 프로필을 확인하고 관리할 수 있습니다.

![\[프로젝트 설정의 네트워크 프로필\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-network-profiles-in-project-settings.png)


## 테스트 중 네트워크 상태 변경
<a name="change-network-conditions-during-test"></a>

Appium 같은 프레임워크를 사용하여 디바이스 호스트에서 API를 직접 호출하여 테스트 실행 중 대역폭 감소와 같은 동적 네트워크 조건을 시뮬레이션할 수 있습니다. 자세한 내용은 네트워크 프로필 [CreateNetworkProfile](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateNetworkProfile.html)을 참조하세요.

# AWS Device Farm에서의 실행 중지
<a name="how-to-stop-test-runs"></a>

시작한 후 실행을 중단하고 싶을 수도 있습니다. 예를 들어 테스트 실행 중에 문제가 발견되면 업데이트된 테스트 스크립트를 사용하여 실행을 다시 시작하는 것이 좋습니다.

Device Farm 콘솔 AWS CLI또는 API를 사용하여 실행을 중지할 수 있습니다.

**Topics**
+ [실행 중지(콘솔)](#how-to-stop-run-console)
+ [실행 중지(AWS CLI)](#how-to-stop-test-run-cli)
+ [실행 중지(API)](#how-to-stop-test-run-api)

## 실행 중지(콘솔)
<a name="how-to-stop-run-console"></a>

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)에서 Device Farm 콘솔에 로그인하세요.

1. Device Farm 탐색 패널에서 **모바일 디바이스 테스트**를 선택한 다음 **프로젝트**를 선택하세요.

1. 테스트 실행이 진행 중인 프로젝트를 선택하세요.

1. **자동 테스트** 페이지에서 테스트 실행을 선택하세요.

   디바이스 이름 왼쪽에 보류 중 또는 실행 중 아이콘이 나타나야 합니다.  
![\[Device Farm - 테스트 실행 중지\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-stop-run.png)

1. **실행 중지**를 선택하세요.

   잠시 후 디바이스 이름 옆에 빨간색 원 안에 마이너스가 있는 아이콘이 나타납니다. 실행이 중지되면 아이콘 색상이 빨간색에서 검은색으로 바뀝니다.
**중요**  
테스트가 이미 실행된 경우 Device Farm은 테스트를 중지할 수 없습니다. 테스트가 진행 중인 경우 Device Farm은 테스트를 중지합니다. 청구되는 총 시간(분)은 **디바이스** 섹션에 청구되어 표시됩니다. 또한 Device Farm에서 설치 스위트와 분해 스위트를 실행하는 데 걸리는 총 시간(분)에 대한 요금도 청구됩니다. 자세한 내용은 [Device Farm 요금](https://aws.amazon.com/device-farm/faq/#pricing)을 참조하세요.

   다음 이미지는 테스트 실행이 성공적으로 중지된 후의 예제 **디바이스** 섹션을 보여줍니다.  
![\[Device Farm - 중지된 실행의 세부 정보 페이지\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-stop-run-view-details.png)

## 실행 중지(AWS CLI)
<a name="how-to-stop-test-run-cli"></a>

 다음 명령을 실행하여 지정된 테스트 실행을 중지할 수 있습니다. 여기서 *myARN*은 테스트 실행의 Amazon 리소스 이름(ARN)입니다.

```
$ aws devicefarm stop-run --arn myARN
```

다음과 유사한 출력 화면이 표시되어야 합니다.

```
{
    "run": {
        "status": "STOPPING",
        "name": "Name of your run",
        "created": 1458329687.951,
        "totalJobs": 7,
        "completedJobs": 5,
        "deviceMinutes": {
            "unmetered": 0.0,
            "total": 0.0,
            "metered": 0.0
        },
        "platform": "ANDROID_APP",
        "result": "PENDING",
        "billingMethod": "METERED",
        "type": "BUILTIN_EXPLORER",
        "arn": "myARN",
        "counters": {
            "skipped": 0,
            "warned": 0,
            "failed": 0,
            "stopped": 0,
            "passed": 0,
            "errored": 0,
            "total": 0
        }
    }
}
```

실행의 ARN을 가져오려면 `list-runs` 명령어를 사용합니다. 다음과 유사하게 출력됩니다.

```
{
    "runs": [
        {
            "status": "RUNNING",
            "name": "Name of your run",
            "created": 1458329687.951,
            "totalJobs": 7,
            "completedJobs": 5,
            "deviceMinutes": {
                "unmetered": 0.0,
                "total": 0.0,
                "metered": 0.0
            },
            "platform": "ANDROID_APP",
            "result": "PENDING",
            "billingMethod": "METERED",
            "type": "BUILTIN_EXPLORER",
            "arn": "Your ARN will be here",
            "counters": {
                "skipped": 0,
                "warned": 0,
                "failed": 0,
                "stopped": 0,
                "passed": 0,
                "errored": 0,
                "total": 0
            }
        }
    ]
}
```

에서 Device Farm을 사용하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요[AWS CLI 참조](cli-ref.md).

## 실행 중지(API)
<a name="how-to-stop-test-run-api"></a>
+ 테스트 실행에 [StopRun](../../latest/APIReference/API_StopRun.html) 작업을 호출하세요.

Device Farm API 사용에 대한 자세한 내용은 [Device Farm 자동화](api-ref.md) 단원을 참조하세요.

# AWS Device Farm에서 실행 목록 보기
<a name="how-to-view-runs-list"></a>

Device Farm 콘솔 AWS CLI또는 API를 사용하여 프로젝트의 실행 목록을 볼 수 있습니다.

**Topics**
+ [실행 목록 보기(콘솔)](#how-to-view-runs-list-console)
+ [실행 목록 보기(AWS CLI)](#how-to-view-runs-list-cli)
+ [실행 목록 보기(API)](#how-to-view-runs-list-api)

## 실행 목록 보기(콘솔)
<a name="how-to-view-runs-list-console"></a>

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)에서 Device Farm 콘솔에 로그인하세요.

1. Device Farm 탐색 패널에서 **모바일 디바이스 테스트**를 선택한 다음 **프로젝트**를 선택하세요.

1. 프로젝트 목록에서 보려는 목록에 해당하는 프로젝트를 선택하세요.
**작은 정보**  
검색 창을 사용하여 프로젝트 목록을 이름별로 필터링할 수 있습니다.

## 실행 목록 보기(AWS CLI)
<a name="how-to-view-runs-list-cli"></a>
+ [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/list-runs.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/list-runs.html) 명령을 실행하세요.

  단일 실행에 대한 정보를 보려면 [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/get-run.html) 명령을 실행하세요.

에서 Device Farm을 사용하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요[AWS CLI 참조](cli-ref.md).

## 실행 목록 보기(API)
<a name="how-to-view-runs-list-api"></a>
+ [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRuns.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRuns.html) API를 호출하세요.

  단일 프로젝트에 대한 정보를 보려면 [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRun.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRun.html) API를 호출하세요.

자세한 Device Farm API에 대한 내용은 [Device Farm 자동화](api-ref.md) 단원을 참조하세요.

# AWS Device Farm에서 디바이스 풀 생성
<a name="how-to-create-device-pool"></a>

Device Farm 콘솔 AWS CLI또는 API를 사용하여 디바이스 풀을 생성할 수 있습니다.

**Topics**
+ [사전 조건](#how-to-create-device-pool-prerequisites)
+ [디바이스 풀 생성(콘솔)](#how-to-create-device-pool-console)
+ [디바이스 풀(AWS CLI)을 생성하세요.](#how-to-create-device-pool-cli)
+ [디바이스 풀(API) 생성](#how-to-create-device-pool-api)

## 사전 조건
<a name="how-to-create-device-pool-prerequisites"></a>
+ Device Farm 콘솔에서 실행을 생성하세요. [Device Farm에서 테스트 실행 생성](how-to-create-test-run.md)의 지침을 따르세요. **디바이스 선택** 페이지가 표시되면 현재 섹션의 지침을 계속 따르세요.

## 디바이스 풀 생성(콘솔)
<a name="how-to-create-device-pool-console"></a>

1. **프로젝트** 페이지에서 프로젝트를 선택합니다. **프로젝트 세부 정보** 페이지에서 **프로젝트 설정**을 선택합니다. **디바이스 풀** 탭에서 **디바이스 풀 생성**을 선택합니다.

1. **이름**에는 이 디바이스 풀을 쉽게 식별할 수 있는 이름을 입력하세요.

1. **설명**에는 이 디바이스 풀을 쉽게 식별할 수 있는 설명을 입력하세요.

1. 이 디바이스 풀의 디바이스에 대해 하나 이상의 선택 기준을 사용하려면 다음을 따르세요.

   1. **동적 디바이스 풀 생성**을 선택하세요.

   1. **규칙 추가**를 선택하세요.

   1. **필드**(첫 번째 드롭다운 목록)의 경우 다음 중 하나를 선택하세요.
      + 제조업체 이름별로 디바이스를 포함하려면 **디바이스 제조업체**를 선택하세요.
      + 폼 팩터(태블릿 또는 전화)별로 디바이스를 포함하려면 **폼 팩터**를 선택합니다.
      + 부하에 따른 가용성 상태별로 디바이스를 포함하려면 **가용성**을 선택합니다.
      + 퍼블릭 또는 프라이빗 디바이스만 포함하려면 **플릿 유형**을 선택합니다.
      + 운영 체제별로 디바이스를 포함하려면 **플랫폼**을 선택합니다.
      + 일부 디바이스에는 디바이스에 대한 추가 레이블 태그 또는 설명이 있습니다. **인스턴스 레이블**을 선택하여 레이블 내용에 따라 디바이스를 찾을 수 있습니다.
      + 운영 체제 버전별로 디바이스를 포함하려면 **OS 버전**을 선택합니다.
      + 모델별로 디바이스를 포함하려면 **모델**을 선택합니다.

   1. **연산자**(두 번째 드롭다운 목록)에서 쿼리를 기반으로 디바이스를 포함할 논리적 작업(EQUALS, CONTAINS 등)을 선택합니다. 예를 들어 *가용성 EQUALS AVAILABLE*을 선택하여 현재 `Available` 상태인 디바이스를 포함할 수 있습니다.

   1. **값**(세 번째 드롭다운 목록)에 **필드** 및 **연산자** 값에 지정할 값을 입력하거나 선택하세요. 값은 **필드** 선택에 따라 제한됩니다. 예를 들어, **필드**용 **플랫폼**을 선택하면 **ANDROID** 및 **IOS**만 선택할 수 있습니다. 마찬가지로 **필드**용 **폼 팩터**를 선택하면 **전화**와 **태블릿**만 선택할 수 있습니다.

   1. 다른 규칙을 추가하려면 **규칙 추가**를 선택하세요.

      첫 번째 규칙을 만들면 디바이스 목록에서 규칙과 일치하는 각 디바이스 옆의 상자가 선택됩니다. 추가로 규칙을 만들거나 변경하면 디바이스 목록에 조합된 규칙에 일치하는 각 디바이스 옆의 상자가 선택됩니다. 선택한 상자가 있는 디바이스는 디바이스 풀에 포함됩니다. 상자가 비워진 디바이스는 제외됩니다.

   1. **최대 디바이스**에서 디바이스 풀에 사용할 디바이스 수를 입력합니다. 최대 디바이스 수를 입력하지 않으면 Device Farm은 생성한 규칙과 일치하는 플릿의 모든 디바이스를 선택합니다. 추가 요금을 방지하려면 이 숫자를 실제 병렬 실행 및 디바이스 다양성 요구 사항과 일치하는 양으로 설정합니다.

   1. 규칙을 삭제하려면 **규칙 제거**를 선택합니다.

1. 개별 디바이스를 수동으로 포함하거나 제외하려면 다음을 수행하세요.

   1. **정적 디바이스 풀 생성**을 선택하세요.

   1. 각 디바이스 옆의 상자를 선택하거나 지우세요. 규칙을 지정하지 않은 경우에만 상자를 선택하거나 선택을 취소할 수 있습니다.

1. 표시된 모든 디바이스를 포함하거나 제외하려면 목록의 열 헤더 행에 있는 상자를 선택하거나 선택 취소하세요. 프라이빗 디바이스 인스턴스만 보려면 **프라이빗 디바이스 인스턴스만 보기**를 선택합니다.
**중요**  
열 헤더 행의 상자를 사용하여 표시된 디바이스 목록을 변경할 수 있지만 표시된 디바이스만 포함되거나 제외되는 것은 아닙니다. 어떤 디바이스가 포함되거나 제외되었는지 확인하려면 열 헤더 행에 있는 모든 상자의 내용을 지운 다음 상자를 둘러보세요.

1. **생성**을 선택하세요

## 디바이스 풀(AWS CLI)을 생성하세요.
<a name="how-to-create-device-pool-cli"></a>

**작은 정보**  
최대 디바이스 수를 입력하지 않으면 Device Farm은 생성한 규칙과 일치하는 플릿의 모든 디바이스를 선택합니다. 추가 요금을 방지하려면 이 숫자를 실제 병렬 실행 및 디바이스 다양성 요구 사항과 일치하는 양으로 설정합니다.
+ [https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-device-pool.html](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/create-device-pool.html) 명령을 실행합니다.

에서 Device Farm을 사용하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요[AWS CLI 참조](cli-ref.md).

## 디바이스 풀(API) 생성
<a name="how-to-create-device-pool-api"></a>

**작은 정보**  
최대 디바이스 수를 입력하지 않으면 Device Farm은 생성한 규칙과 일치하는 플릿의 모든 디바이스를 선택합니다. 추가 요금을 방지하려면 이 숫자를 실제 병렬 실행 및 디바이스 다양성 요구 사항과 일치하는 양으로 설정합니다.
+ [https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html) API를 호출하세요.

Device Farm API 사용에 대한 자세한 내용은 [Device Farm 자동화](api-ref.md) 단원을 참조하세요.

# AWS Device Farm에서 테스트 결과 분석
<a name="analyzing-results"></a>

표준 테스트 환경에서 Device Farm 콘솔을 사용하여 테스트 실행의 각 테스트에 대한 보고서를 볼 수 있습니다. 보고서를 검색하면 통과 또는 실패한 테스트를 이해하고 다양한 디바이스 구성에서 앱의 성능 및 동작에 대한 세부 정보를 제공할 수 있습니다.

또한 Device Farm은 테스트 실행 완료 시 다운로드할 수 있는 파일, 로그, 이미지와 같은 기타 아티팩트를 수집합니다. 이 정보는 실제 디바이스에서 앱이 어떻게 작동하는지 분석하고, 문제 또는 버그를 식별하고, 문제를 진단하는 데 도움이 될 수 있습니다.

**Topics**
+ [Device Farm에서 테스트 보고서 보기](how-to-use-reports.md)
+ [Device Farm에서 아티팩트 다운로드](artifacts.md)

# Device Farm에서 테스트 보고서 보기
<a name="how-to-use-reports"></a>

Device Farm 콘솔을 사용하여 테스트 보고서를 볼 수 있습니다. 자세한 내용은 [AWS Device Farm에 있는 보고서Reports](reports.md) 단원을 참조하세요.

**Topics**
+ [사전 조건](#how-to-use-reports-prerequisites)
+ [보고서 보기](#how-to-use-reports-viewing-reports)
+ [Device Farm 테스트 결과 상태](how-to-use-reports-displaying-results.md)

## 사전 조건
<a name="how-to-use-reports-prerequisites"></a>

테스트 실행을 설정하고 완료되었는지 확인하세요.

1.  실행을 생성하려면 [Device Farm에서 테스트 실행 생성](how-to-create-test-run.md)을 참조한 다음 이 페이지로 돌아오세요.

1. 실행이 완료되었는지 확인 테스트 실행 중에 Device Farm 콘솔에는 진행 중인 실행에 대한 보류 중 아이콘 ![\[Device Farm scheduled a job.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-calendar.png)이 표시됩니다. 실행 중인 각 디바이스도 보류 중 아이콘으로 시작하다가 테스트가 시작되면 실행 중 아이콘 ![\[Device Farm progress indicator.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-progress.png)로 전환됩니다. 각 테스트가 완료되면 디바이스 이름 옆에 테스트 결과 아이콘이 표시됩니다. 모든 테스트가 완료되면 실행 옆에 있는 보류 중 아이콘이 테스트 결과 아이콘으로 바뀝니다. 자세한 내용은 [Device Farm 테스트 결과 상태](how-to-use-reports-displaying-results.md) 단원을 참조하십시오.

## 보고서 보기
<a name="how-to-use-reports-viewing-reports"></a>

Device Farm 콘솔에서 테스트 결과를 볼 수 있습니다.

**Topics**
+ [테스트 실행 요약 페이지 보기](#how-to-use-reports-console-summary)
+ [고유한 문제 보고서 보기](#how-to-use-reports-console-unique-problems)
+ [디바이스 보고서 보기](#how-to-use-reports-console-by-device)
+ [테스트 스위트 보고서 보기](#how-to-use-reports-console-by-suite)
+ [테스트 보고서 보기](#how-to-use-reports-console-by-test)
+ [보고서에서 문제, 디바이스, 스위트 및 테스트 로그 정보 보기](#how-to-use-reports-console-log)

### 테스트 실행 요약 페이지 보기
<a name="how-to-use-reports-console-summary"></a>

1. [https://console.aws.amazon.com/devicefarm](https://console.aws.amazon.com/devicefarm)에서 Device Farm 콘솔에 로그인하세요.

1. 탐색 창에서 **모바일 디바이스 테스트**를 선택하고 **프로젝트**를 선택하세요.

1. 프로젝트 목록에서 실행할 프로젝트를 선택하세요.
**작은 정보**  
검색 창을 사용하여 리소스 이름별로 목록을 필터링하세요.

1. 완료된 실행을 선택하면 요약 보고서 페이지를 볼 수 있습니다.

1. 테스트 실행 요약 페이지에는 테스트 결과 개요가 표시됩니다.
   + **고유한 문제** 섹션에는 고유한 경고 및 실패가 나열되어 있습니다. 고유한 문제를 보려면 [고유한 문제 보고서 보기](#how-to-use-reports-console-unique-problems)의 지침을 따르세요.
   + **디바이스** 섹션에는 각 디바이스에 대한 총 테스트 수가 결과별로 표시됩니다.

     ![\[Device Farm device summary results.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-device-summary-results-bar.png)

     이 예시는 여러 디바이스를 포함합니다. A첫 번째 표 항목에서 Android 버전 10을 실행하는 Google Pixel 4 XL 디바이스는 실행에 02:36분 소요된 3개 테스트를 성공적으로 완료했다고 보고합니다.

     디바이스별로 결과를 보려면 [디바이스 보고서 보기](#how-to-use-reports-console-by-device) 단원의 안내를 따르세요.
   + **스크린샷** 섹션에는 Device Farm이 실행 중에 캡처한 스크린샷 목록이 디바이스별로 그룹화되어 표시됩니다.
   + **파싱 결과** 섹션에서 파싱 결과를 다운로드할 수 있습니다.

### 고유한 문제 보고서 보기
<a name="how-to-use-reports-console-unique-problems"></a>

1. **고유한 문제**에서 보려는 문제를 선택하세요.

1. 디바이스를 선택하세요. 보고서에는 문제에 대한 정보가 표시됩니다.

   **비디오** 섹션에는 테스트의 다운로드 가능한 비디오 녹화가 표시됩니다.

   **결과** 섹션에는 테스트 결과가 표시됩니다. 상태는 결과 아이콘으로 표시됩니다. 자세한 내용은 [개별 테스트의 상태](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-individual) 단원을 참조하세요.

   **로그** 섹션에는 Device Farm이 테스트 중에 기록한 모든 정보가 표시됩니다. 이 정보를 보려면 [보고서에서 문제, 디바이스, 스위트 및 테스트 로그 정보 보기](#how-to-use-reports-console-log)의 지침을 따르세요.

   **파일** 탭에는 다운로드할 수 있는 모든 테스트 관련 파일(예: 로그 파일)의 목록이 표시됩니다. 파일을 다운로드하려면 목록에서 파일 링크를 선택하세요.

   **스크린샷** 탭에는 Device Farm이 테스트 중에 캡처한 스크린샷 목록이 표시됩니다.

### 디바이스 보고서 보기
<a name="how-to-use-reports-console-by-device"></a>
+ **디바이스** 섹션에서 디바이스를 선택하세요.

  **비디오** 섹션에는 테스트의 다운로드 가능한 비디오 녹화가 표시됩니다.

  **스위트** 섹션에는 디바이스의 스위트 정보가 담긴 표가 표시됩니다.

  이 표의 **테스트 결과** 열은 디바이스에서 실행된 각 테스트 스위트의 테스트 수가 결과별로 요약되어 있습니다. 이 데이터에는 그래픽 구성 요소 또한 포함합니다. 자세한 내용은 [여러 테스트의 상태](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-summary) 단원을 참조하세요.

  스위트별 전체 결과를 보려면 [테스트 스위트 보고서 보기](#how-to-use-reports-console-by-suite) 단원의 지침을 따르세요.

  **로그** 섹션에는 Device Farm이 실행 중에 디바이스에 대해 기록한 모든 정보가 표시됩니다. 이 정보를 보려면 [보고서에서 문제, 디바이스, 스위트 및 테스트 로그 정보 보기](#how-to-use-reports-console-log)의 지침을 따르세요.

  **파일** 섹션에는 디바이스의 스위트 목록과 다운로드할 수 있는 관련 파일(예: 로그 파일)이 표시됩니다. 파일을 다운로드하려면 목록에서 파일 링크를 선택하세요.

  **스크린샷** 섹션에는 Device Farm이 디바이스 실행 중에 캡처한 스크린샷 목록이 세트별로 그룹화되어 표시됩니다.

### 테스트 스위트 보고서 보기
<a name="how-to-use-reports-console-by-suite"></a>

1. **디바이스** 섹션에서 디바이스를 추가하세요.

1. **스위트 **섹션의 표에 있는 스위트를 선택하세요.

   **비디오** 섹션에는 테스트의 다운로드 가능한 비디오 녹화가 표시됩니다.

   **테스트** 섹션에는 스위트의 테스트 정보가 담긴 표가 표시됩니다.

   표의 **테스트 결과** 열에는 결과가 표시됩니다. 이 데이터에는 그래픽 구성 요소도 또한 포함합니다. 자세한 내용은 [여러 테스트의 상태](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-summary) 단원을 참조하세요.

   테스트별 전체 결과를 보려면 [테스트 보고서 보기](#how-to-use-reports-console-by-test)의 지침을 따르세요.

   **로그** 섹션에는 스위트 실행 중에 Device Farm이 기록한 모든 정보가 표시됩니다. 이 정보를 보려면 [보고서에서 문제, 디바이스, 스위트 및 테스트 로그 정보 보기](#how-to-use-reports-console-log)의 지침을 따르세요.

   **파일** 섹션에는 스위트의 테스트 목록과 다운로드할 수 있는 관련 파일(예: 로그 파일)이 표시됩니다. 파일을 다운로드하려면 목록에서 파일 링크를 선택하세요.

   **스크린샷** 섹션에는 스위트 실행 중에 Device Farm이 캡처한 스크린샷 목록이 테스트별로 그룹화되어 표시됩니다.

### 테스트 보고서 보기
<a name="how-to-use-reports-console-by-test"></a>

1. **디바이스** 섹션에서 디바이스를 선택하세요.

1. **스위트 **섹션에서 스위트를 선택하세요.

1. **테스트** 섹션에서 테스트를 선택하세요.

1. **비디오** 섹션에는 테스트의 다운로드 가능한 비디오 녹화가 표시됩니다.

   **결과** 섹션에는 테스트 결과가 표시됩니다. 상태는 결과 아이콘으로 표시됩니다. 자세한 내용은 [개별 테스트의 상태](how-to-use-reports-displaying-results.md#how-to-use-reports-displaying-results-individual) 단원을 참조하세요.

   **로그** 섹션에는 Device Farm이 테스트 중에 기록한 모든 정보가 표시됩니다. 이 정보를 보려면 [보고서에서 문제, 디바이스, 스위트 및 테스트 로그 정보 보기](#how-to-use-reports-console-log)의 지침을 따르세요.

   **파일** 탭에는 다운로드할 수 있는 모든 테스트 관련 파일(예: 로그 파일)의 목록이 표시됩니다. 파일을 다운로드하려면 목록에서 파일 링크를 선택하세요.

   **스크린샷** 탭에는 Device Farm이 테스트 중에 캡처한 스크린샷 목록이 표시됩니다.

### 보고서에서 문제, 디바이스, 스위트 및 테스트 로그 정보 보기
<a name="how-to-use-reports-console-log"></a>

**로그** 섹션에는 다음 정보가 표시됩니다.
+ **소스**는 로그 항목의 출처를 나타냅니다. 가능한 값은 다음과 같습니다.
  + **도구**는 Device Farm에서 생성한 로그 항목을 나타냅니다. 이러한 로그 항목은 일반적으로 시작 및 중지 이벤트 중에 생성됩니다.
  + **디바이스**는 디바이스에서 생성한 로그 항목을 나타냅니다. Android의 경우 이러한 로그 항목은 logcat과 호환됩니다. iOS의 경우 이러한 로그 항목은 syslog와 호환됩니다.
  + **테스트**는 테스트 또는 테스트 프레임워크에서 만든 로그 항목을 나타냅니다.
+ **시간**은 첫 번째 로그 항목과 이 로그 항목 사이의 경과 시간을 나타냅니다. 시간은 *MM:SS.SSS* 형식으로 표시되며, 여기서 *M*은 분을 나타내고 *S*는 초를 나타냅니다.
+ **PID**는 로그 항목을 생성한 프로세스 식별자(PID)를 나타냅니다. 디바이스에서 앱으로 만든 모든 로그 항목은 동일한 PID를 가집니다.
+ **레벨**은 로그 항목의 로깅 레벨을 나타냅니다. 예를 들어, `Logger.debug("This is a message!")`는 `Debug`의 **레벨**를 로깅합니다. 사용 가능한 값은 다음과 같습니다.
  + **알림**
  + **위험**
  + **디버그**
  + **긴급 상황**
  + **오류**
  + **오류 발생**
  + **실패**
  + **정보**
  + **내부**
  + **알림**
  + **통과**
  + **건너뜀**
  + **중지됨**
  + **상세 표시**
  + **경고**
  + **경고**
+ **태그**는 로그 항목의 임의 메타데이터를 나타냅니다. 예를 들어 Android logcat은 이를 사용하여 시스템의 어느 부분에서 로그 항목을 생성했는지 설명할 수 있습니다(예: `ActivityManager`).
+ **메시지**는 로그 항목에 대한 메시지 또는 데이터를 나타냅니다. 예를 들어, `Logger.debug("Hello, World!")`은 `"Hello, World!"`의 **메시지**를 로깅합니다.

정보의 일부만 표시하려면 다음을 따르세요.
+ 특정 열의 값과 일치하는 모든 로그 항목을 표시하려면 검색 창에 값을 입력합니다. 예를 들어, **소스** 값이 `Harness`인 모든 로그 항목을 표시하려면 검색 창에 **Harness**를 입력합니다.
+ 열 헤더 상자에서 모든 문자를 제거하려면 해당 열 헤더 상자에서 **X**를 선택하세요. 열 헤더 상자에서 모든 문자를 제거하는 것은 해당 열 헤더 상자에 **\$1**을 입력하는 것과 같습니다.

실행한 모든 스위트 및 테스트를 포함하는 디바이스에 대한 모든 로그 정보를 다운로드하려면 **로그 다운로드**를 선택하세요.

# Device Farm 테스트 결과 상태
<a name="how-to-use-reports-displaying-results"></a>

Device Farm 콘솔에는 완료된 테스트 실행의 상태를 빠르게 평가하는 데 도움이 되는 아이콘이 표시됩니다. Device Farm의 테스트에 관한 자세한 내용은 [AWS Device Farm에 있는 보고서Reports](reports.md) 섹션을 참조하세요.

**Topics**
+ [개별 테스트의 상태](#how-to-use-reports-displaying-results-individual)
+ [여러 테스트의 상태](#how-to-use-reports-displaying-results-summary)

## 개별 테스트의 상태
<a name="how-to-use-reports-displaying-results-individual"></a>

개별 테스트를 설명하는 보고서의 경우 Device Farm이 테스트 결과 상태를 나타내는 다음 아이콘을 표시합니다.


| 설명 | 아이콘 | 
| --- | --- | 
| 테스트가 성공했습니다. | ![\[The test succeeded.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-success.png) | 
| 테스트에 실패했습니다. | ![\[The test failed.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-failure.png) | 
| Device Farm은 테스트를 건너뛰었습니다. | ![\[The test was skipped.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-skipped.png) | 
| 테스트가 중단되었습니다. | ![\[The test was stopped.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-stopped.png) | 
| Device Farm에서 경고를 반환했습니다. | ![\[Device Farm returned a warning.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-warning.png) | 
| Device Farm에서 오류가 반환되었습니다. | ![\[Device Farm returned an error.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-run-error.png) | 

## 여러 테스트의 상태
<a name="how-to-use-reports-displaying-results-summary"></a>

완료된 실행을 선택하면 Device Farm은 다양한 상태의 테스트 비율을 보여주는 요약 그래프를 표시합니다.

![\[Device Farm test results summary graph.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/df-summary-results-graph.png)

예를 들어 이 테스트 실행 결과 그래프는 중지된 테스트 4개, 실패한 테스트 1개, 성공한 테스트 10개를 보여줍니다.

그래프는 항상 색으로 구분되고 레이블이 지정됩니다.

# Device Farm에서 아티팩트 다운로드
<a name="artifacts"></a>

Device Farm은 실행 중인 각 테스트에 대한 보고서, 로그 파일 및 이미지와 같은 아티팩트를 수집합니다.

테스트 실행 중에 생성된 아티팩트를 다운로드할 수 있습니다.

**파일**  
Device Farm 보고서를 포함하여 테스트 실행 중에 생성된 파일입니다. 자세한 내용은 [Device Farm에서 테스트 보고서 보기](how-to-use-reports.md) 단원을 참조하세요.

**로그**  
테스트 실행의 각 테스트 출력

**스크린샷**  
테스트 실행 시 각 테스트가 기록된 화면 이미지

![\[Workflow diagram showing Project, Run, Job (device), Test suite, and Test stages in AWS 클라우드.\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/hierarchy.png)


## 아티팩트 다운로드(콘솔)
<a name="artifacts-console"></a>

1. 테스트 실행 보고서 페이지의 **디바이스**에서 모바일 디바이스를 선택하세요.

1. 파일을 다운로드하려면 **파일**에서 선택하세요.

1. 테스트 실행에서 로그를 다운로드하려면 **로그**에서 **로그 다운로드**를 선택하세요.

1. 스크린샷을 다운로드하려면 **스크린샷**에서 스크린샷을 선택하세요.

사용자 지정 테스트 환경에 대한 자세한 내용은 [사용자 지정 테스트 환경에서 아티팩트 다운로드](using-artifacts-custom.md) 단원을 참조하세요.

## 아티팩트 다운로드(AWS CLI)
<a name="artifacts-cli"></a>

를 사용하여 테스트 실행 아티팩트를 나열 AWS CLI 할 수 있습니다.

**Topics**
+ [1단계: Amazon 리소스 이름(ARN) 가져오기](#artifacts-cli-step1)
+ [2단계: 아티팩트 목록 작성](#artifacts-cli-step2)
+ [3단계: 아티팩트 다운로드](#artifacts-cli-step3)

### 1단계: Amazon 리소스 이름(ARN) 가져오기
<a name="artifacts-cli-step1"></a>

실행, 작업, 테스트 스위트 또는 테스트별로 아티팩트를 나열할 수 있습니다. 해당하는 ARN이 필요합니다. 이 표에는 각 AWS CLI 목록 명령의 입력 ARN이 나와 있습니다.


| AWS CLI List 명령 | 필수 ARN | 
| --- | --- | 
| list-projects | 이 명령은 모든 프로젝트를 반환하며 ARN이 필요하지 않습니다. | 
| list-runs | project | 
| list-jobs | run | 
| list-suites | job | 
| list-tests | suite | 

예를 들어 테스트 ARN을 찾으려면 테스트 스위트 ARN을 입력 매개변수로 사용하여 **list-tests**을 실행하세요.

예제

```
aws devicefarm list-tests –-arn arn:MyTestSuiteARN
```

응답에는 테스트 스위트의 각 테스트에 대한 테스트 ARN이 포함됩니다.

```
{
    "tests": [
        {
            "status": "COMPLETED",
            "name": "Tests.FixturesTest.testExample",
            "created": 1537563725.116,
            "deviceMinutes": {
                "unmetered": 0.0,
                "total": 1.89,
                "metered": 1.89
            },
            "result": "PASSED",
            "message": "testExample passed",
            "arn": "arn:aws:devicefarm:us-west-2:123456789101:test:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
            "counters": {
                "skipped": 0,
                "warned": 0,
                "failed": 0,
                "stopped": 0,
                "passed": 1,
                "errored": 0,
                "total": 1
            }
        }
    ]
}
```

### 2단계: 아티팩트 목록 작성
<a name="artifacts-cli-step2"></a>

The AWS CLI [list-artifacts](https://docs.aws.amazon.com/cli/latest/reference/devicefarm/list-artifacts.html) 명령은 파일, 스크린샷 및 로그와 같은 아티팩트 목록을 반환합니다. 각 아티팩트에는 파일을 다운로드할 수 있는 URL이 있습니다.
+ 실행, 작업, 테스트 스위트 또는 테스트 ARN을 지정하여 **list-artifacts**를 호출합니다. 파일, 로그 또는 스크린샷 유형을 지정합니다.

  이 예제는 개별 테스트에 사용할 수 있는 각 아티팩트의 다운로드 URL을 반환합니다.

  ```
  aws devicefarm list-artifacts --arn arn:MyTestARN --type "FILE"
  ```

  응답에는 각 아티팩트의 다운로드 URL이 포함됩니다.

  ```
  {
      "artifacts": [
          {
              "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL",
              "extension": "txt",
              "type": "APPIUM_JAVA_OUTPUT",
              "name": "Appium Java Output",
              "arn": "arn:aws:devicefarm:us-west-2:123456789101:artifact:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE",
          }
      ]
  }
  ```

### 3단계: 아티팩트 다운로드
<a name="artifacts-cli-step3"></a>
+ 이전 단계의 URL을 사용하여 아티팩트를 다운로드합니다. 이 예제에서는 Android Appium Java 출력 파일을 다운로드하는 데 **curl**을 사용합니다.

  ```
  curl "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/ExampleURL" > MyArtifactName.txt
  ```

## 아티팩트 다운로드(API)
<a name="artifacts-api"></a>

Device Farm API [ListArtifacts](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListArtifacts.html) 메서드는 파일, 스크린샷 및 로그와 같은 아티팩트 목록을 반환합니다. 각 아티팩트에는 파일을 다운로드할 수 있는 URL이 있습니다.

# 사용자 지정 테스트 환경에서 아티팩트 다운로드
<a name="using-artifacts-custom"></a>

사용자 지정 테스트 환경에서 Device Farm은 사용자 지정 보고서, 로그 파일 및 이미지와 같은 아티팩트를 수집합니다. 이러한 테스트 아티팩트는 테스트 실행에서 각 디바이스에 사용할 수 있습니다.

테스트 실행 중에 생성된 다음 아티팩트를 다운로드할 수 있습니다.

**테스트 사양 출력**  
테스트 사양 YAML 파일에서 명령을 실행한 결과입니다.

**고객 아티팩트**  
테스트 실행의 아티팩트가 포함된 압축 파일입니다. 테스트 사양 YAML 파일의 **artifacts:** 섹션에서 구성됩니다.

**테스트 사양 쉘 스크립트**  
YAML 파일에서 만든 중급 쉘 스크립트 파일입니다. 쉘 스크립트 파일은 테스트 실행에 사용되므로 YAML 파일을 디버깅하는 데 사용할 수 있습니다.

**테스트 사양 파일**  
테스트 실행에 사용된 YAML 파일입니다.

자세한 내용은 [Device Farm에서 아티팩트 다운로드](artifacts.md) 단원을 참조하십시오.

![\[사용자 지정 테스트 환경에서의 Device Farm 작업 계층\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/hierarchy.png)
