간편결제, 신용카드 청구할인
북피니언 롯데카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (18,000원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (20,250원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (20,930원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,000원)
(최대할인 4만원 / 2만원 이상 결제)
Close

Selenium WebDriver 길들이기 : 구글과 페이스북으로 만드는 테스트 스크립트

원제 : Selenium WebDriver Practical Guide
소득공제

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

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

25,000원

  • 22,500 (10%할인)

    1,250P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서(308)

    • 사은품(1)

    책소개

    구글과 페이스북으로 만드는 테스트 스크립트

    구글 검색 페이지를 대상으로 테스트 스크립트를 작성하는 실용적인 예제로 셀레늄 웹드라이버(Selenium WebDriver) API 사용법을 배워나간다. 기본 사용법을 익히고, 조금 더 복잡한 사용자 액션으로 확장해 나간다. 웹드라이버를 바꿔가며 하나의 스크립트로 다양한 브라우저에서 테스트를 수행하는 방법과 리모트 웹드라이버(RemoteWebDriver)로 다양한 OS에서 테스트를 실행하는 방법, Appium을 사용한 모바일 테스트 방법 등을 알아본다.

    출판사 서평

    ★ 이 책에서 다루는 내용 ★

    ■ 셀레늄 웹드라이버의 기본 구조와 셀레늄 1의 한계 극복 과정
    ■ 셀레늄 그리드 설정과 사용법
    ■ 웹 엘리먼트를 찾는 다양한 메커니즘
    ■ 드래그앤드롭, 더블클릭, 마우스 우클릭과 같은 고급 액션 실행과 단일 액션 여러 개를 하나로 만드는 액션 빌더
    ■ 쿠키 핸들링, 스크린샷 캡처, 브라우저 이동 등 웹드라이버에서 제공하는 고급 기능
    ■ Firefox Driver, IE Driver, Chrome Driver 같은 다양한 웹드라이버 구현체 이해
    ■ 웹드라이버 이벤트 리스너
    ■ 페이지 오브젝트 패턴을 사용한 효과적인 자동화 프레임워크 구축
    ■ 웹드라이버의 최신 기능 활용법

    ★ 이 책의 대상 독자 ★

    이 책은 웹 애플리케이션 테스트 자동화를 꿈꾸는 품질 관리자나 테스트 전문가, 웹 애플리케이션 개발자에게 훌륭한 가이드다. 기본적으로 자바 언어를 이해할 수 있어야 하겠지만, 웹드라이버나 셀레늄 1의 배경 지식이 필요한 건 아니다. 이 책을 끝마칠 때 즈음엔, 테스트 자동화에 필요한 웹드라이버의 방대한 지식을 습득할 수 있다.

    ★ 이 책의 구성 ★

    1장, 웹드라이버와 웹엘리먼트 소개
    셀레늄의 역사를 간략하게 알아보면서 셀레늄 1과 셀레늄 2의 차이점을 설명한다. 웹페이지를 인식하는 방식에서 웹드라이버와 차이점을 설명한 다음엔, 웹드라이버에서 말하는 웹엘리먼트가 무엇인지 알아본다. 웹엘리먼트를 지정하고, 찾아낸 웹엘리먼트를 기반으로 간단한 액션을 실행해보면서 마무리한다.

    2장, 고급 사용자 인터랙션
    조금 더 심도 있게 웹드라이버로 할 수 있는 고급 액션을 알아본다. 웹페이지에서 드래그앤드롭으로 엘리먼트를 다른 프레임으로 옮기거나 웹엘리먼트에서 우클릭하는 액션을 수행하는 등 흥미로운 예제를 많이 만날 수 있다.

    3장, 웹드라이버 기능 알아보기
    웹페이지를 스크린샷으로 기록하거나 자바스크립트의 실행, 쿠키와 프록시를 다루는 웹드라이버의 특수 기능을 다룬다.

    4장, 웹 브라우저를 지원하는 다양한 웹드라이버
    FirefoxDriver와 IEDriver, ChromeDriver 같은 다양한 웹드라이버 구현체에 대해 설명한다. 웹드라이버는 1장 '웹드라이버와 웹엘리먼트 소개'에도 나와 있지만, 사람들이 많이 사용하는 웹 브라우저에 대응할 수 있도록 대부분의 브라우저 구현체를 가지고 있다.

    5장, 웹드라이버 이벤트의 이해
    이벤트 핸들링과 관련된 웹드라이버의 기능을 다룬다. 웹엘리먼트 값의 변경이나 브라우저의 뒤로 가기, 스크립트 실행의 완료 등이 여기서 말하는 이벤트에 해당한다.

    6장, 파일 입출력 핸들링
    웹드라이버에서 제공하는 파일 핸들링 기능을 설명한다. 파일 복사와 업로드, 파일 삭제가 6장에서 다루는 주된 내용이다.

    7장, Exploring RemoteWebDriver와 WebDriverBackedSelenium
    웹드라이버에서 가장 중요한 내용 두 가지를 다룬다. RemoteWebDriver와 WebDriverBackedSelenium인데, 원격지 PC에 설치된 웹드라이버를 통해 테스트를 수행하려면, RemoteWebDriver 클래스를 사용해 명령어를 처리해야 한다. 한편, 웹드라이버로 많이 하는 테스트 중 하나는 브라우저 호환성 테스트다. WebDriverBackedSelenium에 관한 내용이 7장의 나머지 부분을 차지한다. 웹드라이버를 사용하고 싶지만, 아직 많은 테스트 스크립트가 셀레늄 1로 작성되어있을 때 지금 나오는 내용이 유용하다. 마지막에는, 셀레늄 1의 API를 사용하는 기존 코드를 셀레늄 API로 마이그레이션한다.

    8장, 셀레늄 그리드
    흔히 그리드라고 부르는, 셀레늄에서 가장 흥미롭고 중요한 기능 중 하나를 배운다. 그리드를 사용하면 자동화 시나리오를 서버로 보내 원하는 환경에서 테스트를 수행할 수 있다. 대상 플랫폼은 OS와 브라우저의 종류, 버전을 명시하는 것으로 알 수 있다. 원하는 환경의 노드를 등록했고 사용 가능한 상태로 만들면, 서버는 노드에 테스트 수행을 지시할 수 있다. 이제 노드는 자동화 테스트에 대한 책임을 지고 시나리오대로 테스트한 후 결과를 서버에 보낸다.

    9장, PageObject 설계 패턴
    페이지 오브젝트 패턴으로 잘 알려진 설계 패턴을 다룬다. 입증된 방식의 설계 기법을 통해 자동화 프레임워크 구축을 더 수월하게 할 수 있다.

    10장, iOS와 Android 앱 테스트
    웹드라이버로 작성한 스크립트를 사용해 iOS와 안드로이드 애플리케이션을 테스트하는 방법을 알아본다. 10장에서는 비교적 최근에 나온 도구인 Appium 사용법도 다룬다.

    목차

    1장 웹드라이버와 웹엘리먼트 소개
    셀레늄의 역사
    __셀레늄 1의 별칭. 셀레늄 리모트 컨트롤 또는 셀레늄 RC
    __셀레늄 2의 별칭. 웹드라이버 또는 셀레늄 웹드라이버
    __셀레늄 1과 셀레늄 2의 차이점
    ____브라우저 핸들링
    ____친숙한 API의 사용
    ____모바일 앱의 지원
    ____개발자 지원과 고급 기능
    이클립스 프로젝트 설정
    웹엘리먼트
    __웹 페이지에서 웹엘리먼트 지정하기
    ____findElement( ) 메소드
    ____findElements( ) 메소드
    ____파이어버그
    ____By 지정자 사용하기
    ____By.partialLinkText( ) 메소드
    __웹엘리먼트에서 할 수 있는 여러 가지 동작
    ____getAttibute( ) 메소드
    ____sendKeys( ) 메소드
    ____clear( ) 메소드
    ____submit( ) 메소드
    ____getCssValue( ) 메소드
    ____getLocation( ) 메소드
    ____getSize( ) 메소드
    ____getText( ) 메소드
    ____getTagName( ) 메소드
    ____isDisplayed( ) 메소드
    ____isEnabled( ) 메소드
    ____isSelected( ) 메소드
    요약

    2장 고급 사용자 인터랙션
    액션을 만들어 실행하기
    __마우스 인터랙션
    ____moveByOffset 액션
    ____click 액션
    ____웹엘리먼트를 사용하는 click 액션
    ____clickAndHold 액션
    ____웹엘리먼트를 사용하는 clickAndHold 액션
    ____release 액션
    ____웹엘리먼트를 사용하는 release 액션
    ____moveToElement 액션
    ____dragAndDropBy 액션
    ____doubleClick 액션
    ____웹엘리먼트를 사용하는 doubleClick 액션
    ____웹엘리먼트를 사용하는 contextClick 액션
    ____현재 위치에서 contextClick 액션
    __키보드 인터랙션
    ____KeyDown, KeyUp 액션
    ____sendKeys( ) 메소드
    요약

    3장 웹드라이버 기능 알아보기
    브라우저 환경 설정
    스크린샷 캡처
    윈도우창과 iFrame 지정하기
    __윈도우창 전환
    __프레임 간 전환
    __알림창 핸들링
    브라우저 내비게이션 제어
    로딩 중인 웹엘리먼트 기다리기
    __묵시적 대기 시간
    __명시적 대기 시간
    쿠키 핸들링
    요약

    4장 웹 브라우저를 지원하는 다양한 웹드라이버
    파이어폭스 드라이버
    __파이어폭스 프로필
    ____파이어폭스 익스텐션 추가하기
    ____프로필 저장과 불러오기
    __파이어폭스 환경 설정
    ____환경 설정 다루기
    ____고정설정의 이해
    __파이어폭스 바이너리
    ____여러 버전의 파이어폭스 설치
    __InternetExplorerDriver
    ____InternetExplorerDriver 설치
    ____IE 브라우저를 사용하는 테스트 스크립트 작성
    ____IEDriver 서버 실행
    ____IEDriver로 브라우저에서 할 수 있는 여러 가지 설정
    __ChromeDriver
    ____ChromeDriver 설치
    ____크롬 브라우저를 사용하는 테스트 스크립트 작성
    ____ChromeOptions 사용하기
    __SafariDriver
    ____사파리 브라우저를 사용하는 테스트 스크립트 작성
    __OperaDriver
    ____OperaDriver 설치
    ____오페라 브라우저를 사용하는 테스트 스크립트 작성
    요약

    5장 웹드라이버 이벤트의 이해
    EventFiringWebDriver와 EventListener 클래스
    EventListener 인스턴스 생성
    __WebDriverEventListener 인터페이스 구현
    __AbstractWebDriverEventListener 상속 구현
    __WebDriver 인스턴스 생성
    __EventFiringWebDriver와 EventListener 인스턴스 생성
    __EventFiringWebDriver와 EventListener 등록
    __이벤트 발생과 확인
    ____여러 개의 EventListener 등록
    WebDriver에서 제공하는 이벤트 리스너
    __WebElement 값 변경 이벤트
    __WebElement 클릭 이벤트
    __WebElement 찾기 이벤트
    __브라우저 뒤로 가기 이벤트
    __브라우저 앞으로 가기 이벤트
    __navigateTo 이벤트
    __스크립트 실행 이벤트
    __예외 처리
    __EventFiringWebDriver에 등록한 EventListener 제거
    요약

    6장 파일 입출력 핸들링
    FileHandler 클래스
    __원하는 디렉터리로 파일 복사
    __확장자 이름으로 원하는 파일 복사
    __새로운 디렉터리 생성
    __파일 또는 디렉터리 삭제
    __IsZipped( ) 메소드
    __makeExecutable( ) 메소드
    __makeWritable( ) 메소드
    __파일 내용 읽기
    __canExecute( ) 메소드
    TemporaryFilesystem 클래스 알기
    __디폴트 임시 파일 시스템
    __DefaultTmpFS에 새로운 디렉터리 생성
    __임시 디렉터리 삭제
    __다수의 파일 삭제
    __임시 파일 시스템 변경
    Zip 클래스
    __디렉터리 압축
    __디렉터리 압축 해제
    요약

    7장 RemoteWebDriver와 WebDriverBackedSelenium
    RemoteWebDriver 소개
    __RemoteWebDriver 서버
    ____RemoteWebDriver 서버 다운로드
    ____서버 실행
    __RemoteWebDriver 클라이언트
    ____RemoteWebDriver 서버를 위한 테스트 스크립트 수정
    __RemoteWebDriver를 통한 Firefox 브라우저 사용법
    __RemoteWebDriver를 통한 IE 브라우저 사용법
    __RemoteWebDriver를 통한 Chrome 브라우저 사용법
    __RemoteWebDriver 클라이언트의 스크린샷 기능
    JSON 와이어 프로토콜
    클라이언트 라이브러리 구현
    WebDriverBackedSelenium 알아보기
    요약

    8장 셀레늄 그리드
    셀레늄 그리드 알기
    허브의 역할
    노드의 역할
    셀레늄 그리드를 위한 테스트 스크립트로 수정
    __미등록 환경에 대한 요청
    __노드가 작업 중일 때 요청 큐잉하기
    __같은 환경의 노드에서 선택 우선권
    셀레늄 그리드 설정
    __노드 설정 파라미터
    ____지원 브라우저 설정
    ____노드 타임아웃 설정
    ____브라우저 인스턴스의 생성 제한 설정
    ____노드의 자동 등록
    ____노드의 상태 체크
    ____노드의 등록 해제
    ____브라우저 타임아웃 설정
    __허브 설정 파라미터
    ____테스트 환경이 준비될 때까지 대기하기
    ____CapabilityMatcher 사용자정의
    ____새로운 세션을 만들 때 사용하는 WaitTimeout
    __셀레늄 그리드와 노드의 환경 설정 - 제목 다시!!!
    요약

    9장 PageObject 설계 패턴
    워드프레스 블로그를 대상으로 테스트 케이스 만들기
    __테스트 케이스 1: 새로운 글 등록하기
    __테스트 케이스 2: 글 지우기
    __테스트 케이스 3: 전체 게시글 카운트하기
    페이지 오브젝트 패턴이란
    __@FindBy 애노테이션
    __PageFactory의 활용
    PageObject 설계를 위한 고려 사항
    __서비스 제공자 관점에서 웹 페이지 바라보기
    __부가 서비스 제공
    __PageObject에서 또 다른 PageObject의 사용
    ____AddNewPost 페이지 오브젝트
    ____AllPostsPage 페이지 오브젝트
    __사용자 액션이 아닌 서비스로 접근하는 메소드 활용법
    __초기화 이후의 웹엘리먼트 식별
    __페이지에 특화된 부분 분리
    Loadable 컴포넌트
    워드프레스 테스트 실습
    __테스트에 사용하는 PageObject 설명
    ____AdminLoginPage 페이지 오브젝트
    ____AllPostsPage 페이지 오브젝트
    ____AddNewPostPage 페이지 오브젝트
    ____EditPostPage 페이지 오브젝트
    ____DeletePostPage 페이지 오브젝트
    __테스트 케이스 작성
    ____게시글 추가 테스트
    ____게시글 수정 테스트
    ____게시글 삭제 테스트
    ____게시글 카운트 테스트
    요약

    10장 iOS와 Android 앱 테스트
    모바일 앱의 서비스 방식
    다양한 지원 도구
    Appium을 사용하는 앱 테스트 자동화
    __iOS 앱 테스트 자동화
    __Android 앱 테스트 자동화
    __Appium 사용하기
    ____엑스코드 셋업
    ____Android SDK 설치
    __Appium 설치
    __iOS 앱 테스트
    __Android 앱 테스트
    요약

    본문중에서

    이 책은, 셀레늄 2라고 널리 알려진 셀레늄 웹드라이버(Selenium WebDriver)에 관한 책이다. 웹드라이버는 개발자와 QA 엔지니어가 사용하는 UI 자동화 도구로써 각기 다른 브라우저에서 웹 애플리케이션 테스트를 지원한다. 독자는 기본적인 프로그래밍 지식이 필요한데, 예제 코드를 통해서 웹드라이버의 다양한 기능을 소개하고 있기 때문이다. 이 책은 실무에서도 언제든 참고할 수 있는 좋은 참고서이다.
    (/ '지은이의 말' 중에서)

    자동으로 실제 브라우저에서 실행할 웹 애플리케이션 테스트를 계획한다면, 시작점은 사실상의 표준인 Selenium WebDriver가 될 것이다. 이제는 가상화와 클라우드 서비스 시대를 맞아, 모바일을 포함한 다양한 OS와 브라우저에서 Selenium WebDriver 테스트 환경을 제공해주는 서비스 업체들도 등장하고 있다. 발전해가는 환경에서 RemoteWebDriver, Selenium Grid와 같은 Selenium WebDriver 기반 지식을 알고 자동화 테스트를 구성한다면, 더 효과적인 테스트가 되리라 본다.
    (/ '옮긴이의 말:김유성' 중에서)

    구글 트렌드(google trends)를 통해 확인한 Selenium WebDriver의 인기는 아직도 여전하다. 그도 그럴 것이 웹(Web)뿐만 아니라 안드로이드와 iOS 모바일 플랫폼에서도 Appium, Selendroid 등의 지원을 받아 테스트하는 것이 가능한데, 사용자의 니즈를 이만큼 충족시켜주는 오픈 소스 테스트 도구가 또 있을까 싶을 정도로 Selenium WebDriver는 확장성 있다. 이제 Selenium WebDriver는 웹과 모바일 앱 공식 테스트 자동화 도구라 부르기에 손색이 없다. 다가오는 웨어러블 시대에도 가장 막강한 테스트 자동화 도구 중 하나로 자리매김하지 않을까 한다.
    (/ '옮긴이의 말:최근호' 중에서)

    저자소개

    사티야 아바사알라(Satya Avasarala) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 1종
    판매수 34권

    개발과 테스트 자동화 분야에 풍부한 경험을 가지고 있다. 전산학 엔지니어로 지금까지 수년간 웹드라이버를 사용해 자동화 프레임워크를 구축해왔다. 오라클과 야후, VMWare, REA 그룹 같은 다양하고 규모가 큰 소프트웨어 회사에서 일한 경력이 있다. 서비스 지향 아키텍처(Service Oriented Architectural) 설계와 비즈니스 인텔리전스(Business Intelligence)에도 많은 관심이 있는데, 오라클에서 인증한 서비스 지향 아키텍처 인프라 설계 전문가인 동시에 비즈니스 인텔리전스 구축 전문가이기도 하다.

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

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

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

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

    이 상품의 시리즈

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

    펼쳐보기

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

      리뷰

      10.0 (총 0건)

      구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

      리뷰쓰기

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      0.0

      교환/환불

      교환/환불 방법

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

      교환/환불 가능 기간

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

      교환/환불 비용

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

      교환/환불 불가사유

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

      소비자 피해보상

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

      기타

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

      배송안내

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

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

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

      • 배송비

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

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

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

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

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

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

      업체직접배송상품 구매

      업체별 상이한 배송비 적용