Selenium 과 Cypress

June Park·2021년 9월 30일
0

FrontEnd

목록 보기
1/2
post-thumbnail

Selenium 과 Cypress 는 다양한 브라우저 및 플랫폼에서 웹 응용 프로그램을 위한 무료 자동화 테스트이다. Selenium은 오랫동안 쓰여온 자동화 테스트 툴이고, Cypress는 최근 쓰이기 시작했다. Cypress의 사용량이 급격하게 늘어나고 있는 추세다.


✨Selenium

Selenium은 웹 드라이버를 통해 웹 브라우저를 자동화하여 웹 애플리케이션 테스트를 도와주는 프레임워크이다. 원하는 프레임워크 언어로 테스트 할 수 있다. 개발 언어도 고를 수 있어서 비교적 유연하고 Ruby, Python, Java 등의 language bindings를 지원한다.
Selenium은 테스트 용도 이외에도 크롤링 등에 사용된다.

Selenium 장점

  1. OS 호환성 (Windows, Linux, Unix, Mac)
  2. QA가 원하는 프로그래밍 언어를 선택하여 테스트 할 수 있다
  3. Safari, Chrome, Firefox 등 최신 브라우저 지원
  4. 간단한 API 제공

Selenium 한계

  1. 테스트 케이스 제작이 오래걸림
  2. 내장 커맨드가 없음
  3. 페이지 로드나 요소 로드가 어려움
  4. 테스트 이미지 지원 한계
  5. Cypress에 비해서 테스트 환경을 조성하기 어려움

Selenium download url: https://www.selenium.dev/downloads/


✨Cypress

Cypress는 순수 자바스크립트 테스팅을 위한 테스팅 툴이다. QA나 개발자는 Cypress를 통해 아래 항목을 생성 할 수 있다

  1. Unit Test
  2. Integration Test
  3. End to End Test

Cypress는 자바스크립트를 베이스로 하기 때문에 주로 프론트앤드 개발자들이 선호하는 툴이다. 따라서, Cypress를 사용하기 위해서는 자바스크립트의 숙련도가 필요하다.

Cypress의 장점

  1. Cypress Framework는 테스트를 캡쳐할 수 있어 Command Log 위로 마우스를 올려서 특정 커맨드를 확인 가능
  2. Explicit 이나 Implicit wait Commands를 사용할 필요 없이 자동으로 처리
  3. Spies, Stubs, Clocks 등으로 서버의 응답, 기능, 타이머를 확인/컨트롤
  4. Commands를 실시간으로 반영

Cypress의 한계

  1. 동시에 두개 이상의 브라우저를 테스트 불가
  2. 멀티탭 미지원
  3. 자바스크립트를 테스트 제작용도로만 지원
  4. Safari와 IE 미지원
  5. iFrames 사용 어려움

Cypress download url: https://www.cypress.io/

0개의 댓글