Selenium, CyPress의 경우 2개를 다 소개하고 테스트는 하나로만 하는 것
Selenium과 Cypress는 프론트엔드 개발자를 위한 기능적(functional) 테스트 도구입니다. 기능적 테스트란 시스템에 입력 같은 동작을 가했을 때, 기대되는 결과가 나오는지 확인하는 데에 집중하는 테스트입니다. 프론트엔드 과제 및 프로젝트를 테스트를 자동화하기 위한 가장 편리한 도구들입니다.
이러한 도구들을 통해 지속적이고 반복적인 테스트를 자동화할 수 있습니다. 파이널 코딩 테스트의 경우 2~3일의 시간을 주는 프로젝트 형식의 테스트인 경우가 많지만 당일에 치르는 코딩 테스트일 경우에도 꽤나 많은 시간을 주기 때문에 테스트 자동화를 미리 준비해 가면 도움이 됩니다. 또한 이 능력은 회사에 입사 후 프로젝트를 잘 수행할 수 있는지에 대한 직접적인 척도가 되기 때문에 현업에서도 중요하게 여기는 부분입니다. 그래서 코드를 직접 확인해보는 회사의 경우에는 높은 가산점을 받을 수 있습니다.
또한 코딩 테스트의 채점을 Selenium과 Cypress과 같은 도구들을 통해 자동화해놓은 사이트에서 테스트를 해 볼 경우에 어떤 방식으로 채점하는지 어떤 것을 중요하게 보는지 알 수 있습니다. 추후에 직접 테스트 코드를 보면 알 수 있겠지만 ID, className 등을 변경하지 말라는 경고가 있는 경우에는 테스트 자동화가 적용되어 있기 때문일 가능성이 매우 높습니다. 또한 테스트의 매커니즘을 이해한다면 어떤 범위까지 본인이 직접 커스텀 할 수 있는지 알 수 있기 때문에 미리 알아두는 것이 유리합니다.
Selenium은 웹 드라이버를 통해 웹 브라우저를 자동화하여 웹 애플리케이션 테스트를 도와주는 프레임워크입니다. Selenium은 밑에서 설명하겠지만 JavaScript에 국한되지 않고 다양한 언어로 사용이 가능합니다.
Selenium은 테스트 용 외에도 크롤링 등, 단순히 브라우저 조작을 자동화하는 코드를 작성하는데에 사용됩니다.
(참고 포스팅 : https://jizard.tistory.com/227)
셀레니움 공식 홈페이지에서 셀레니움 설치 안내를 받을 수 있습니다.
Ruby
, Python
등 여러 언어를 지원하고 있습니다.