블로그 이미지
JEEN

서울에 사는 꽃청년의 IT찌질모험기

Rss feed Tistory
IT/Perl 2011.07.25 22:02

[ Perl/TRunner ] Selenium Core + Plack -> Smolder

TRunner
View more presentations from Jeen Lee

2011/07/15 - [IT/Perl] - [ Perl/Smolder ] Web-based Continuous Integration Smoke Server

 지난번 Smolder 에 이어서 회사 사내 세미나에서 발표했던 TRunner 입니다.
 TRunner 는 뭐 특별한 게 아니라 이미 기존에 있던 모든 것들을 뭉뚱그려놓은 것입니다.

 기본적으로 Dancer 상에서 Selenium Core 에서 사용하는 기본적인 js 스태틱 파일들을 올려놓은 상태에서, Selenium Core 의 테스트 결과를 Smolder 로 날릴 수 있게끔 하는 것입니다.

  이때 Smolder 는 TAP 형식만을 받으니, Selenium Core 의 테스트 결과를 이래저래 슥샥슥샥 만지작거릴 필요도 있기도 하죠. :-)

  Selenium Core 의 정적인 기능을 동적인 페이지 위에 올리고, 필요한 부분에는 selenium-core.js 를 직접 만지며 수정도 하구요.

  Selenium IDE 에서 뽑아내는 Test Suite/Case 세트를 TRunner 용으로 YAML 로 바꿔서 읽어들이게끔 하구요.

  기본적인 아이디어는 용사장(a.k.a @y0ngbin) 으로부터 얻어서 구현하고... 기본기능 구현 뒤 미비한 점은 @aanoaa , @y0ngbin  두 분이 추가로 조정해주셨습니다.

  하고자 하는 것은 간단하게 Plack::Builder 를 통해서 어떤 Plack 기반의 웹어플이면 쉽게 Selenium Core 와 이 결과를 전송해서 Smolder 로 꾸준히 관리할 수 있게끔하는 그런 것이죠.

 
  보통 서버 프로그램들의 지속적인 유닛테스트처럼 브라우저단의 UI 나 기타 js 움직임등에 대해서도 지속적으로 체크해서 관리하자라는 게 모토입니다.

  각 브라우저/ OS 는 Selenium Core 의 결과 전송시의 Request Header 의 UserAgent 를 통해서 확인할 수 있으니, 이걸 Smolder 의 Platform / Architecture 로 대입시켜보는 것입니다.

  순수한 Silex Product 라서 다른 곳에서 쉽게 사용했으면 좋겠는데(Perl 쓰는...)... 
신고
TOTAL 464,172 TODAY 8

티스토리 툴바