인터페이스 | 학습 난이도 | 사람이 수행하는 동작 기록 | CLI | 변수, 함수, 제어문(if , for ) 등 |
|
---|---|---|---|---|---|
셀레늄 웹드라이버 | 라이브러리 | 👿 어려움 (프로그래밍 언어 학습 필요) | ❌ 미지원 | ✔️ 지원 | ✔️ 지원 |
셀레늄 IDE | GUI | 👼 쉬움 | ✔️ 지원 | ✔️ 별도 CLI 도구(selenium-side-runner )를 통해 지원 |
✔️ 지원 |
이 글은 셀레늄 IDE를 설명합니다. 셀레늄 IDE는 GUI를 제공합니다. 이와 달리 프로그래밍 언어로 작성된 코드를 통해 조작할 수 있는 라이브러리 형태도 있습니다. 이를 가리켜 셀레늄 웹드라이버라 합니다.
셀레늄 웹드라이버의 경우, 파이썬이나 자바와 같은 프로그래밍 언어를 사용하므로 자유도 높게 웹 브라우저를 조작할 수 있습니다. 반면 비개발자 입장에서는 프로그래밍 언어를 학습하는 것이 부담스럽습니다. 개발자 입장에서도 일일이 코드를 작성하는 것이 번거롭습니다.
반면 셀레늄 IDE는 사람이 웹 브라우저에서 수행한 클릭, 텍스트 입력과 같은 동작을 기록합니다. 비개발자뿐만 아니라 개발자도 편리하게 사용할 수 있습니다.
기록한 동작을 GUI 없이 실행할 수 있도록 별도의 CLI 도구(selenium-side-runner
)도 제공합니다. 이를 이용해 기록한 테스트를 주기적으로 실행하거나 또는 젠킨스(Jenkins), 서클CI(CircleCI)와 같은 CI/CD 도구를 이용하여 테스트를 자동화할 수도 있습니다.
셀레늄 IDE는 단순히 웹 브라우저에서 사람이 수행한 동작만을 기록하는 것이 아닙니다. 변수, 함수, 제어문과 같이 프로그래밍 언어처럼 테스트를 작성할 수 있도록 도와주는 고급 기능도 제공합니다. 이를 통해 (프로그래밍 언어만큼 자유롭지는 않지만) 어느 정도 논리적인 동작을 구성할 수 있습니다.