Selenium을 활용한 테스트 자동화 (W3C 표준 웹드라이버로 만드는 테스트 스크립트』 | 2 판)

Selenium을 활용한 테스트 자동화 (W3C 표준 웹드라이버로 만드는 테스트 스크립트』 | 2 판)

$30.36
Description
셀레늄 3에서 개선된 점을 살펴보고 셀레늄에서 자바 8 API를 활용하는 방법을 알아본다. 기본 사용법부터 조금 더 복잡한 사용자 액션까지 설명한 후, 리모트 웹드라이버와 셀레늄 그리드로 원격지의 브라우저에서 테스트를 실행하는 방법, Appium을 사용한 모바일 테스트 방법 등을 살펴본다. TestNG로 데이터 주도 테스트를 수행하는 방법도 설명한다.
저자

언메시건데차

UnmeshGundecha
애자일소프트웨어개발,테스트자동화,데브옵스방법론에16년이상의경력이있으며애자일,오픈소스,데브옵스에반젤리스트로서다양한도구와기술에대한경험이풍부하다.최고의오픈소스와상용소프트웨어도구를사용해웹,모바일플랫폼,API,CLI애플리케이션에서지속적통합과배포파이프라인을통해유지보수가능하면서반복가능한테스트자동화솔루션구축에대한경험이많다.
팩트출판사에서출간한『Selenium웹드라이버테스트자동화』(에이콘,2014)와『LearningSeleniumTestingToolswithPython』(2014)의저자기도하다.

목차

1장.웹드라이버와웹엘리먼트소개
__셀레늄테스트도구
____셀레늄웹드라이버
____셀레늄서버
____셀레늄IDE
__셀레늄2와셀레늄3의차이점
____브라우저제어
____더나은API
____개발자지원과고급기능
____Appium으로모바일앱테스트
__이클립스에서메이븐,TestNG로자바프로젝트설정
__웹엘리먼트
__웹페이지에서웹엘리먼트지정
____findElement()메서드
____findElements()메서드
____개발자도구로엘리먼트검사
______파이어폭스로엘리먼트와페이지검사
______크롬개발자도구로페이지와엘리먼트검사
____By지정자사용하기
______By.id()메서드
______By.name()메서드
______By.className메서드
______By.linkText메서드
______By.partialLinkText()메서드
______By.tagName()메서드
______By.xpath()메서드
______By.cssSelector()메서드
__웹엘리먼트에서할수있는여러가지동작
____엘리먼트속성가져오기
______getAttibute()메서드
______getText()메서드
______getCssValue()메서드
______getLocation()메서드
______getSize()메서드
______getTagName()메서드
____웹엘리먼트에서액션실행
______sendKeys()메서드
______clear()메서드
______submit()메서드
____웹엘리먼트의상태확인
______isDisplayed()메서드
______isEnabled()메서드
______isSelected()메서드
__요약
__질문
__더살펴보기

2장.웹브라우저를지원하는다양한웹드라이버
__파이어폭스드라이버
____게코드라이버사용
____헤드리스모드사용
____파이어폭스프로필
______파이어폭스확장기능추가
______프로필저장과불러오기
____파이어폭스환경설정
______환경설정다루기
______고정설정의이해
__크롬드라이버
____헤드리스모드사용
____모바일에뮬레이션으로모바일웹애플리케이션테스트
____크롬확장기능추가
__인터넷익스플로러드라이버
____IE브라우저를사용하는테스트스크립트작성
____IEDriver기능이해
__Edge드라이버
____Edge브라우저를사용하는테스트스크립트작성
__사파리드라이버
____사파리용테스트스크립트작성
__요약
__질문
__더살펴보기

3장.자바8기능사용
__자바8스트림API소개
____Stream.filter()
______Stream.sort()
______Stream.map()
______Stream.collect()
______Stream.min()과Stream
______Stream.count()
__셀레늄웹드라이버와스트림API사용
____웹엘리먼트필터링과개수세기
____엘리먼트속성필터링
____Map함수로엘리먼트의텍스트값추출
____필터링한엘리먼트에작업실행
__요약
__질문
__더살펴보기

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

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

6장.웹드라이버이벤트의이해
__eventFiringWebDriver와eventListener클래스
__EventListener인스턴스생성
____WebDriverEventListener인터페이스구현
____AbstractWebDriverEventListener상속구현
____WebDriver인스턴스생성
____EventFiringWebDriver와EventListener인스턴스생성
____EventFiringWebDriver에EventListener등록
____이벤트발생과확인
____여러개의EventListener등록
__WebDriver에서제공하는이벤트리스너
____WebElement값변경이벤트
____WebElement클릭이벤트
____WebElement검색jator이벤트
____브라우저뒤로가기이벤트
____브라우저앞으로가기이벤트
____navigateTo이벤트
____스크립트실행이벤트
____예외처리
____EventFiringWebDriver에등록한EventListener제거
____접근성테스트수행
____페이지성능지표측정
__요약
__질문
__더살펴보기

7장.리모트웹드라이버살펴보기
__리모트웹드라이버소개
____셀레늄단독서버
______셀레늄단독서버다운로드
______서버실행
____리모트웹드라이버클라이언트
______리모트웹드라이버서버를위한테스트스크립트수정
______리모트웹드라이버를통한파이어폭스사용법
______리모트웹드라이버를통한인터넷익스플로러사용법
__JSON와이어프로토콜
__요약
__질문
__더살펴보기

8장.셀레늄그리드
__셀레늄그리드알기
__허브의역할
__노드의역할
__셀레늄그리드를위한테스트스크립트로수정
____미등록환경에대한요청
____노드가작업중일때요청큐잉하기
____조건에맞는노드가두개인경우
__셀레늄그리드설정
____노드설정파라미터
______지원브라우저설정
______노드타임아웃설정
______브라우저인스턴스의생성제한설정
______노드의자동등록
______노드의상태체크
______노드의등록해제
______브라우저타임아웃설정
____허브설정파라미터
____테스트환경이준비될때까지대기하기
____CapabilityMatcher사용자정의
____새로운세션을만들때사용하는WaitTimeout
____셀레늄그리드환경을설정하는다른방법
__클라우드기반셀레늄그리드에서크로스브라우저테스트
__요약
__질문
__더살펴보기

9장.페이지객체패턴
__워드프레스블로그를대상으로테스트케이스만들기
____테스트케이스1:새로운글등록
____테스트케이스2:글지우기
____테스트케이스3:워드프레스블로그의글개수세기
__페이지객체패턴
____@FindBy어노테이션
____PageFactory의활용
__페이지객체설계를위한고려사항
____서비스제공자관점에서웹페이지바라보기
____부가서비스제공
____페이지객체에서또다른페이지객체의사용
______AddNewPost페이지객체
______AllPostsPage페이지객체
____사용자액션이아닌서비스로접근하는메서드활용법
____초기화이후의웹엘리먼트식별
____페이지에특화된부분분리
____Loadable컴포넌트
__워드프레스테스트실습
____테스트에사용하는페이지객체설명
______AdminLoginPage
______AllPostsPage
______AddNewPostPage
______EditPostPage
______DeletePostPage
____테스트케이스작성
______게시글추가테스트
______게시글수정테스트
______게시글삭제테스트
______게시글세기테스트
__요약
__질문
__더살펴보기

10장.Appium을이용한iOS와안드로이드테스트
__다양한형태의모바일애플리케이션
__사용가능한소프트웨어도구
__Appium을이용한iOS와안드로이드테스트자동화
____iOS애플리케이션테스트자동화
____안드로이드애플리케이션테스트자동화
____Appium사용준비
______Xcode설정
______안드로이드SDK설치
______안드로이드에뮬레이터생성
____Appium설치
____iOS자동화
____안드로이드자동화
____클라우드기반의실제기기테스트
__요약
__질문
__더살펴보기

11장.TestNG로수행하는데이터주도테스트
__데이터주도테스트
__스위트파라미터를사용한파라미터화테스트
__데이터제공자와파라미터화테스트
____CSV파일에서데이터읽어오기
____엑셀파일에서데이터읽어오기
__요약
__질문
__더살펴보기
연습문제

출판사 서평

◈이책에서다루는내용◈

◆셀레늄3소개및업데이트된기술비교
◆다양한모바일과데스크톱브라우저플랫폼에서의셀레늄3사용방법
◆드래그앤드롭같은고급액션과웹페이지의액션빌더사용방법
◆자바8API를셀레늄3와함께사용하는방법
◆리모트웹드라이버의개념과사용방법
◆셀레늄그리드로크로스브라우저테스트와분산테스트실행
◆액션API로다양한키보드와마우스액션수행

◈이책의대상독자◈

웹애플리케이션테스트스위트자동화를만들려는품질보증/테스트전문가,테스트엔지니어,소프트웨어개발자,웹애플리케이션개발자에게완벽한안내서다.선행학습으로자바프로그래밍에대한기본적인이해가필요하지만웹드라이버나셀레늄에대한지식은없어도된다.이책을다읽고나면테스트자동화작성에필요한웹드라이버의지식을충분히쌓을수있을것이다.

◈이책의구성◈

1장,‘웹드라이버와웹엘리먼트’에서는셀레늄의개념과기능을먼저살펴본후,웹드라이버가웹페이지를인식하는방법으로빠르게넘어간다.웹드라이버의웹엘리먼트에대해설명하고,웹페이지의웹엘리먼트를지정해기본적인액션을수행하는방법을알아본다.
2장,‘웹브라우저를지원하는다양한웹드라이버’에서는FirefoxDriver와IEDriver,ChromeDriver같은다양한웹드라이버구현체를설명한다.헤드리스모드,모바일에뮬레이션,사용자프로필사용등으로브라우저테스트환경을설정하는방법을살펴본다.
3장,‘자바8기능사용’에서는웹엘리먼트리스트를스트림API나람다표현식같은자바8의새로운기능으로다루는방법을살펴본다.
4장,‘웹드라이버기능알아보기’에서는웹페이지스크린샷찍기,자바스크립트실행,쿠키다루기,윈도우프레임다루기등의웹드라이버고급기능을알아본다.
5장,‘고급사용자인터랙션’에서는웹드라이버의고급기능을더자세히알아본다.하나의프레임에있는엘리먼트를드래그앤드롭으로다른프레임으로옮기기,웹엘리먼트에서오른쪽버튼클릭같은흥미로운예제를다룬다.
6장,‘웹드라이버이벤트의이해’에서는웹드라이버관점에서의이벤트처리를살펴본다.웹엘리먼트의값변경,브라우저의뒤로가기,스크립트실행완료와같은이벤트를살펴본다.
7장,‘리모트웹드라이버살펴보기’에서는리모트웹드라이버와셀레늄단독서버를사용해원격기기에서테스트를실행하는방법을살펴본다.
8장,‘셀레늄그리드’에서는셀레늄에서가장중요하고흥미로운기능인셀레늄그리드를살펴본다.
9장,‘페이지객체패턴’에서는페이지객체패턴으로잘알려진설계패턴을다룬다.
10장,‘Appium을이용한iOS와안드로이드테스트’에서는iOS와안드로이드플랫폼에서Appium을이용해자동화테스트스크립트에서웹드라이버를사용하는방법을살펴본다.
11장,‘TestNG로수행하는데이터주도테스트’에서는TestNG로데이터주도테스트기법을살펴본다.