더북(TheBook)

4.3.2 셀레늄으로 HTML 페이지 테스트하기

RestTemplate은 간단한 요청을 수행하는 데는 물론이고 REST 엔드포인트를 테스트하는 데도 아주 적합하다. HTML 페이지를 반환하는 URL에 요청을 전송할 때도 사용할 수 있지만, 페이지의 콘텐츠를 검증하거나 페이지 자체에 작동을 수행하기에는 좀 불편하다. 잘하면 정확히 반환된 HTML 콘텐츠는 검증할 수 있을 것이다(이런 테스트는 실패할 확률이 높다). 하지만 페이지의 특정 콘텐츠를 검증하거나 링크를 클릭하거나 폼을 제출하는 작업을 수행하기는 쉽지 않다.

HTML 애플리케이션을 테스트하는 더 좋은 방법은 셀레늄(Selenium)(http://www.seleniumhq.org)을 이용하는 것이다. 셀레늄은 요청을 수행하고 검증할 결과를 가져오는 것 말고도 많은 일을 한다. 셀레늄은 웹 브라우저를 실행한 후 해당 웹 브라우저 컨텍스트에서 테스트를 실행한다. 그래서 사람이 직접 수동으로 테스트하는 것과 거의 비슷한 결과를 얻을 수 있다. 하지만 수동 테스트와 달리 셀레늄 테스트는 자동화되고 반복이 가능하다.

셀레늄으로 독서 목록 애플리케이션을 테스트하려면 먼저 메인 페이지를 불러오는 테스트를 작성해야 한다. 그런 다음 새 책을 등록하는 폼을 채워서 전송하고, 마지막으로 이동한 페이지에 새로 추가한 책을 포함했는지 검증한다.

먼저 빌드에 셀레늄을 테스트 의존성으로 추가하자.4


testCompile("org.seleniumhq.selenium:selenium-java:2.53.0")

메이븐을 사용한다면 다음과 같이 <dependency>를 빌드에 추가하자.


<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.53.0</version>
    <scope>test</scope>
</dependency>

 

4 역주 

역자가 셀레늄 2.53.0과 함께 테스트했던 파이어폭스 버전은 46.0.1이었다. 파이어폭스 버전마다 작동이 다를 수 있으니 테스트가 실패한다면 파이어폭스 버전과 셀레늄 버전을 최신 버전으로 함께 업데이트하기 바란다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.