본문 바로가기
[개발] Info/용어

Appium

by Devsong26 2018. 1. 28.

Appium이란?

스마트폰 UI 자동화 테스트 Framework이다. 

 

 

특징

- Selenium에서 사용되는 문법을 이용하여 테스트 코드를 구현할 수 있다. 

- Java 사용이 가능하다. 

 

 

Appium 환경 구축하기

1. Java 설치 및 시스템 변수 설정

2. Android Studio 혹은 Android SDK Manager를 설치 및 시스템 변수 설정

3. 미러링 툴 설치(vysor를 사용했음)와 adb Driver 설치

4. Appium 설치하기 

 

 

1. Java 설치 및 시스템 변수 설정

http://developer-syubrofo.tistory.com/6?category=775383

 

2. Android Studio 혹은 Android SDK Manager를 설치 및 시스템 변수 설정

Android Studio를 설치하여 진행하였고, Android Studio를 처음 실행하면 SDK Manger 설치 창이 나온다. 

 

먼저, 아래 url로 접속한다.

https://developer.android.com/studio/index.html?hl=ko

 

 

다운로드를 클릭한다. 

 

그러면 동의창이 나오는데 동의하고 다운로드하면 된다.

 

그리고 설치하면 된다. 

 

설치 후 실행을 한 후 File -> settings 에 들어가면 Android SDK에 설정창이 나온다. 

 

체크박스에서 자신이 테스트하기를 원하는 IOS 버전을 클릭한 후 Apply를 누르면 해당 platform이 설치된다. 

 

이제 환경설정을 해야 한다. 

 

시스템 변수를 아래와 같이 추가한다. 

 

변수값에 적혀진 경로는 sdk의 기본 경로이다. AppData 폴더는 숨겨진 폴더이므로 폴더 보기 옵션을 수정한 다음에 확인하기 바란다.

 

Path 편집을 눌러서 위와 같이 새로 추가하기 해서 경로를 입력한 후 확인을 누른다.

 

 

3. 미러링 툴 설치와 adb Driver 설치

미러링 툴을 설치해야 하는 이유는 자동화테스트는 PC에서 진행되는 것이기 때문에 PC에서 스마트폰 화면에 접근할 수 있어야 하기 때문이다. 즉 PC화면에 스마트폰 화면을 창으로 띄우기 위해 사용한다고 보면 된다.

 

Vysor라는 미러링 툴을 설치한다. 

https://www.vysor.io/ 로 접속한다. 

화면 상단에 download버튼을 클릭한다. 그러면 아래와 같은 화면이 나온다.

Windows이용자로 Windows 버전을 설치했다. 

 

설치하고 실행을 하면 아래 사진과 같이 화면 하단에 adb driver를 설치해야 한다고 나온다. 클릭하여 설치한다.

 

ADB Driver를 설치하고 난 후  USB를 이용하여 PC와 스마트폰을 연결한다. 

이 때, 스마트폰의 연결 설정은 사진 전송 모드인 PTP를 선택한다. 

 

단, 이 때 디버깅 모드를 허용해야 한다.

디버깅 모드 설정은 스마트폰 기종마다 다르므로 검색해보시길 바란다.

 

그러면 Vysor 화면에 아래와 같이 나오며 Choose a device 항목에 자신의 스마트폰 정보가 보여진다.

 

View를 누르면 화면에 새창으로 자신의 스마트폰 화면이 나온다. 또한, 스마트폰 연결시에는 디버깅 모드를 허용할 것이냐는 메세지가 나오는데 이때 확인을 눌러도 자동으로 새창으로 스마트폰 화면이 나온다. 

 

 

4. Appium 설치하기

https://github.com/appium/appium-desktop/releases/tag/v1.3.1를 클릭하여 아래 사진과 같이 Setup 파일을 클릭하여 설치한다.

 

 

테스트코드 만들기 전에 알아야 할 2가지

1. 스마트폰의 어플의 package 정보와 activity 정보를 확인하는 방법

2. 스마트폰의 UI단 태그 정보를 확인하는 방법

 

 

1. 스마트폰의 어플의 package 정보와 activity 정보를 확인하는 방법

3단계로 나뉜다. 

1) package 정보를 알아내기

2) apk 파일을 백업하기

3) android studio에서 apk를 열어서 activity 확인하기 

 

1) package 정보를 알아내기

앱스토어에서 System Info for Android를 다운받는다. 

아래 사진은 어플을 실행하고 나서 상단의 Apps 탭을 클릭하여 원하는 어플을 클릭한 결과 화면이다.

빨간 박스로 표시된 곳을 보면 apk위치를 확인할 수 있다.

 

2) apk 파일을 백업하기

이번에는 앱스토에서 지퍼7 이라는 앱을 설치한다. 

그리고 실행하면 아래와 같이 화면이 보여진다. 

찾고자 하는 apk파일은 직접 설치한 어플일 경우 설치된 어플을 클릭하고 기본 제공이면 시스템폴더에 가서 경로를 타고 들어가야 한다.

 

나는 설치된 어플을 클릭한 후 위메프를 클릭 후 위에 표시된 ...을 클릭하여 나오는 창에서 백업을 클릭한다. 

그러면 백업경로가 나오면서 백업이 됐다는 창이 나온다. 

처음 화면으로 이동 후 시스템 폴더로 진입하여 경로를 찾아 들어간다. 

 

찾았다면 아이콘을 길게 누른 후 나오는 창에서 보내기를 선택하여 자신이 사용하는 드라이브를 선택한 후 전송한다. 

 

 

3) android studio에서 apk를 열어서 activity 확인하기 

android studio를 실행하면 위와 같은 화면이 나오며 빨간 박스에 표시된 Profile or debug APK를 클릭하여 자신이 받은 apk파일을 연다. 

 

그 후 위의 빨간박스에 표시된 것 처럼 manifests 폴더 밑에 있는 xml 파일을 연다. 

그러면 오른쪽과 같이 내용이 표시되는 데 거기서 activity를 검색 후 원하는 activity를 확인해야 한다. 

 

 

2. 스마트폰의 UI단 태그 정보를 확인하는 방법

C:\Users\사용자명\AppData\Local\Android\Sdk\tools\bin 으로 들어가면 uiautomationviewer라는 프로그램이 있다. 이것을 실행하자.

 

콘솔이 하나 뜨는데 창을 닫으면 uiautomationviewer도 창이 닫히기 때문에 닫으면 안 된다. 

 

그리고 vysor를 통해 스마트폰 화면창이 켜진 상태에서만 유효한 작업이라는 것을 명심하자.

 

아래 사진과 같이 화면이 나온다. 화살표로 가리키는 이모티콘을 클릭하면 현재 vysor창에 있는 화면을 스크린샷을 찍어서 uiautomationviewer화면에 보여준다.

 

 

아래는 그 결과이다. 그리고 원하는 콘텐츠를 클릭하면 오른쪽에는 구조가 나오며, 그 아래는 그 요소에 대한 상세 정보가 보여진다. 이 정보를 이용하여 자동화테스트 코드를 구현한다. 

 

 

 

테스트코드를 작성하기

 

DesiredCapabilities 클래스의 객체를 사용해야 한다. 

나는 Android 폰이라 Android로 진행함.

setCapability()메소드에는 화면에 표시된 대로 속성과 그 값을 입력한다. 

이 후 중요한 것은 driver 객체를 생성할 때 AndroidDriver 생성자를 통해 생성을하는데, 매개변수는 Appium의 URL 객체를 입력해야 한다. 코드에 구현된 URL은 Default URL 경로이다. 

 

그 후 원하는 코드를 작성하면 된다. 

 

아래 링크를 참고하면 코드를 작성하는데 유용할 것이다. 

https://seleniumbycharan.wordpress.com/2016/08/07/finding-elements-using-locators-in-appium/

'[개발] Info > 용어' 카테고리의 다른 글

유니코드(Unicode)  (0) 2022.03.24
[Network] HTTP 통신  (0) 2021.05.31
Locale  (0) 2018.03.25
Character Set과 인코딩  (0) 2018.02.05
Selenium  (0) 2018.01.28