

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

# iOS용 XCTest UI를 Device Farm과 통합
<a name="test-types-ios-xctest-ui"></a>

Device Farm은 XCTest UI 테스트 프레임워크를 지원합니다. 특히, Device Farm은 Objective-C와 [Swift](https://developer.apple.com/swift/)로 작성된 XCTest UI 테스트를 지원합니다.

 XCTest UI 프레임워크는 XCTest를 기반으로 구축된 iOS 개발에서 UI 테스트를 지원합니다. 자세한 내용은 iOS 개발자 라이브러리의 [사용자 인터페이스 테스트](https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/09-ui_testing.html#//apple_ref/doc/uid/TP40014132-CH13-SW1)를 참조하세요.

Device Farm의 테스트에 대한 일반적인 정보는 [AWS Device Farm의 테스트 프레임워크 및 내장 테스트](test-types.md) 섹션을 참조하세요.

다음 지침에 따라 Device Farm을 iOS용 XCTest UI 테스트 프레임워크와 통합합니다.

**Topics**
+ [iOS XCTest UI 테스트 준비](#test-types-ios-xctest-ui-prepare)
+ [옵션 1: XCTest UI .ipa 패키지 생성](#how-to-use-create-XCTestUI-ipa-package)
+ [옵션 2: XCTest UI .zip 패키지 생성](#how-to-use-create-XCTestUI-zip-package)
+ [iOS XCTest UI 테스트 업로드](#test-types-ios-xctest-ui-upload)

## iOS XCTest UI 테스트 준비
<a name="test-types-ios-xctest-ui-prepare"></a>

`.ipa` XCTEST\$1UI 테스트 패키지에 대한 파일 또는 `.zip` 파일을 업로드할 수 있습니다.

`.ipa` 파일은 iOS Runner 앱을 번들 형식으로 포함하는 애플리케이션 아카이브입니다. *추가 파일은 `.ipa` 파일에 포함될 수 없습니다.*

`.zip` 파일을 업로드하는 경우 iOS Runner 앱 또는 `.ipa` 파일을 직접 포함할 수 있습니다. 테스트 중에 사용하려는 경우 파일 내에 다른 `.zip` 파일을 포함할 수도 있습니다. 예를 들어 `.zip` 파일 내의 `.xctestrun`, `.xcworkspace` 또는 `.xcodeproj` 같은 파일을 포함하여 Device Farm에서 XCUI 테스트 계획을 실행할 수 있습니다. 테스트 계획을 실행하는 방법에 대한 자세한 지침은 XCUI 테스트 유형의 기본 테스트 사양 파일에서 확인할 수 있습니다.

## 옵션 1: XCTest UI .ipa 패키지 생성
<a name="how-to-use-create-XCTestUI-ipa-package"></a>

*yourAppName*UITest-Runner.app 번들은 테스트용 프로젝트를 빌드할 때 Xcode에서 생성합니다. 프로젝트의 제품 디렉터리에서 찾을 수 있습니다.

.ipa 파일을 생성하는 방법:

1. 이름이 *Payload*인 디렉터리를 생성합니다.

1. 앱 디렉터리를 Payload 디렉터리에 추가합니다.

1. Payload 디렉터리를 `.zip` 파일에 아카이빙한 다음 파일 확장자를 `.ipa`로 변경하세요.

 다음 폴더 구조는 *my-project-nameUITest-Runner.app*이라는 예제 앱을 `.ipa` 파일로 패키징하는 방법을 보여줍니다.

```
.
└── my-project-nameUITest.ipa
    └── Payload (directory)
        └── my-project-nameUITest-Runner.app
```

## 옵션 2: XCTest UI .zip 패키지 생성
<a name="how-to-use-create-XCTestUI-zip-package"></a>

Device Farm은 전체 XCTest UI 테스트 제품군을 실행하기 위한 `.xctestrun` 파일을 자동으로 생성합니다. Device Farm에서 자체 `.xctestrun` 파일을 사용하려면 `.xctestrun` 파일과 앱 디렉터리를 `.zip` 파일로 압축하면 됩니다. 테스트 패키지에 대한 `.ipa` 파일이 이미 있는 경우 *\$1-Runner.app* 대신 여기에 포함할 수 있습니다.

```
.
└── swift-sample-UI.zip (directory)
   ├── my-project-nameUITest-Runner.app [OR] my-project-nameUITest.ipa
   ├── SampleTestPlan_2.xctestrun
   ├── SampleTestPlan_1.xctestrun
   └── (any other files)
```

 Device Farm에서 XCUI 테스트에 대한 Xcode 테스트 계획을 실행하려면 *my-project-nameUITest-Runner.app* **또는** *my-project-nameUITest.ipa* 파일과 테스트 계획으로 XCTEST\$1UI를 실행하는 데 필요한 xcode 소스 코드 파일(`.xcworkspace` 또는 `.xcodeproj` 파일 포함)이 포함된 zip을 생성할 수 있습니다.

다음은 `.xcodeproj` 파일을 사용하는 샘플 zip입니다.

```
.
└── swift-sample-UI.zip (directory)
   ├── my-project-nameUITest-Runner.app [OR] my-project-nameUITest.ipa
   ├── (any directory)
   └── SampleXcodeProject.xcodeproj
        ├── Testplan_1.xctestplan
        ├── Testplan_2.xctestplan
        └── (any other source code files created by xcode with .xcodeproj)
```

다음은 `.xcworkspace` 파일을 사용하는 샘플 zip입니다.

```
.
└──swift-sample-UI.zip (directory)
   ├── my-project-nameUITest-Runner.app [OR] my-project-nameUITest.ipa
   └── (any directory)
   │   ├── SampleXcodeProject.xcodeproj
   │   ├── Testplan_1.xctestplan
   │   ├── Testplan_2.xctestplan
   |   └── (any other source code files created by xcode with .xcodeproj)
   └── SampleWorkspace.xcworkspace
       └── contents.xcworkspacedata
```

**참고**  
XCTest UI .zip 패키지 내에 'Payload'라는 디렉터리가 없는지 확인하세요.

## iOS XCTest UI 테스트 업로드
<a name="test-types-ios-xctest-ui-upload"></a>

Device Farm 콘솔을 사용하여 테스트를 업로드하세요.

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

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

1. 프로젝트 목록에서 테스트를 업로드할 프로젝트를 선택하세요.
**작은 정보**  
검색 창을 사용하여 인스턴스 목록을 이름별로 필터링할 수 있습니다.  
프로젝트를 생성하려면, [AWS Device Farm에서 프로젝트 생성](how-to-create-project.md)의 지침을 따르세요.

1. **실행 생성**을 선택합니다.

1. **실행 설정**의 **실행 유형** 섹션에서 **iOS 앱**을 선택합니다.

1. **앱 선택**의 **앱 선택 옵션** 섹션에서 **자체 앱 업로드**를 선택합니다. 그런 다음 **앱 업로드**에서 **파일 선택**을 선택합니다.

1. Android 또는 iOS 앱 파일을 찾아 선택하세요. 파일은 .ipa 파일이어야 합니다.
**참고**  
.ipa 파일은 시뮬레이터가 아닌 iOS 디바이스용으로 빌드되어야 합니다.

1. **테스트 구성**의 **테스트 프레임워크 선택** 섹션에서 **XCTest UI**를 선택하세요. 그런 다음 **앱 업로드**에서 **파일 선택**을 선택합니다.

1. iOS XCTest UI 테스트 러너가 포함된 .ipa 또는 .zip 파일을 찾아 선택하세요.

1. 실행 생성 프로세스의 나머지 단계를 완료하여 설치하세요. 테스트할 디바이스를 선택하고 선택적으로 추가 구성을 지정합니다.

1. **실행 생성**을 선택합니다. Device Farm은 테스트를 실행하고 콘솔에 결과를 표시합니다.