안녕하세요,
iOS 자동화 테스트를 위한 WebDriverAgent(WDA)를 Xcode로 설치하는 방법을 알려 드리려고 합니다.
Xcode를 통해 WDA를 iOS 기기에 설치하면, WDA가 HTTP 서버로 동작하면서 기기를 원격으로 제어하게 됩니다.
WebDriverAgent란?
- WebDriverAgent는 iOS 장치를 원격으로 제어하기 위한 오픈 소스 프로젝트
- 주로 iOS 앱의 자동화 테스트를 위해 사용WDA는 - Facebook(현재는 Meta)이 개발한 프로젝트로
- iOS 기기를 제어하기 위해 XCUITest 프레임워크를 사용
WebDriverAgent의 역할
- iOS 기기 제어: WebDriverAgent는 iOS 기기와 상호작용하기 위한 HTTP 서버를 제공합니다. 이를 통해 원격으로 기기의 화면을 제어하거나 터치, 스와이프 등의 동작을 실행할 수 있습니다.
- Appium과의 연동: Appium과 같은 모바일 테스트 자동화 도구에서 iOS 기기를 제어하기 위해 WDA를 사용합니다. Appium은 WebDriverAgent를 통해 iOS 앱을 제어하고 테스트할 수 있습니다. 이때 WDA는 Appium과 기기 간의 중간 브리지 역할을 합니다.
- XCUITest 활용: WDA는 XCUITest를 기반으로 하여 안정적이고 네이티브하게 iOS 애플리케이션을 제어할 수 있습니다. Apple이 제공하는 XCUITest를 이용하므로, 공식적으로 지원되는 방식으로 iOS 앱을 테스트할 수 있습니다.
그러면, WebDriverAgent가 왜 필요한지 알아봤으니 설치를 해보도록 하겠습니다.
우선 아래의 사전 준비가 되었다는 가정하에 작성하도록 하겠습니다.
- 맥북 사용
- 애플 계발자 계정 세팅
- 앱피움 서버 세팅
- 앱피움 인스펙터 세팅
- 테스트용 앱 준비


Xcode Account 등록 : Xcode > Setting > Accounts > + 버튼으로 계정 등록

WebDriverAgent 환경 설정
4-1) Targets > WebDriverAgentLib > Signing & Capabilites
Team : 등록한 개발자 계정 선택
Bundle Identifier : com.(임의의 개인고유 id).WebDriverAgentLib

4-2) Targets > WebDriverAgentLib > Build Settings > Packaging
Product Bundle Identifier : 위의 Bundle Identifier로 노출되는지 확인 (노출되지 않으면 직접 복사해서 입력)

4-3) Targets > WebDriverAgentRunner > Signing & Capabilites

4-4) Targets > WebDriverAgentRunner > Build Settings > Packaging

4-5) Targets > IntegrationApp > Signing & Capabilites

4-6) Targets > IntegrationApp > Build Settings > Packaging


Xcode > Product > Test 선택

WebDriverAgent 신뢰
