본문 바로가기
개발자로그

Appium. iOS 환경 설정 방법 가이드

by 무사도 2021. 12. 7.
728x90
728x170

안녕하세요 무사도입니다.

 

요즘 고민하고 있는 모바일 앱 테스트 자동화 관련해서 공유 해 볼까 합니다.

테스트 자동화등은 여러가지 부분들이 존재 하는데 모듈테스트 자체는 XCUnitTest 로도 가능 합니다.

저는 UI까지 동시에 테스트를 하고 스크립트로 자동화를 하고 싶었기 때문에 여러 조사를 해봤습니다.

 

처음 체크 한부분은 UFT라는 유료 툴 입니다. Microfocus 에서 서비스를 하고 있는 솔루션 입니다.

 

UFTONE 에서도 모바일에 관한 테스트 들은 Appium 으로 진행 하는걸로 확인이 되었고 금액적 이슈들이 존재 하기 때문에

Appium 쪽으로 해당 노선을 변경 하였습니다.

 

오늘은 Appium 환경 설정을 해보도록 하겠습니다. 

 

준비물 :

- Xcode 설치된 MAC

- 실제 연결할 디바이스 와 (UDID)

- 테스트를 진행할 app의 ipa 위치

 

다음과 같은 과정을 진행 합니다.

 

1. HomeBrew 설치

    https://brew.sh/index_ko 를 접속합니다.

귀찮으신 분들은 아래 코드를 터미널에서 실행하시면 됩니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Node 설치

   1번 진행 완료 후 

   터미널에서    "brew install node" 를 실행합니다. 설치 완료후에 정상 설치 확인은 다음 커맨드로 체크 해 보시면 됩니다.

   "node -v"

   "npm -v"

3. appium 설치

     appium 을 설치 합니다.

    "brew install appium" 마찬가지로 정상 설치 확인은 다음 커맨드로 확인 합니다.

    "appium -v" 입니다.

 

4. appium-doctor  설치

    "npm install -g appium-doctor" 커맨드를 실행합니다.

     appium-doctor 가 정상 설치 되는지 확인은 터미널에서 다음 명령어를 실행 합니다. 

     "appium-docotor --ios" 커맨드를 실행 합니다.

 

버전과 함께현재 appium 으로 사용할수 있는 정보들이 나타납니다. 

필수적으로 아래 보이는 Necessary 디펜던시 문제는 꼭 해결 되어야 합니다.

     

 

5. Appium 서버 다운로드 (https://github.com/appium/appium-desktop/releases/tag/v1.22.0)

    상기 홈페이지에 접속 합니다.

다운로드 버튼을 누르고 latest release 에서 확장자가 DMG 인 파일을 다운로드 받습니다. (Appium-Server-GUI-mac-1.22.0.dmg)

해당 파일을 설치 후 응용프로그램에 설치 합니다.

6. Appium Inspector 다운로드 (https://github.com/appium/appium-inspector/releases)

   상기 홈페이지 접속 후 

   확장자가 dmg 인 inspector 파일을 설치합니다. "Appium-Inspector-mac-2021.9.2.dmg " 제가 설치 한 파일은 해당 파일입니다.

7. WebDirverAgent 설치 및 다운로드

    Xcode -> Clone an existing project -

  URL 에 "https://github.com/appium/WebDriverAgent.git" 입력후 

  Master 를 Clone 합니다.

 

 마스터링 후 해당 디렉토리로 이동합니다.

저는 "/Users/kw.lee/Documents/WebDriverAgent" 도큐먼트로 저장 했습니다. 

해당 폴더로 이동 후 다음 커맨드를 입력합니다. 부트스트랩 스크립트 를 만들어주는 과정입니다.

"mkdir -p Resources/WebDriverAgent.bundle ./Scripts/bootstrap.sh -d"

 

이렇게 생성 "WebDriverAgent" 프로젝트를 오픈 합니다.

프로젝트 Target 에 처음에 "WebDriverAgentLib" 를 선택 하고 번들 ID를 수정 합니다.

기존 WebDriverAgent 의 번들 ID 는 "com.facebook.WebDriverAgentLib" 라고 되어 있습니다. 이를 변경 해 줍니다.

만약 테스트를 진행 하려고 하는 번들 ID 가 "com.a.b" 였다면 WebDriverAgentLib 의 번들ID 를

"com.a.b.WebDriverAgentLib" 라고 변환 하는 것입니다.

 

나머지 "WebDriverAgentRunner" , "IntegrationApp" 도 동일한 형식으로 번들 ID 를 변경 해 줍니다.

7. 서버 연동 진행 

    아래 Xcode 빌드를 실행 합니다.

    - xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=연결할장치의 UDID' test

   - AppiumServer 를 실행하고 Host에 "127.0.0.1" 을 입력 후 "Start Server" 버튼을 실행 합니다.  

   - 응용프로그램의 Appium-Inspector 를 실행 하고 RemotePath에 "/wd/hub" 를 입력해 줍니다.

추가적으로 Capabilities 에 위와 같이 정보를 입력해 줍니다. 

단말 이름, 플랫폼 이름, 플랫폼(단말 OS 버전), app의 경우(실제 테스트 할 ipa 파일의 위치) 등을 입력해주고 

Start Session 을 눌러실행 시키면 연결이 됩니다. 

728x90
그리드형(광고전용)

댓글