'acceptance test'에 해당되는 글 1건

  1. 2009.01.12 Selenium 3rdparty 씨리즈 1탄 - 이클립스 플러그인 CubicTest.
한때 selenium이 acceptance test를 잘 해줄것 같아 뜯어서 구조도 보고 깨작거렸는데 실제로 해보니 많은 문제가 있었다. 간단한 웹에는 그닥 문제가 없지만 요즘 같은 인터렉션이 많은 웹어플리케이션에서 사용해보면 배보다 배꼽이 커버리는것 같았다.

중간 중간에 억지로 끼워 맞춘 settimeout들... 크로스 도메인 문제등... 어느 정도 해결은 가능했지만 생산성 측면에서 그렇게 좋게 느껴지지 못했다.

그래도 재작년에 2007년에 GTAC을 보니 selenium을 상당히 많이 사용하고 3rdparty로 많이 만들고 있어서 좀 더 다듬어지면 좋겠다는 생각을 하고 지났다.
그렇게 지내고 있다가 예전에 selenium ice 생각이 나서 개발이 어느 정도 되었나 확인차 검색을 좀 해봤는데 아직 많이 개발이 되있지 않았다. -_-;; 그래서 이왕 확인하는거 다른  3rdparty는 뭐가 있을까 검색을 해보니 몇 가지가 나와서 사용해보고 추후에 쓸지 모르니 메모나 남겨야겠다라는 생각을 했다.

첫번째. CubicTest.
두번째. bromine.
세번째. tseng.

이렇게 세가지를 사용해 보려고 한다.
먼저 CubicTest.

설치 방법은 간단하다.
이클립스에서 다운로드 사이트 등록하면 된다.
(http://www.cubictest.org/update) 물론 다운 받아서 해봐도 된다.

그리고 인스톨을 하게 되면 프로젝트생성에 아래와 같은 게 나타난다.

사용자 삽입 이미지










cubic test를 하나 생성을 하면 테스트 이름을 적게 되는데 이걸 만들게 되면 aat파일이 하나 생성이 된다.
aat파일이 하나의 테스트 라고 생각하면 될것 같다 그리고 aat파일을 생성할때 옵션이 3가지가 있다.
1. Extension start point
2. URL start point
3. Sub test start  point

첫번째는 test시점이 기존에 만든 aat파일의 특정 시점 부터가 된다.
   extension start point를 사용하려면 그전에 aat파일에 extension point를 지정해야 한다.
두번째는 URL를 시작 시점으로 하여 test가 진행된다.
세번째는 특정 시점과 관련없이 test를 만들때 사용한다.
   예를 들면 특정 행위가 서로 다른 부분에서 사용된다면 sub test start point로 빼서 관리하면 된다.

그렇게 해서 기존에 selenium에서 코드를 짰던 부분이  에디터에서 가능해진다.
(물론 기존 처럼 코드를 짜도 상관은 없다)

좌측 하단 판넬에 page element들로 페이지의 구성하여 아이디나 이름들을 할당하고 좌측 상단에 control 판넬을 이용하여 액션들을 정의 하면 아래와 같은 모습을 가지게 된다.


사용자 삽입 이미지
그리고 물론 기존에 selenium이 가지고 있는 녹화기능으로 에디터가 아닌 녹화가 가능하게 된다.

녹화를 사용하려면 판넬에 우측 마우스를 클릭하면 record가 있는데 이것을 클릭하면 녹화가 되고 해당 행위가 녹화가 되어서 위에처럼 플로우 차트 형식으로 표현이 된다.
좋은건 기존에 selenium은 firefox에서만 가능했지만 여기서는 다른 브라우져에서도 녹화기능이 된다.
(어떻게 녹화가 되는지는 소스코드를 좀 확인해볼 필요가 있을것 같다-_-;)

그리고 export기능이 있는데 selenium뿐만이 아니라 watir의 루비코드로도 변환이 된다.

실무에 사용한게 아니고 그냥 학습하기 위해 사용한거라 어떤 문제가 있을지는 정확히 파악은 안되나 잠깐 만져(?)본 결과 기존에 비인간적이던 html형식을 flow형식으로 보여주어 좀 더 보기 좋았고 sub point처럼 모듈을 나누어서 관리하는것도 괜찬은것 같았다.

그리고 selenium에 프로젝트로 등록되어 이름이 바뀐다고 하던데(어디서 봤는데 기억은 안남..-_-;) 좀더 좋은 쪽으로 발전될것 같다.

위에 내용은 좀더 자세히 알고 싶으면 여기를 찾으면 알수 있다.


Posted by 전용우
,