상세 컨텐츠

본문 제목

[Selenium] 셀레니움으로 웹 UI 테스트 자동화 (Selenium IDE)

헉!!/ETC

by 권태성 2017. 11. 12. 20:12

본문


웹 개발을 하면서 가장 귀찮은 부분이 기능을 테스트하기 위해 수 많은 입력 값들을 넣어야하는 것이었습니다.

그 작업을 대신해주는 많은 방법들이 있지만 저는 Selenium을 사용해봤습니다.

Selenium은 테스트 뿐만 아니라 브라우저에서 일어나는 수 많은 동작을 자동화해주는 도구입니다.

Selenium의 공식 홈페이지


자바나 파이썬 같은 소스에서 자동화 코드를 작성할 수 있지만 이 포스트에서는 가장 기본적인 Selenium-IDE를 이용하여

웹 브라우저에서 실행하는 사용자 동작을 레코딩하여 반복 실행하는 내용을 정리하고자 합니다.


Selenium-IDE를 이용하기 위해서는 Firefox 브라우저가 필요합니다.

그런데 최신 버전의 Firefox 브라우저에서 Selenium-IDE을 사용할 때 문제가 있어 여러 환경에서 테스트해보니

Firefox 50.0.1 버전에서 정상 작동하여 해당 버전을 사용중입니다. (지난 6월 시점에 발생했던 내용입니다.)

해당 버전은 https://ftp.mozilla.org/pub/firefox/releases/50.0.1/ 에서 OS 환경별로 다운받을 수 있습니다.


Firefox 브라우저 설치 후 Firefox 브라우저로 아래 링크로 접속해서 Selenium-IDE를 설치해줍니다.

https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/


Add to Firefox를 누르시면됩니다. 설치가 끝나면 Firefox를 다시 실행해주세요.


다시 브라우저를 실행하면 아래 화면처럼 Selenium IDE가 나타납니다. 실행해주세요.


사용방법은 아주 간단합니다.

테스트 할 사이트에 접속 후 우측 상단의 빨간 버튼을 눌러 행동을 레코드한 후에 다시 같은 버튼을 눌러 종료하면

내가 실행했던 동작들이 하단의 Table에 남게되고 해당 동작들을 자동으로 반복하거나 다른 동작을 추가하여 실행할 수 있게됩니다.



네이버 메인에 접속 후 빨간 버튼을 누른 후 티스토리라고 검색 한 화면입니다.

검색하고나면 Table에 명령들이 추가된 것을 볼 수 있습니다. 그럼 다시 빨간 버튼을 눌러서 레코딩을 종료합니다.

제대로 레코딩이 되었는지 확인해보기 위해서 Fast Slow 우측의 Play entire test suite 버튼을 눌러주세요.

그럼 다시 네이버 메인으로 접속하고 티스토리라는 검색어를 입력 후 검색 버튼을 누르는 동작이 자동으로 실행되는 것을 확인하실 수 있습니다.

하단의 Log도 출력이 되구요. Fast Slow 사이의 스크롤을 조작하여 실행 속도도 조절할 수 있습니다.



그리고 저는 이 기능이 정말 유용한 것 같은데요. 레코드 한 결과를 각종 언어로 된 소스로 Export할 수 있습니다.

저는 주로 Java에서 테스트를 하기에 JUnit WebDriver로 Export후에 반복 로직이나 랜덤 로직 같은걸 좀 더 넣어서 자동화 테스트를 수행하고는 합니다.

Selenium-IDE가 아닌 테스트 소스로 Selenium을 실행하시면 IE, Chrome, Firefox 브라우저 모두

한가지 소스로 테스트가 가능한 점이 장점입니다.



관련글 더보기