간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (31,680원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (28,800원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (32,400원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (33,480원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Selenium 웹드라이버 테스트 자동화 : 구글이 선택한 웹 애플리케이션 UI 테스팅 툴

원제 : Selenium Testing Tools Cookbook

2013년 9월 9일 이후 누적수치입니다.

판매지수 26
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(319)

  • 사은품(2)

책소개

Selenium 3.1.0 버전 기준

이 책은 구글이 선택한 웹 애플리케이션 UI 자동화 테스팅 도구인 셀레늄(Selenium) 웹드라이버를 사용해 웹 애플리케이션 테스트 프레임워크를 구축하는 내용을 다룬다. 셀레늄 API를 배우고 나면 애플리케이션의 성능 측정이나 모바일 기기에서 동작하는 웹 애플리케이션 테스트, 젠킨스 같은 도구를 활용해 테스트의 효율을 높이는 방법까지 현실 세계에서 부딪치는 다양한 도전 과제의 해답을 얻을 수 있다.

출판사 서평

이 책에서 다루는 내용
- 위치 지정자에 대한 이해와 다양한 위치 지정자 메소드로 신뢰성 높은 테스트 코드를 만드는 방법
- 셀레늄 웹드라이버 API를 사용하는 테스트 코드 작성
- 페이지 팩토리 패턴으로 강건하고 유지 보수 용이한 테스트 프레임워크 구축
- 데이터 주도 테스트와 셀레늄 API를 확장해 수행하는 사용자 정의 테스트
- 셀레늄 웹드라이버와 함께 JBehave, SpecFlow, FitNesses 같은 ATDD/BDD 도구를 사용하는 방법
- 아이폰, 아이패드, 안드로이드 기기와 시뮬레이터에서 수행하는 모바일 웹 애플리케이션 테스트
- 테스트 커버리지를 높이면서 실행 시간을 단축하는 셀레늄 그리드의 설정 방법

이 책의 대상 독자
이 책의 대상 독자는 품질보증 관리자나 테스트 전문가, 테스트 매니저는 물론, 셀레늄과 자바를 사용해 웹 애플리케이션 테스트를 경험한 개발자까지 다양하다. C#, 파이썬, 루비 사용자를 위한 예제도 준비돼 있다.

이 책의 구성
1장, '엘리먼트 위치 지정'에서는 셀레늄 웹드라이버에서 제공하는 방법으로 웹 페이지에서 엘리먼트 위치를 지정하는 내용을 다룬다. 셀레늄 웹드라이버는 XPath와 CSS, DOM 같은 다양한 위치 지정자(locator) 중 최선의 방법을 제공해 엘리먼트 위치를 지정한다. 물론 사용자 정의 위치 지정자도 만들어 사용할 수 있다. 1장의 예제는 셀레늄 웹드라이버 위치 지정자 API와 친숙해지는 데 도움을 준다.

2장, '셀레늄 API 사용'에서는 셀레늄 API를 사용해 테스트 코드를 만드는 방법을 설명한다. 셀레늄 API를 살펴본 다음에는 복잡한 마우스 움직임이나 키보드 입력 같은 사용자 상호작용을 그대로 재현하면서 웹 애플리케이션의 다양한 UI 엘리먼트를 다룰 수 있다.

3장, '테스트 흐름 제어'에서는 셀레늄 웹드라이버 API를 사용해 신뢰성 있는 테스트 자동화 프레임워크 구축 방법을 다룬다. 훌륭한 테스트 자동화 프레임워크는 강건함과 신뢰성, 회복성, 예외 처리 능력을 포함한다. 3장의 예제는 명시적 대기 시간과 묵시적 대기 시간으로 동기화를 이루고, 여러 개의 윈도우를 다루거나 테스트 중에 나타나는 팝업 창과 알림 창에 대처하는 방법을 설명한다.

4장, '데이터 주도 테스팅'에서는 테스트 자동화 방법론 중 하나인 데이터 주도 테스트를 소개한다. 셀레늄 웹드라이버는 데이터 주도 테스트를 지원하는 빌트인 기능은 없지만, 셀레늄 웹드라이버 API를 확장해 데이터 주도 테스트를 수행할 수 있다. 4장은 JUnit/아파치 POI와 JDBC를 사용한 테스트 예제를 다룬다.

5장, '페이지 객체 모델 사용'에서는 셀레늄 웹드라이버 테스트를 구축할 때 가장 많이 사용하는 모델 패턴을 다룬다. 5장의 내용은 페이지 객체 모델을 사용해 테스트 프레임워크를 만드는 데 많은 도움을 준다.

6장, '셀레늄 확장'에서는 셀레늄 웹드라이버 API를 확장하고 테스트 자동화의 범위를 넓힌다. 커스텀 UI 컨트롤과 엘리먼트의 이미지 캡처, 이미지 기반의 테스트 같은 실용적이고 핵심적인 예제로 셀레늄 웹드라이버를 확장해본다.

7장, '모바일 브라우저에서 테스트'에서는 애플의 iOS와 안드로이드 플랫폼에서 셀레늄 웹드라이버 API를 사용하는 모바일 웹 애플리케이션 테스트 방법을 소개한다. 7장에서는 모바일 기기를 설정하고 아이폰, 안드로이드 기기와 시뮬레이터를 사용하는 셀레늄 웹드라이버 예제를 다룬다.

8장, '클라이언트 성능 테스트'에서는 셀레늄 웹드라이버를 사용해 클라이언트 측 성능 측정 방법을 알아본다. 클라이언트 측 성능은 다양한 방법으로 측정할 수 있는데, 예제에서는 dynaTrace나 HttpWatch 같은 도구와 함께 셀레늄 웹드라이버를 사용하면서 클라이언트 성능을 수집, 측정, 모니터할 수 있다.

9장, 'HTML5 웹 애플리케이션 테스팅'에서는 HTML5 표준을 사용하는 웹 애플리케이션 테스트 방법을 다룬다. 즉, 비디오와 캔버스 엘리먼트, HTML5의 웹 스토리지 API를 테스트하는 방법 등을 다룬다.

10장, '테스트 과정 동영상 녹화'에서는 몬테 미디어 라이브러리, 마이크로소프트 익스프레션 인코더 SDK, 카스트로 같은 도구를 사용해 테스트 과정을 동영상으로 녹화하는 방법을 살펴본다.

11장, '행위 주도 개발'에서는 셀레늄 웹드라이버로 구현하는 행위 주도 개발 방법을 알아본다. Cucumber-JVM과 자바에서 사용하는 JBehave, 닷넷용 SpecFolw.NET, 루비용 Capybara가 행위 주도 개발을 실현하는 도구로 등장한다.

부록 A, '셀레늄 웹드라이버와 다른 도구의 통합'에서는 이클립스와 인텔리J IDEA에서 셀레늄 웹드라이버를 설정하는 방법이 기술되어 있다. 메이븐이나 앤트 설정 방법이나 젠킨스를 사용하는 지속적인 통합 과정에 테스트를 구현하는 방법도 다룬다. 오토잇(AutoIt)과 시쿨리(Sikuli)를 사용하는 자동화 테스트도 살펴본다.

부록 B, '셀레늄 그리드를 사용한 분산 환경 테스트'에서는 분산 환경에서 셀레늄 그리드로 테스트를 수행하는 방법을 설명한다. 노드는 브라우저와 플랫폼의 다양한 조합으로 여러 개를 만들어 추가하는데, 테스트는 TestNG를 사용해 병렬로 수행할 수 있다. TestNG는 테스트 실행 시간을 줄이면서 테스트 커버리지를 높이는 데 유용하다.

목차

1장 엘리먼트 위치 지정
소개
페이지 구조와 엘리먼트 검사를 위한 브라우저 도구 사용
findElement 메소드로 엘리먼트 위치 지정
findElements 메소드로 여러 엘리먼트 위치 지정
링크 위치 지정
태그 이름으로 엘리먼트 위치 지정
CSS 셀렉터로 엘리먼트 위치 지정
XPath로 엘리먼트 위치 지정
텍스트로 엘리먼트 위치 지정
고급 CSS 셀렉터로 엘리먼트 위치 지정
jQuery 셀렉터로 엘리먼트 위치 지정
테이블의 행열에서 엘리먼트 위치 지정
테이블 자식 엘리먼트에서 엘리먼트 위치 지정

2장 셀레늄 API 사용
소개
엘리먼트 텍스트 검사
엘리먼트 속성 값 검사
엘리먼트 CSS 값 검사
고급 사용자 인터랙션 API를 사용한 마우스와 키보드 이벤트
엘리먼트 더블클릭 실행
드래그앤드롭 실행
자바스크립트 코드 실행
셀레늄 웹드라이버로 스크린샷 캡처
리모트 웹드라이버/그리드에서 스크린샷 캡처
브라우저 창 크기 최대화
드롭다운과 리스트 자동화 테스트
드롭다운과 리스트 옵션 검사
드롭다운과 리스트에서 선택한 옵션 검사
라디오 버튼과 라디오 그룹 자동화 테스트
체크박스 자동화 테스트

3장 테스트 흐름 제어
소개
묵시적 대기 시간으로 테스트 동기화
명시적 대기 시간으로 테스트 동기화
사용자 정의 대기 조건으로 테스트 동기화
엘리먼트의 존재 여부 확인
엘리먼트 상태 확인
name 속성으로 팝업 창 식별과 조작
title 속성으로 팝업 창 식별과 조작
콘텐츠로 팝업 창 식별과 조작
자바스크립트 알림 창 조작
확인 창 조작
프롬프트 박스 조작
프레임 식별과 조작
콘텐츠로 프레임 식별과 조작
IFRAME 작업

4장 데이터 주도 테스팅
소개
JUnit을 사용한 데이터 주도 테스트
TestNG를 사용한 데이터 주도 테스트
JUnit을 사용해 CSV 파일에서 테스트 데이터 가져오기
JUnit과 아파치 POI로 엑셀 파일에서 테스트 데이터 가져오기
JUnit과 JDBC로 데이터베이스에서 테스트 데이터 가져오기
NUnit으로 데이터 주도 테스트 만들기
MSTEST로 데이터 주도 테스트 만들기
Roo를 사용해 루비로 데이터 주도 테스트 만들기
파이썬으로 데이터 주도 테스트 만들기

5장 페이지 객체 모델 사용
소개
PageFactory 클래스를 사용한 페이지 객체와 엘리먼트의 매핑
PageFactory 클래스를 사용한 페이지 동작 제어
LoadableComponent 클래스의 활용
중첩된 페이지 객체 인스턴스의 구현
닷넷으로 구현하는 페이지 객체 모델
파이썬으로 구현하는 페이지 객체 모델
페이지 객체 젬을 사용해 루비로 구현하는 페이지 객체 모델

6장 셀레늄 확장
소개
웹 테이블 확장 클래스
jQueryUI 탭 위젯용 확장 기능
엘리먼트 속성 값을 설정하는 WebElement 확장 기능 구현
엘리먼트를 하이라이트하는 WebElement 확장 기능 구현
셀레늄 테스트에서 사용하는 객체 맵 생성
엘리먼트 캡처
이미지 비교

7장 모바일 브라우저에서 테스트
소개
아이폰/아이패드 시뮬레이터를 위한 iWebDriver 설치
아이폰/아이패드 기기를 위한 iWebDriver 설치
iWebDriver와 아이폰 드라이버를 사용한 웹 애플리케이션 테스트
셀레늄 테스트를 위한 안드로이드 에뮬레이터 설정
셀레늄 테스트를 위한 안드로이드 기기 설정
안드로이드 드라이버를 사용한 테스트 수행

8장 클라이언트 성능 테스트
소개
타이머를 사용한 응답 시간 측정
내비게이션 타이밍 API를 사용한 성능 측정
BrowserMob 프록시를 사용한 성능 측정
dynaTrace를 사용한 성능 측정
HttpWatch를 사용한 성능 측정
Watir-WebDriver-Performance를 사용한 클라이언트 측 성능 테스트

9장 HTML5 웹 애플리케이션 테스트
소개
HTML5 비디오 플레이어 테스트 자동화
HTML5 캔버스 엘리먼트에서 그리기 동작 테스트
로컬 스토리지 테스트
세션 스토리지 테스트
로컬 스토리지와 세션 스토리지 초기화

10장 테스트 과정 동영상 녹화
소개
몬테 미디어 라이브러리를 사용한 동영상 녹화
마이크로소프트 익스프레션 인코더 4 SDK를 사용한 동영상 녹화
카스트로를 사용한 동영상 녹화

11장 행위 주도 개발
소개
Cucumber-JVM과 셀레늄 웹드라이버를 사용한 행위 주도 개발
SpecFlow.NET과 셀레늄 웹드라이버를 사용한 행위 주도 개발
JBehave와 셀레늄 웹드라이버를 사용한 행위 주도 개발
Capybara, Cucumber, 셀레늄 웹드라이버를 사용한 행위 주도 개발

부록 A 셀레늄 웹드라이버와 다른 도구의 통합
소개
이클립스와 메이븐으로 시작하는 셀레늄 웹드라이버
intelliJ IDEA와 메이븐으로 시작하는 셀레늄 웹드라이버
앤트로 실행하는 셀레늄 웹드라이버 테스트
지속적인 통합을 위한 젠킨스 설정
젠킨스와 메이븐으로 실행하는 셀레늄 웹드라이버 테스트
젠킨스와 앤트로 실행하는 셀레늄 웹드라이버 테스트
마이크로소프트 비주얼스튜디오로 시작하는 셀레늄 웹드라이버
오토잇과 셀레늄 웹드라이버를 사용하는 자동화 테스트
시쿨리와 셀레늄 웹드라이버를 사용하는 자동화 테스트

부록 B 셀레늄 그리드를 사용한 분산 환경 테스트
소개
셀레늄 그리드
병렬 진행을 위한 셀레늄 그리드 설정
윈도우/인터넷 익스플로러 노드 추가
맥/파이어폭스 노드 추가
아이폰/iWebDriver 노드 추가
안드로이드 노드 추가
TestNG를 사용한 병렬 실행 셀레늄 스크립트
파이썬을 사용한 병렬 실행 셀레늄 스크립트
병렬 실행을 위한 셀레늄과 젠킨스 CI 서버 설정

본문중에서

이 책은 셀레늄 웹드라이버 API와 여러 가지 도구로 웹 애플리케이션을 테스트하는 고급 기술을 다룬다. 셀레늄 웹드라이버를 통해 데스크톱 웹 애플리케이션과 모바일 웹 브라우저, 분산 환경에서 이뤄지는 테스트를 효과적이고 효율적으로 수행할 수 있다. 데이터 주도 테스팅과 페이지 객체 모델, 객체 맵 같은 디자인 패턴은 테스트 자동화 프레임워크를 신뢰성 있고 유지 보수성 높은 코드로 만든다. Cucumber-JVM과 SpecFlow.NET, Capybara 같은 행위 주도 개발 프레임워크와 셀레늄 웹드라이버를 통합하는 방법도 배우게 된다. 셀레늄 웹드라이버는 필요에 따라 기능을 확장하기도 하는데, 90가지 이상의 예제를 통해 테스트 자동화 프레임워크를 구축하거나 현재 프레임워크를 한층 더 확장하는 방법까지 배울 수 있다.
('저자 서문' 중에서)

유닛 테스트의 유용성이나 방법론에 대해서는 이미 널리 알려졌지만, UI 테스트(특히 웹 애플리케이션)에 대한 자동화는 아직 다양한 시도를 반복하고 있다.
브라우저 제작사의 자바스크립트, CSS, HTML에 대한 표준화 노력 덕분에 브라우저 사이의 차이점이 많이 줄어들었다. 하지만 웹 애플리케이션이 성장하는 만큼 브라우저의 미세한 차이가 큰 영향을 미치는 경우가 발생한다. 이 차이를 잡아내기 위해서는 같은 기능에 대한 브라우저별 테스트가 필요하다.
2014년 현재 IE는 버전 11까지 나왔고 크롬이나 파이어폭스의 빠른 버전업 등으로 최신 브라우저가 쉬지 않고 쏟아지는 상황에서, 모든 브라우저에 대해 매번 같은 테스트를 수행하는 일은 그 자체로 많은 부담이 된다.
셀레늄이 처음 알려지기 시작한 2000년대 후반, 셀레늄은 파이어폭스 플러그인으로 사용자 입력을 재현하는 정도에 그쳤지만, 웹드라이버와 결합한 지금은 다양한 브라우저와 프로그래밍 언어, 강력한 API를 지원하며, 예전에 비해 놀랄만한 성장을 보여준다.
오늘날 셀레늄 웹드라이버는 그 어떤 것보다도 가장 나은 웹 UI 테스트 자동화 도구다.
이 책은 2017년 2월에 릴리스된 셀레늄 3.1.0 버전으로 업데이트했다. 다수의 윈도우 전용 기능이 삭제돼, 2장의 '윈도우 프로세스 제어', '셀레늄 웹드라이버로 윈도우 레지스트리 값 얻기', '셀레늄 웹드라이버로 윈도우 레지스트리 값 수정' 절도 그에 맞춰 삭제했다. 앞으로도 꾸준히 사랑 받는 책이 되길 바란다.
- 김유성

크로스플랫폼이나 멀티브라우저의 지원이 더 이상 웹 서비스에 특별한 가치를 부여하지 않는다. 브라우저 업데이트 같이 빈번하게 일어나는 사용자 환경의 변화 속에서 웹 애플리케이션의 품질 확보는 단순히 인력의 투입만으로 해결할 수 없는 현실과 마주한다.
셀레늄 웹드라이버는 구글 내의 여러 조직에서도 가장 인기 있는 웹 애플리케이션 자동화 프레임워크다. 비교적 오랜 역사를 통해 안정성과 확장성에서 인정받고 있으며, 커뮤니티 또한 매우 활발하다. 현재 담당하는 웹오피스 UI 테스트에서 효과와 위력을 실감하고 도구의 매력에 흠뻑 빠져들었는데, 지속적인 통합에 맞춰 반복적인 테스트로 자신감과 빠른 피드백을 얻을 수 있었다.
테스트 자동화에 이제 막 입문했거나 좌표 기반 자동화 도구의 한계에 부딪친 많은 사람에게 셀레늄 웹드라이버를 강력하게 권한다.
- 최근호
('옮긴이의 말' 중에서)

저자소개

언메시 건데차(Unmesh Gundecha) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 49권

소프트웨어 공학 석사학위를 받고 소프트웨어 개발과 테스팅 분야에서 10년의 경험을 쌓았다. 그동안 수행했던 자동화 프로젝트는 오픈소스나 상용 도구를 사용하면서 산업 표준에 맞추거나 인하우스(in-house) 개발, 자동화 프레임워크의 커스터마이징이 주를 이룬다. 현재는 인도의 서부 도시 푸네에 있는 다국적 기업에서 테스트 설계자로 일한다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

잉여력 확보를 위해 자동화 기술에 관심이 많지만, 여전히 잉여력에 갈증을 느끼는 개발자다. 전공 지식을 돈으로 바꿀 수 있다는 이야기에 아르바이트로 시작한 웹 프로그래밍이 어느새 웹 오피스 개발에까지 이르러, 현재 사이냅소프트에서 웹 오피스를 개발 중이다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

모바일, 웹 애플리케이션 테스트 엔지니어다. 애자일 개발 방식이 성공하기 위해서는 일정 수준 이상의 테스트 자동화가 반드시 필요하다고 믿고 있다. 개발과 테스트 프로세스에 관심이 많으며, 번역을 통해 자신이 가진 지식과 경험을 다른 사람들과 공유하면서 한국의 소프트웨어 테스트 문화에 조금이나마 공헌하고자 한다. 사이냅소프트의 훌륭한 개발자들과 이야기하는 것을 좋아하며 그들과 함께 웹 오피스를 만들고 있다. [Ext JS 반응형 웹 애플리케이션 개발](에이콘, 2013)을 번역했다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 320권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용