SlideShare a Scribd company logo
Selenium
테스트 자동화 프레임워크
목차
• Testing Pyramid
• Automated Test
• 자동화 테스팅 지원 프레임워크
• Selenium 작동 방식
• Selenium 이용 방법
• 사용 소감
Testing Pyramids
테스팅에 요구되는 실행시간
테스팅이 다루는 범위
비결정적
테스팅의 개수
출처 :
https://logcorner.com/asp-net-core-2-0-web-api-unit-testing/
Test Automation
“Test automation is critical for continuous delivery and continuous testing”
지속적인 테스트 및 지속적인 테스트를 위해서는 테스트 자동화가 필수적입니다.
https://martinfowler.com/articles/practical-test-pyramid.html
Testing Framework
Selenium 소개
https://www.seleniumhq.org
“Selenium automates browsers”
- 자동화된 브라우저라고 소개하고 있습니다.
- 오픈소스기반이므로 무료로 사용이 가능 합니다!
Selenium WebDriver
- 다양한 브라우저 기반으로 한 정교한 자동화된 테스트를 하고 싶을 때 사용
Selenium IDE
- 파이어폭스 환경에서 간단한 테스트를 하고 싶을 때 사용
아래 2가지 중 하나를 선택하여 사용이 가능 합니다.
Selenium WebDriver
프로그래밍언어에서
테스트에 사용할 브라우저의 웹드라이버를 통해 테스트가 가능하다.
테스트
스크립트
Selenium
Driver
(API)
브라우저
WebDriver
Chrome
Firefox
Edge
Safari
Opera
IE
WebDriver 특징
다양한 운영체제에서 이용이 가능하다.
Windows , Linux , MacOS
지원하는 프로그래밍언어가 다양하다.
Java , PHP , C# , Python , Groovy , Ruby , Perl..
테스트 스크립트 작성을 한 후 웹드라이버만 변경하여
다양한 브라우저를 통한 테스트가 가능하다.
지원하는 브라우저도 다양하다.
IE , Firefox , Opera , Safari , Chrome
다양한 테스트 프레임워크와 연동이 가능하다.
Junit , Nunit , FitNesse..
이를 통한 브라우저 호환성 체크와 서비스에 대한 결함 등을 함께 확인할 수 있다.
Installation Selenium & WebDriver
Installation Selenium & WebDriver
Installation ChromeDriver
Installation Testing Framework
Selenium Driver 설정
Selenium Test – Navigate
브라우저에 URL 이동과 관련한 명령들을 수행할 수 있도록 제공해주는 인터페이스 입니다.
Navigate WebDriver
Browser
Driver
Real
Browser
Selenium Test – Find HtmlDocument
Selenium Test – Find HtmlDocument
아래의 방식으로써
Html Document 내에 존재하는 Element 들에 대한 접근이 가능합니다.
• Find element by Name
• Find element by Link Text
• Find element by Tag Name
• Find element by Class
• Find element by Css Selector
• Find element by Id
• Find element by XPath
Selenium Test – Click Element
Selenium Test – Input Element
Selenium Test – Assert Element
Selenium Test – Automated Naver Login
Selenium Test – Screen Capture
Selenium Test – Screen Capture
Selenium Test – Waiting Response
Selenium Test – Handle Windows
Headless Browser?
• 브라우저를 화면에 실행하지 않고도 브라우저와 동일하게
웹 탐색이 가능하도록 지원해줌
속도가 빠르고 가벼움!!
대표적인 브라우저
Firefox headless mode
Headless Chrome
PhantomJS
ZombieJS
HtmlUnit
Splash
Selenium 사용 소감
브라우저를 핸들링 쉽다?!
복잡하게 얽혀져 있는 웹서비스인 경우 의미가 있을 것 같다
예) 응답 지연으로 인한 SNS 기능 장애 발생 시 신속한 대응 !!
platform.twitter.com/widgets.js
facebook.com/plugins/like.php
NaverPay 서버 장애로 인한
NaverPay 결제 건 취소 불가 장애 시 신속한 알림 및 대응이 가능 !!
매쉬업 서비스의 경우 E2E 테스트가 중요하지 않을까 생각해봅니다.
Selenium 사용 소감
기대하고 있는 종단간 서비스의 속도 체크 및 장애 판정이 가능!
Edge 나 IE 의 경우 Xpath 등의 Element 선택하는 부분이
Chrome 또는 Firefox 와 다르거나 환경 설정이 다소 복잡하다!!
Selenium 기반 기술 등으로
관제 솔루션 사업을 하는 곳들이 많음
사이트 크롤링 용도로도 사용하기도 함
예) 경쟁사 최신정보 파악

More Related Content

Similar to Selenium 에 대해서 알아보기

Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngineSol Kim
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
SangIn Choung
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략
Ji-Woong Choi
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
Jongwon Kim
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
Jongwon Kim
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
NAVER D2
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
Sungmin Kim
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
SangIn Choung
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
Amazon Web Services Korea
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST_NHNent
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
Amazon Web Services Korea
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
NAVER D2
 
[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기
NAVER D2
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
Junsu Kim
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
태준 문
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
Jaehoon Oh
 
Maven
MavenMaven
Maven
Suan Lee
 

Similar to Selenium 에 대해서 알아보기 (20)

Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngine
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
 
Cygnus unit test
Cygnus unit testCygnus unit test
Cygnus unit test
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
 
Python andselenium
Python andseleniumPython andselenium
Python andselenium
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
 
[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
 
Maven
MavenMaven
Maven
 

Selenium 에 대해서 알아보기

  • 2. 목차 • Testing Pyramid • Automated Test • 자동화 테스팅 지원 프레임워크 • Selenium 작동 방식 • Selenium 이용 방법 • 사용 소감
  • 3. Testing Pyramids 테스팅에 요구되는 실행시간 테스팅이 다루는 범위 비결정적 테스팅의 개수 출처 : https://logcorner.com/asp-net-core-2-0-web-api-unit-testing/
  • 4. Test Automation “Test automation is critical for continuous delivery and continuous testing” 지속적인 테스트 및 지속적인 테스트를 위해서는 테스트 자동화가 필수적입니다. https://martinfowler.com/articles/practical-test-pyramid.html
  • 6. Selenium 소개 https://www.seleniumhq.org “Selenium automates browsers” - 자동화된 브라우저라고 소개하고 있습니다. - 오픈소스기반이므로 무료로 사용이 가능 합니다! Selenium WebDriver - 다양한 브라우저 기반으로 한 정교한 자동화된 테스트를 하고 싶을 때 사용 Selenium IDE - 파이어폭스 환경에서 간단한 테스트를 하고 싶을 때 사용 아래 2가지 중 하나를 선택하여 사용이 가능 합니다.
  • 7. Selenium WebDriver 프로그래밍언어에서 테스트에 사용할 브라우저의 웹드라이버를 통해 테스트가 가능하다. 테스트 스크립트 Selenium Driver (API) 브라우저 WebDriver Chrome Firefox Edge Safari Opera IE
  • 8. WebDriver 특징 다양한 운영체제에서 이용이 가능하다. Windows , Linux , MacOS 지원하는 프로그래밍언어가 다양하다. Java , PHP , C# , Python , Groovy , Ruby , Perl.. 테스트 스크립트 작성을 한 후 웹드라이버만 변경하여 다양한 브라우저를 통한 테스트가 가능하다. 지원하는 브라우저도 다양하다. IE , Firefox , Opera , Safari , Chrome 다양한 테스트 프레임워크와 연동이 가능하다. Junit , Nunit , FitNesse.. 이를 통한 브라우저 호환성 체크와 서비스에 대한 결함 등을 함께 확인할 수 있다.
  • 14. Selenium Test – Navigate 브라우저에 URL 이동과 관련한 명령들을 수행할 수 있도록 제공해주는 인터페이스 입니다. Navigate WebDriver Browser Driver Real Browser
  • 15. Selenium Test – Find HtmlDocument
  • 16. Selenium Test – Find HtmlDocument 아래의 방식으로써 Html Document 내에 존재하는 Element 들에 대한 접근이 가능합니다. • Find element by Name • Find element by Link Text • Find element by Tag Name • Find element by Class • Find element by Css Selector • Find element by Id • Find element by XPath
  • 17. Selenium Test – Click Element
  • 18. Selenium Test – Input Element
  • 19. Selenium Test – Assert Element
  • 20. Selenium Test – Automated Naver Login
  • 21. Selenium Test – Screen Capture
  • 22. Selenium Test – Screen Capture
  • 23. Selenium Test – Waiting Response
  • 24. Selenium Test – Handle Windows
  • 25. Headless Browser? • 브라우저를 화면에 실행하지 않고도 브라우저와 동일하게 웹 탐색이 가능하도록 지원해줌 속도가 빠르고 가벼움!! 대표적인 브라우저 Firefox headless mode Headless Chrome PhantomJS ZombieJS HtmlUnit Splash
  • 26. Selenium 사용 소감 브라우저를 핸들링 쉽다?! 복잡하게 얽혀져 있는 웹서비스인 경우 의미가 있을 것 같다 예) 응답 지연으로 인한 SNS 기능 장애 발생 시 신속한 대응 !! platform.twitter.com/widgets.js facebook.com/plugins/like.php NaverPay 서버 장애로 인한 NaverPay 결제 건 취소 불가 장애 시 신속한 알림 및 대응이 가능 !! 매쉬업 서비스의 경우 E2E 테스트가 중요하지 않을까 생각해봅니다.
  • 27. Selenium 사용 소감 기대하고 있는 종단간 서비스의 속도 체크 및 장애 판정이 가능! Edge 나 IE 의 경우 Xpath 등의 Element 선택하는 부분이 Chrome 또는 Firefox 와 다르거나 환경 설정이 다소 복잡하다!! Selenium 기반 기술 등으로 관제 솔루션 사업을 하는 곳들이 많음 사이트 크롤링 용도로도 사용하기도 함 예) 경쟁사 최신정보 파악