안드로이드 테스트 툴 - Appium
https://github.com/appium/appium
Appium을 사용한 안드로이드 기능 테스팅 :
1 : https://www.imaso.co.kr/news/article_view.php?article_idx=20150731141607
2 : https://www.imaso.co.kr/news/article_view.php?article_idx=20150904170524
앱피움은 모바일 앱의 테스트 자동화를 가능하게 해주는 오픈소스 라이브러리다. 네이티브(Native), 하이브리드(Hybrid), 모바일 웹(Mobile web) 등 다양한 타입의 앱에 대한 테스트를 자동화하는 것이 앱피움의 특징이다. 앱피움을 통해 자동화된 테스트는 실제 기기나 에뮬레이터 혹은 시뮬레이터에서 실행된다.
앱피움은 플랫폼 벤더가 제공한 테스트 프레임워크에 Selenium WebDriver API로 랩핑한 클라이언트 라이브러리(Client library)들을 다양한 개발 언어로 제공한다.
Appium architecture
1. 스크립트의 API들은 WebDriver JSON Wire Protocol을 사용해 앱피움 서버와 통신한다.
2. 앱피움 서버는 스크립트가 제공하는 안드로이드 SDK 버전에 맞춰 테스트 프레임워크(UIAutomator 혹은 Selendroid)를 처리할 수 있는 모듈과 TCP 서버를 가지는 bootstrap.jar을 디바이스/에뮬레이터에 설치한다.
3. 앱피움 서버는 스크립트상에 command를 디바이스의 TCP 서버로 전달한다.
4. 기기 상의 UIAutomator 서버는 전달받은 명령어를 안드로이드 버전에 맞는 UIAutomator 혹은 Selendroid 명령어로 바꿔 실행하고, 실행 결과를 앱피움 서버로 보낸다.
5. 앱피움 서버는 콘솔에 처리 결과를 표시한다.
앱피움 실행 환경 구성하기
먼저 Node.js, NPM( nodejs.org/download) 구성이다. 홈브루(homebrew)를 사용하거나 소스를 받아 Node.js를 설치한다. Node.js를 설치하면 NPM이 함께 설치된다.
다음은 앱피움( appium.io) 설치다. NPM을 사용하거나 설치 파일을 다운로드해 앱피움과 앱피움에 종속(dependency)이 있는 모듈들을 한번에 설치하자. 앱피움 설치가 완료되면 앱피움을 실행할 수 있는지 종속성(dependency)을 체크한다.
안드로이드 애플리케이션 자동화 테스트 개발 환경 구성하기
우선 자바 JDK 환경을 구성하자. 오라클 자바 공식 사이트( www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)에서 JDK를 다운로드해 설치한다.
환경 설정 파일에 JAVA_HOME 환경변수를 만들고 JDK 패스를 설정한다. 설정된 값이 적용될 수 있도록 source 명령어를 실행한다. 환경변수 값이 제대로 설정됐는지 확인한다.
자바 IDE(통합개발환경)로 사용할 이클립스(Eclipse)를 설치하자. 이클립스 사이트( eclipse.org/downloads/)에서 소스를 다운로드해 압축을 풀면 eclipse 디렉토리가 보인다. 디렉토리 아래 eclipse App 파일을 더블클릭해 실행한다.
이제 메이븐(Maven)을 구성해 보자. 메이븐 빌드 도구를 아파치 메이븐 프로젝트 공식 사이트( maven.apache.org/source-repository.html)에서 다운로드해 설치한다. 홈브류를 사용하거나 소스를 다운로드해 메이븐을 설치하고 환경 변수를 설정한다. 설정된 값이 적용될 수 있도록 source 명령어를 실행하고 환경변수 값이 제대로 설정됐는지 확인한다.
다음으로 이클립스를 위한 메이븐 플러그인(Maven Plug in) ‘Maven Plugin for Eclipse( download.eclipse.org/technology/m2e/releases)’를 설치한다. 이클립스에서 Eclipse Help → Install New Software… 메뉴를 통해 설치하면 된다.
안드로이드 에뮬레이터 ‘지니모션(Genymotion)’을 설치해 보자. 우선 지니모션 사이트의 다운로드 페이지( www.genymotion.com/#!/download)에 진입하자. 계정을 생성한 후 에뮬레이터(Emulator) 설치 파일을 다운로드하고 지니모션 설치 파일을 더블클릭한다. 지니모션과 지니모션 셀(Shell)을 애플리케이션으로 드러그 엔 드롭해 설치하면 된다.
이제 이클립스를 위한 지니모션 플러그인(Genymotion Plug in)을 설치할 차례다. ‘Genymotion Plugin for Eclipse’는 지니모션 플러그인 페이지( plugins.genymotion.com/eclipse)에서 다운로드할 수 있다. 이클립스에서 Eclipse Help → Install New Software… 서브 메뉴를 통해 설치하면 된다.
설치가 완료되면 가상 디바이스 매니저를 클릭한다. 처음엔 디바이스가 하나도 없을 것이다. New를 클릭해 디바이스를 생성 창을 띄운다. 여기서 Add를 클릭해 디바이스를 추가한다.