

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

# AWS Device Farm의 XCTest UI 테스트 문제 해결
<a name="troubleshooting-xctest-ui"></a>

다음 항목에서는 XCTest UI 테스트를 업로드하는 동안 발생하는 오류 메시지를 나열하고 각 오류를 해결하기 위한 해결 방법을 권장합니다.

## 업로드 오류
<a name="troubleshooting-xctest-ui-upload"></a>

XCTest UI 테스트를 업로드할 때 다음과 같은 오류가 발생할 수 있습니다.

### XCTEST\_UI\_TEST\_PACKAGE\_UNZIP\_FAILED
<a name="XCTEST_UI_TEST_PACKAGE_UNZIP_FAILED"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not open your test IPA file. Please verify that the file is valid and try again.`

응용 프로그램 패키지의 압축을 오류 없이 풀 수 있는지 확인하십시오. 다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   올바른 iOS 애플리케이션 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- Info.plist
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_PAYLOAD\_DIR\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_PAYLOAD_DIR_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the Payload directory inside your test package. Please unzip your test package, verify that the Payload directory is inside the package, and try again. `

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효하면 작업 디렉토리 내에서 {{Payload}} 디렉토리를 찾을 수 있습니다.

   ```
   .
   `-- {{Payload}} (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- Info.plist
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_APP\_DIR\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_APP_DIR_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the .app directory inside the Payload directory. Please unzip your test package and then open the Payload directory, verify that the .app directory is inside the directory, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효하면 {{Payload}} 디렉터리 내의 예제에서 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리를 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- {{swift-sampleUITests-Runner.app}} (directory)
                         |-- Info.plist
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_PLUGINS\_DIR\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_PLUGINS_DIR_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the Plugins directory inside the .app directory. Please unzip your test package and then open the .app directory, verify that the Plugins directory is inside the directory, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우, {{.app}} 디렉토리 내에서 {{Plugins}} 디렉토리를 찾을 수 있습니다. 이 예시에서는 이 디렉토리를 {{swift-sampleUITests-Runner.app}}이라고 합니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- Info.plist
                         |-- {{Plugins}} (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_XCTEST\_DIR\_MISSING\_IN\_PLUGINS\_DIR
<a name="XCTEST_UI_TEST_PACKAGE_XCTEST_DIR_MISSING_IN_PLUGINS_DIR"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the .xctest directory inside the plugins directory. Please unzip your test package and then open the plugins directory, verify that the .xctest directory is inside the directory, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효하면 {{Plugins}} 디렉터리 안에서 {{.xctest}} 디렉터리를 찾을 수 있습니다. 이 예제에서는 이 디렉토리를 {{swift-sampleUITests.xctest}}라고 합니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- Info.plist
                         |-- Plugins (directory)
                         |       `{{swift-sampleUITests.xctest}} (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_PLIST\_FILE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_PLIST_FILE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the Info.plist file inside the .app directory. Please unzip your test package and then open the .app directory, verify that the Info.plist file is inside the directory, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우, {{.app}} 디렉토리에서 {{Info.plist}} 파일을 찾을 수 있습니다. 아래 예시에서는 이 디렉토리를 {{swift-sampleUITests-Runner.app}}이라고 합니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_PLIST\_FILE\_MISSING\_IN\_XCTEST\_DIR
<a name="XCTEST_UI_TEST_PACKAGE_PLIST_FILE_MISSING_IN_XCTEST_DIR"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the Info.plist file inside the .xctest directory. Please unzip your test package and then open the .xctest directory, verify that the Info.plist file is inside the directory, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우, {{.xctest}} 디렉토리에서 {{Info.plist}} 파일을 찾을 수 있습니다. 아래 예시에서는 이 디렉토리를 {{swift-sampleUITests.xctest}}라고 합니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- Info.plist
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- {{Info.plist}}
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_CPU\_ARCHITECTURE \_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_CPU_ARCHITECTURE_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not the CPU architecture value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "UIRequiredDeviceCapabilities" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. CPU 아키텍처 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') 
   print info_plist['UIRequiredDeviceCapabilities']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   ['armv7']
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_PLATFORM\_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_PLATFORM_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the platform value in the Info.plist. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleSupportedPlatforms" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 플랫폼 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist')
   print info_plist['CFBundleSupportedPlatforms']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   ['iPhoneOS']
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_WRONG\_PLATFORM\_DEVICE\_VALUE
<a name="XCTEST_UI_TEST_PACKAGE_WRONG_PLATFORM_DEVICE_VALUE"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We found the platform device value was wrong in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the value of the key "CFBundleSupportedPlatforms" does not contain the keyword "simulator", and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 플랫폼 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist')
   print info_plist['CFBundleSupportedPlatforms']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   ['iPhoneOS']
   ```

   XCTest UI 패키지가 유효한 경우 값에 `simulator` 키워드가 포함되지 않아야 합니다.

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_FORM\_FACTOR\_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_FORM_FACTOR_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not the form factor value in the Info.plist. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "UIDeviceFamily" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 폼 팩터 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist')
   print info_plist['UIDeviceFamily']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   [1, 2]
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_PACKAGE\_PACKAGE\_NAME\_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_PACKAGE_NAME_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the package name value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleIdentifier" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 패키지 이름 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist')
   print info_plist['CFBundleIdentifier']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   com.apple.test.swift-sampleUITests-Runner
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_EXECUTABLE\_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_EXECUTABLE_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the executable value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleExecutable" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 실행 가능한 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist')
   print info_plist['CFBundleExecutable']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   XCTRunner
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_TEST\_PACKAGE\_TEST\_PACKAGE\_NAME\_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the package name value in the Info.plist file inside the .xctest directory. Please unzip your test package and then open the Info.plist file inside the .xctest directory, verify that the key "CFBundleIdentifier" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 패키지 이름 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Plugins/swift-sampleUITests.xctest/Info.plist')
   print info_plist['CFBundleIdentifier']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   com.amazon.swift-sampleUITests
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하세요.

### XCTEST\_UI\_TEST\_PACKAGE\_TEST\_EXECUTABLE\_VALUE\_MISSING
<a name="XCTEST_UI_TEST_PACKAGE_TEST_EXECUTABLE_VALUE_MISSING"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We could not find the executable value in the Info.plist file inside the .xctest directory. Please unzip your test package and then open the Info.plist file inside the .xctest directory, verify that the key "CFBundleExecutable" is specified, and try again.`

다음 예제에서 패키지 이름은 **swift-sample-UI.ipa**입니다.

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

   ```
   $ unzip swift-sample-UI.ipa
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   다음 예제의 {{swift-sampleUITests-Runner.app}}과 같은 {{.app}} 디렉터리에서 {{Info.plist}} 파일을 찾을 수 있습니다.

   ```
   .
   `-- Payload (directory)
           `-- swift-sampleUITests-Runner.app (directory)
                         |-- {{Info.plist}}
                         |-- Plugins (directory)
                         |       `swift-sampleUITests.xctest (directory)
                         |                       |-- Info.plist
                         |                       `-- (any other files)
                         `-- (any other files)
   ```

1. 실행 가능한 값을 찾으려면 Xcode 또는 Python을 사용하여 Info.plist를 열 수 있습니다.

   Python의 경우 다음 명령을 실행하여 biplist 모듈을 설치할 수 있습니다.

   ```
   $ pip install biplist
   ```

1. Python을 열고 다음 명령을 실행하세요.

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Plugins/swift-sampleUITests.xctest/Info.plist')
   print info_plist['CFBundleExecutable']
   ```

   유효한 XCTest UI 패키지는 다음과 같은 출력이 생성됩니다.

   ```
   swift-sampleUITests
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하십시오.

### XCTEST\_UI\_TEST\_PACKAGE\_MULTIPLE\_APP\_DIRS
<a name="XCTEST_UI_TEST_PACKAGE_MULTIPLE_APP_DIRS"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We found multiple .app directories inside your test package. Please unzip your test package, verify that only a single .app directory is present inside the package, then try again.`

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행합니다.

   ```
   $ unzip swift-sample-UI.zip
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우 .zip 테스트 패키지 내에서 예제의 단일 `.app` 디렉터리(예: `swift-sampleUITests-Runner.app`)만 찾아야 합니다.

   ```
   .
   `--swift-sample-UI.zip--(directory)
       `-- {{swift-sampleUITests-Runner.app}} (directory)
               |-- Info.plist
               |-- Plugins (directory)
               |       `swift-sampleUITests.xctest (directory)
              |            |-- Info.plist
              |            `-- (any other files)
               `-- (any other files)
       `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하십시오.

### XCTEST\_UI\_TEST\_PACKAGE\_MULTIPLE\_IPA\_DIRS
<a name="XCTEST_UI_TEST_PACKAGE_MULTIPLE_IPA_DIRS"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We found multiple .ipa directories inside your test package. Please unzip your test package, verify that only a single .ipa directory is present inside the package, then try again.`

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행합니다.

   ```
   $ unzip swift-sample-UI.zip
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우 .zip 테스트 패키지 내에서 예제의 단일 `.ipa` 디렉터리(예: `sampleUITests.ipa`)만 찾아야 합니다.

   ```
   .
   `--swift-sample-UI.zip--(directory)
       `-- {{sampleUITests.ipa}} (directory)
               `-- Payload (directory)
                   `-- swift-sampleUITests-Runner.app (directory)
       `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하십시오.

### XCTEST\_UI\_TEST\_PACKAGE\_BOTH\_APP\_AND\_IPA\_DIR\_PRESENT
<a name="XCTEST_UI_TEST_PACKAGE_BOTH_APP_AND_IPA_DIR_PRESENT"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We found both .app and .ipa files inside your test package. Please unzip your test package, verify that only a single .app or .ipa file is present inside the package, then try again.`

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행합니다.

   ```
   $ unzip swift-sample-UI.zip
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우 .zip 테스트 패키지 내에서 예제의 `.ipa` 디렉터리(예: `swift-sampleUITests-Runner.app`) 또는 `.app` 디렉터리(예: `sampleUITests.ipa`)를 찾아야 합니다. [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md)의 설명서에서 유효한 XCTEST\_UI 테스트 패키지의 예제를 참조할 수 있습니다.

   ```
   .
   `--swift-sample-UI.zip--(directory)
       `-- {{sampleUITests.ipa}} (directory)
               `-- Payload (directory)
                   `-- swift-sampleUITests-Runner.app (directory)
      `-- (any other files)
   ```

    또는 

   ```
   .
   `--swift-sample-UI.zip--(directory)
       `-- {{swift-sampleUITests-Runner.app}} (directory)
               |-- Info.plist
               |-- Plugins (directory)
               `-- (any other files)
      `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하십시오.

### XCTEST\_UI\_TEST\_PACKAGE\_PAYLOAD\_DIR\_PRESENT\_IN\_ZIP
<a name="XCTEST_UI_TEST_PACKAGE_PAYLOAD_DIR_PRESENT_IN_ZIP"></a>

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

`We found a Payload directory inside your .zip test package. Please unzip your test package, ensure that a Payload directory is not present in the package, then try again.`

1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행합니다.

   ```
   $ unzip swift-sample-UI.zip
   ```

1. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

   ```
   $ tree .
   ```

   XCTest UI 패키지가 유효한 경우 테스트 패키지 내에서 페이로드 디렉터리를 찾을 수 없습니다.

   ```
   .
   `--swift-sample-UI.zip--(directory)
       `-- swift-sampleUITests-Runner.app (directory)
               |-- Info.plist
               |-- Plugins (directory)
               `-- (any other files)
      `-- {{Payload (directory) [This directory should not be present]}}
               |-- (any other files)
      `-- (any other files)
   ```

   자세한 내용은 [iOS용 XCTest UI를 Device Farm과 통합](test-types-ios-xctest-ui.md) 단원을 참조하십시오.

## 인사이트 테스트
<a name="troubleshooting-xctest-ui-insights"></a>

인사이트를 테스트하도록 옵트인하면 Device Farm은 실행 및 그 아래의 각 작업에 대한 요약 보고서를 생성합니다. 서비스가 보고서를 생성할 수 없는 경우 인사이트 보고서 상태는 `SKIPPED` 또는 이고 보고서 메시지`ERRORED`에 이유가 설명되어 있습니다. XCTest UI 테스트에 대한 인사이트를 생성할 때 다음 메시지가 발생할 수 있습니다.

### 작업이 완료될 때까지 실행되지 않았습니다.
<a name="ti-xctest-ui-job-not-complete"></a>

`Unable to generate test insights because the job was {{status}}.`

작업이 성공하지 못한 상태({{상태}}가 `STOPPED`, `ERRORED`또는 `SKIPPED`)로 종료되었으므로 요약할 결과가 없었습니다. 실패한 상태로 끝나는 실행은 여전히 인사이트를 수신합니다.

이 문제를 해결하려면 작업이 완료될 때까지 실행되지 않은 이유를 조사합니다. 대부분의 경우 작업 자체의 `message` 필드는 작업이 완료되지 않은 이유를 설명할 수 있습니다.

### 결과에 테스트 사례가 포함되어 있지 않음
<a name="ti-xctest-ui-no-test-cases"></a>

`Test insights could not be generated. The xcresult_summary.json file was parsed successfully but contained no test cases.`

결과 아티팩트가 성공적으로 구문 분석되었지만 테스트 사례가 0개 포함되어 있습니다.

이 문제를 해결하려면 테스트 제품군에 하나 이상의 테스트 사례가 포함되어 있고 결과가 아래에 올바르게 저장되어 있는지 확인합니다`$DEVICEFARM_LOG_DIR`.

### 테스트 출력이 지원되는 최대 크기를 초과합니다.
<a name="ti-xctest-ui-output-too-large"></a>

`Unable to generate test insights: test output "xcresult bundle" exceeds the maximum supported size of 1GB.`

xcresult 번들이 1GB보다 큽니다.

이 문제를 해결하려면 로그 또는 첨부 파일을 잘라내어 xcresult 번들 크기를 1GB 미만으로 줄입니다.

### xcresult 번들을 찾을 수 없음
<a name="ti-xctest-ui-xcresult-not-found"></a>

`Unable to generate test insights. The xctestresult bundle file (.xcresult) was not found in the output artifacts.`

Device Farm이이 작업에 대한 `.xcresult` 번들을 찾을 수 없으므로 요약할 결과가 없습니다.

Device Farm은 아래의 어디에서나 번들을 찾습니다`$DEVICEFARM_DERIVED_DATA_PATH`. 기본 XCTest UI 테스트 사양은 자동으로 생성되므로이 메시지는 일반적으로 사용자 지정 테스트 사양이 해당 위치에 결과를 쓰지 않았음을 나타냅니다.

번들이 생성되었는지 확인하려면 작업에 대한 고객 아티팩트를 다운로드하고 파생 데이터 폴더에서 `.xcresult` 디렉터리를 찾습니다.

### xcresult 테스트 결과를 처리할 수 없음
<a name="ti-xctest-ui-xcresult-error"></a>

`Test insights could not be generated because of an error while processing the .xcresult test results.`

Device Farm에서 `.xcresult` 번들을 찾았지만 테스트 결과를 읽을 수 없습니다.

이 문제를 해결하려면 테스트 실행에서 유효한 `.xcresult` 번들을 생성해야 합니다. 테스트 사양이 실행이 완료되기 전에 번들을 수정, 자르거나 보관하지 않고 제한 시간에 의해 중단되지 않고 **xcodebuild** 명령이 완료되는지 확인합니다.