티스토리 뷰
웹 개발을 하면서 가장 귀찮은 부분이 기능을 테스트하기 위해 수 많은 입력 값들을 넣어야하는 것이었습니다.
그 작업을 대신해주는 많은 방법들이 있지만 저는 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 브라우저 모두
한가지 소스로 테스트가 가능한 점이 장점입니다.
'헉!! > ETC' 카테고리의 다른 글
[IntelliJ] 테스트 코드 실행 시 Execution failed for task ':test' 에러 (0) | 2024.05.10 |
---|---|
[서버 / Docker] CentOS6에서 Certbot 설치하기 (0) | 2023.01.07 |
[HTML] utf-8 페이지에서 form을 euc-kr로 전송하기 (0) | 2016.05.11 |
[IE] IE11에서 개발자도구에 JSPlugin 3005 at getString 오류 발생시 조치방법 (0) | 2015.11.24 |
[web] URL Encoded Characters (0) | 2015.08.08 |
- Total
- Today
- Yesterday
- Java
- Spring
- Programming
- Objective C
- 오블완
- tomcat
- iOS 개발
- Objective-C
- 아이폰 개발
- JavaScript
- 오브젝티브 C
- 오브젝트 C
- Object C
- zero
- 자바스크립트
- 티스토리챌린지
- SQL
- MySQL
- MAC OSX 10.7
- Spring Framework
- iPhone
- 자바
- 아이폰
- 제이쿼리
- 아이폰 어플리케이션
- oracle
- IT
- iBATIS
- JSP
- jQuery
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |