[Quality Management System] Selenium 프레임워크 활용 [mobile webapp테스트]

[Quality Management System] Selenium 프레임워크 활용 [mobile webapp테스트]

이번에는 http://docs.seleniumhq.org/

를 사용하여, web page 또는 android , iOS webApp 을 테스트 하는 방법을 공개한다.

먼저, 테스트 환경은 다음형태와 같다.

 

1. 테스트 환경 구성 및 준비사항

 

 

호스트 언어는 java  / VB / C# / JavaScript 등 여러 가 언어의 버전을 지원한다.

 

이와 관련하여, 구체적인 Test Automization 과 관련 Document 는 다음의 wiki 에서 찾을수 있다.

https://github.com/SeleniumHQ/selenium/wiki/SeIDEReleaseNotes

첫번째 예제로 Android SmartPhone 과  연결한후, android driver 를 선택하면, 드라이브 하부단에서는

android sdk 의 adb 툴을 이용한다.

이때,  adb  devices 로  offline 으로 출력되면 먼저 attach 되게 세팅 하여야 한다.

Adb 및 android studio 를 최신으로 업데이트 하면,

F:\work\trustfarm\selenium>adb devices

List of devices attached

  • daemon not running. starting it now on port 5037 *

  • daemon started successfully *

LGF4xxK53e7c7cc unauthorized 

와 같이 표현되면,  Android Smartphone 에서 usb debugging  enable 하고 다시 끼우고,

Adb devices 하면, SmartPhone 에서 finger print 허용하겠냐는 메뉴가 뜬다. 여기서 컨펌해주면 된다.

(참고, 폰2폰 ADB : https://github.com/kosborn/p2p-adb)

참고로 LG G3 debugging 모드 및 adb_key  설정관련 : http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087 ) 을 참조하라.

간혹, 자유로운 root access 를 위해서 SmartPhone 의 rooting 하는 방법을 제안하기도 하는데, 이방법은 쓰지 않는게 좋다.

참고로, Selenium HQ 에서 지원하는 WebDriver spec 을 참조 바란다.

https://w3c.github.io/webdriver/webdriver-spec.html

 

2. Chrome browser를 기동하고, script 으로 homepage 네비게이션 예제

 

Default chrome browser 설정.

  1. FireFox tool menu 에서 seleniumIDE 실행.
  2. Selenium IDE 에서
    1. Option -> Options -> chrome 설정

위의 샘플을 실행하면 크롬브라우저를 통해서 페이지를 로드할수있다.

추가적인 webdriver 를 확인하고 싶으면    addons.seleniumhq.org  에 등록된것으로 바로 불러 사용가능하다.

<em:updateURL>https://addons.seleniumhq.org/your-plugin-name/update.rdf</em:updateURL>

실제 동작의 구체적인 드라이버 연동관계는 다음과 같다.

 

또한, 테스트 페이지의 Link 및 icon , 텍스트 입력 등을 Script 으로 만들기 위해서는 Firefox 또는

Google chrome 의 개발자 도구를 통해서, DOM 에서 해석되는 icon 및 객체들의 xpath id 를 알면 테스트 자동화에 편하다.

다음은 xpath 를 활용한, script control 예제 이다.

아래 예제는 Chrome browser 를 기동한후, / 디렉토리를 로드하고, 메인 메뉴를 클릭해서 메뉴안에 ‘mainContent’ id 를 가지는  submenu 를 검증하는 단순한 script 이다.

_images/chapt3_img16_Table_Format.png

 

이런 기본적인 것을 활용해, 복잡한 테스트 automation 할수가 있다.

 

3. 트러스트 팜의 확장된 QMS System

위의 방법은 기본 테스트 자동화의 방법을 보여준다.

하지만, 현실적인 문제는 각각의 디바이스를 테스트하기 위해서 한개의 desktop 또는 그에 상응하는 notebook 등의 장비가 필요하다는 것이다.

트러스트팜에서는 이를 간략히 하고, 저렴하게 하기 위해서 OrangePi 에 selenium 드라이브와 Camera 로 모니터링, 그 영상을 OpenCV 를 이용해서 자동화 하고, 또한, 원격 Client 에서  VNC 를 통해서 Desktop 을 실시간 모니터링 및 조정할수 있는 시스템을 다음과 같이 제안한다.

 

4. 장점

  1. 테스트 장비 설치 공간이 최소화 된다. 5cm (W) x 10cm (H)  x 2cm (T) 이고, 5V 로 구동되기 때문에, 기존 휴대폰 충전기로 같이 사용가능하다
  2. WiFi 탑재로, 별다른 네트워크 연결이 필요없다. 물론, WIRE LAN 도 지원한다.
  3. 테스트 노드로 쓰기에 디바이스 가격이 기존의 WEBCAM 가격 만큼 저렴하다.
  4. 720P , 최대 1080P 의 원격 REMOTE 화면 브라우징을 제공한다.
  5. 기존 SeleniumHQ ,  mobile app Test 기능이외에,  OpenCV 와 연동하여, 실시간 디스플레이 영상 모니터링 테스트도 가능하다.
  6. 이 많은 Feature 를 제공하여도, 테스트 디바이스 자체 가격이 $50 도 안된다.

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.