336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

FireFox Selenium IDE


https://addons.mozilla.org/ko/firefox/user/katalon/?src=api




다양하게 Export 할수 있는 옵션을 제공한다.

JUnit 테스트를 위해서는 Selenium Server가 동작하고 있어야 함



Selenium RC(Remote Control) vs. WebDriver

Selenium은 WebDriver라는 프로젝트와 합쳐져서 Selenium2 라는 버전이 나왔는데, 이전 버전을 RC(Remote Control)방식, 2 버전을 WebDriver 방식이라고 한다.


Selenium1 버전의 RC버전은 테스트 케이스를 웹 프락시 서버를 통해서 자바스크립트를 사용하여 수행하는 방식이다.



  1. JUnit 이나 Python 스크립트 등으로 만든 Selenium 테스트 케이스를 Driving Process 라고 한다.
  2. Driving Process 가 Selenium 서버와 통신을 해서 Selenium 서버에 있는 Launcher를 통해서, 웹브라우저를 실행한다. 실행된 웹 브라우저는 Selenium 테스트 케이스를 실행하는 자바스크립트가 작성되어 있고, 이 스크립트를 통해서, 테스트 페이지를 띄우게 된다. 이 테스트 페이지는 원본 테스트 페이지가 아니라, 테스트 실행과 결과 체크를 위한 스크립트가 내장된 페이지를 띄우게 된다.
  3. 이 과정은 테스트 타깃 페이지를 바로 띄우는 것이 아니라, Selenium 서버가 웹 프락시 서버 역할을 해서, 2에서 언급한 것과 같은 자바스크립트를 삽입한 페이지를 반환한다.
  4. Selenium 서버 내의 프락시 서버는 테스트 페이지를 만들어내기 위해서 원본 페이지에 접속하여 원본 데이터베이스를 읽어온 후에 거기에 테스트에 필요한 자바 스크립트를 인젝션(Injection) 한다.

* 결국 자바스크립트를 삽입하기 때문에, 실제 브라우저의 동작 방식을 기반으로 테스트하는 것이 아니라 거기에 테스트용 자바 스크립트를 덧입혀서 테스트하는 것이기 때문에 브라우저의 자바스크립트의 지원성이나 테스트 대상 페이지에서 사용한 자바 스크립트에 따라서 테스트가 실패할 가능성이 있다.

그래서 나온 것이 WebDriver인데, 자바스크립트를 삽입하는 것이 아니라 *.dll 이나 *exe를 이용해서 브라우저를 네비티브 수준에서 컨트롤해서 테스트를 진행 및 결과를 얻어낸다.


블로그 이미지

뚱땡이 우주인

,