ݺߣ

ݺߣShare 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

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 기반 기술 등으로 관제 솔루션 사업을 하는 곳들이 많음 사이트 크롤링 용도로도 사용하기도 함 예) 경쟁사 최신정보 파악