2012-10-25 2 views
1

나는 테스트에 초보자입니다.HtmlUnitDriver를 사용하고 Linux에서 Xvfb를 사용하여 헤드리스 테스트를 작성하는 것의 차이점은 무엇입니까?

저는 Linux에서 작업하고 있습니다. 헤드리스 모드로 테스트를 읽었으며 두 가지를 경험했습니다. 하나는 메모리에서 그래픽 작업을 수행하는 X 가상 프레임 버퍼입니다. 따라서 출력이 표시되지 않습니다. 이 링크에있는 구현 세부 정보는 http://www.seleniumtests.com/2012/04/headless-tests-with-firefox-webdriver.html입니다.

다른 하나는 HtmlUnitDriver입니다. 또한 테스트를 실행하는 동안 브라우저를 열지 않습니다. HtmlUnitDriver를 사용하여 기본 샘플 코드를 작성 했으므로 어설 션이 제대로 작동하는 것 같습니다.

나는 HtmlUnitDriver가 자바 스크립트와 잘 작동하지 않는다는 것을 알고 있습니다. 그러나 이것과 별개로 하나를 선택하는 데 큰 차이가 있습니까?

자바 스크립트가있는 웹 응용 프로그램을 테스트 할 예정입니다.

저는이 분야에 초보자입니다. 그래서, 모든 답변, 제안 등을 부탁드립니다. 는 두 가지 접근 방식과 내 경험에서 미리

답변

6

에 감사 :

  • HtmlUnit과 대부분의 실제 경우에 Xvfb가와 실제 브라우저보다 빠른 것 - 그것은 페이지를 렌더링 시간을 할애하지 않습니다 단순히 때문이다. (데이터 포인트 : HttpDriver 대 17 초, 현재 사용하고있는 특정 테스트 스위트의 FirefoxDriver).
  • HtmlUnit을 사용하면 여러 테스트를 동시에 실행하는 것이 더 쉽고 리소스를 훨씬 적게 소비 할 수 있습니다. 많은 수의 테스트가 있고 빠르게 완료해야하는 경우 (예 : 10 분 빌드 규칙을 따르기를 원할 때) 매우 중요 할 수 있습니다.
  • 당신이 말했듯이 HtmlUnit에는 JavaScript와 DOM이있는 고유 한 단점이 있습니다. 다른 브라우저 (파이어 폭스, 사파리, IE, 크롬 등)보다 좋거나 나쁘지는 않습니다.하지만 모두 버그가 있습니다. 버그를 수정하는 데는 시간이 많이 걸립니다. 나는 또한 그러한 버그들을 진단하기가 매우 어렵다고 생각하지만, 그것은 단지 나의 무지 일 수있다.
  • 실제 브라우저 + xvfb의 장점 중 하나는 xvfb없이 항상 똑같은 테스트를 사용하고 무슨 일이 일어나고 있는지 확인할 수 있다는 것입니다. 콘솔을 사용하여 문제를 진단하기 위해 일부 JavaScript를 실행할 수도 있습니다. 때로 HtmlUnit으로 작업 할 때 나는 눈이 멀었으며 위에서 언급 한 단점 때문에 두 환경에서 항상 똑같은 테스트 코드를 사용할 수 없다. 총 시험 시간은 중요하고하지 않는

그래서, 요약, 당신은 시간 싸움 HtmlUnit과 지출 준비, 그것은 일반 브라우저 + Xvfb가 함께 갈 다만 쉽다.

나는 또한 xvnc를 사용하는 것을 좋아한다. xvnc는 실행중인 테스트 화면에 연결하여 진행 상황을 확인할 수있는 장점이있다 (xvfb로 할 수 있는지 여부는 확실하지 않다).