책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788960778191
· 쪽수 : 292쪽
· 출판일 : 2016-01-29
책 소개
목차
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 앱 테스트
요약