XCUITest(XC는 Xcode의 약자)는 Apple의 UI 테스트 프레임워크로, iOS/macOS 앱을 자동화하여 UI테스트를 실행할 수 있도록 도와주는 프레임워크입니다. XCTest 프레임워크의 확장 기능으로 제공되며, UI 테스트를 수행하는 데 필요한 API를 제공합니다.
XCUITest 특징
- Apple에서 공식적으로 제공하는 UI 테스트 프레임워크
- Swift 및 Object-C로 작성 가능
- Xcode에 내장되어 있으며, 별도의 추가 설치 없이 사용가능
- 실제 기기 및 시뮬레이터에서 UI 테스트 실행 가능
- 앱의 접근성(Accessibility Identifier)을 활용하여 UI 요소를 찾고 상호작용 가능
- 비동기 UI 동작을 기다릴 수 있는 API 제공
XCUITest 주요 API
- XCTestCase: 테스트 케이스를 정의하는 기본 클래스
- XCUIApplication: 테스트할 앱을 실행하고 제어하는 객체
- XCUIElement: UI 요소를 나타내는 객체
- XCUIElementQuery: 특정 UI 요소를 찾을 때 사용하는 API
- XCUIElement의 제스처 동작: 제스커 기반 상호작용을 지원하는 API
- Expectations: 비동기 UI 요소를 기다릴 수 있는 API
XCUITest + WebDriverAgent + Appium
XCUITest는 기본적으로 Xcode 내에서 UI 테스트를 실행하지만, WebDriverAgent(WDA)와 함께 사용하면 Appium 등과 연동하여 원격 UI 자동화가 가능합니다. WDA는 XCUITest 기반의 WebDriver 서버로 동작하며, 이를 통해 Appium에서 iOS UI 자동화를 실행할 수 있습니다.
Appium은 XCUITest와 WebDriverAgent를 이용해 iOS UI를 제어할 수 있도록 도와주는 프레임워크입니다.
- XCUITest: swift/Objective-C로 작성된 iOS UI 테스트 프레임워크
- WDA: XCUITest를 실행하고 iOS 기기의 UI를 제어할 수 있는 WebDriver 서버 역할
- Appium: WDA를 이용해 Python과 같은 언어에서도 iOS UI를 제어할 수 있도록 WebDriver API 제공
- Appium Client: 스크립트에서 Appium의 WebDriver API를 호출하여 iOS UI 자동화를 실행
'IT > iOS' 카테고리의 다른 글
WebdriverAgentRunner 설치 및 사용 (0) | 2025.03.18 |
---|