cypress

루카소·2022년 11월 18일
0

cypress

테스트 자동화 툴
비슷한 것으로 Selunium WebDriver가 있다.

그렇다면 Selenium 이란?

브라우저 테스트 도구이다. 사람이 웹브라우저를 사용하듯이 웹브라우저 사용을 컴퓨터에게 자동화 시킬 수 있는 것이다.
셀레니움을 동작하기 위해선 웹드라이버가 있어야 한다.

웹드라이버란?

우리가 사용하는 웹브라우저와 비슷하다. 그러나 우리가 크롬을 열어서 눈으로 보면서 하는 것과 다르게 눈에 안보이지만 내부적으로 작동되게할 수 있다.

다시 셀레니움으로

셀레니움을 이용해서 브라우저를 열지 않고 브라우저에서 하는 동작들을 채크할 수 있는데 이럴 때 크롤링이 가능한 것이다. 해당 브라우저의 텍스트를 가져오거나 하는 것이다. 그것도 화면을 켜지 않고 마치 켠 것처럼 (웹드라이버 이용)

다시 cypress로

크롬 브라우저만 지원한다. 모카를 이용해야 한다. 제스트나 다른 것은 안된다.
아래 명령으로 headless로 진행할 수 있다.
headless란 우리가 일반적으로 사용한 것 처럼 크라움을 띄우고 크롬을 보고 하는 것이 아니라 내부에서 돌아가게끔 하는 것이다.
이런 것은 ci cd 환경에서 사용하기 유용하다.

cylress run
  • cypress.config.js
    각종 설정이 들어있다.

  • cypress/e2e/
    실제 테스트 코드가 들어있다.

  • cypress/fixtures/
    공용으로 쓸 테스트 데이터들이 들어간다. 유저이름, 제품 정보등등이다.
    json형태이다.

  • cypress/support/commands.js
    cypress/support쪽은 가장 먼저 실행되는 디렉토리다.
    전역 정보를 저장한다.
    공용으로 사용할 정보를 추가하기 적합하다.

cypress/support/e2e.js
cypress/video/

공통 기능 만들기

commands.js에 기능을 추가하면 어떤 곳에서든 사용할 수 있게 된다.

support/commands.js
Cypress.Commands.add('getBySel', (selector, ...args) => cy.get(`[data-cy="${selector}"]`, ...args));

example.cy.js
cy.getBySel('foo').click(); // command에 추가한 기능이다.
profile
rukkasso

0개의 댓글