Selenium 프로젝트와 도구들

Selenium 은 웹브라우저를 제어합니다.

Selenium 은 여러 프로젝트를 포함하지만, 웹 브라우저 자동화를 위한 도구가 핵심입니다.
브라우저 인스턴스를 원격으로 제어하고, 사용자와 브라우저와의 상호작용을 에뮬레이트 하기 위한 최고의 기술들이 적용되어 있습니다.

최종 사용자가 수행하는 일반적인 활동들을 시뮬레이션 할 수 있습니다.
필드에 텍스트 입력, 드롭 다운 및 체크 박스 선택, 링크 클릭, 마우스 이동, 임의의 JavaScript 실행 등의 기능이 제공됩니다.

웹 사이트의 프론트-엔드 테스트에 주로 사용되지만, Selenium은 브라우저 사용자 에이전트 라이브러리 의 핵심입니다. 인터페이스는 응용 프로그램에 맞게 어디서나 사용될 수 있도록 최적화 되어있고, 당신의 목적에 맞게 다른 라이브러리와의 구성을 장려합니다.

모든것을 지배하는 하나의 인터페이스

프로젝트의 대원칙 중 하나는 모든 (주요) 브라우저 기술에 대한 공통 인터페이스를 지원하는 것입니다. 웹 브라우저는 매우 복잡하고 고도의 공학이 적용된 응용 프로그램으로, 완전히 다른 방식으로 작업을 수행하지만, 종종 실행 결과는 똑같이 보입니다.

텍스트가 동일한 글꼴로 렌더링 되더라도 이미지는 같은 곳에 표시되고, 링크는 같은 목적지로 이동합니다. 보이지 않는 내부에서 일어나는 일은 낮과 밤처럼 아예 다릅니다.

Selenium은 이러한 차이점들을 “추상화"하여, 코드를 작성하는 사람으로부터 웹 브라우저의 세부 사항과 복잡성을 숨깁니다. 이를 통해 몇 줄의 코드만으로 복잡한 워크플로를 수행할 수 있으며, 이 코드는 Firefox, Internet Explorer, Chrome 및 기타 지원하는 모든 브라우저에서 작동합니다.

도구 및 지원

Selenium의 미니멀리스트 디자인 접근방식은 대규모 어플리케이션의 구성요소로 포함되는 다용도성을 제공합니다. Selenium umbrella 프로젝트의 이름 하에 제공되는 인프라는 당신의 웹 브라우저의 그리드를 결합할 수 있는 도구들을 제공합니다. 여러 장치에 걸친 색다른 브라우저들과 여러 운영 체제에서 테스트를 할 수 있도록 돕습니다.

서버실이나 데이터 센터에 있는 컴퓨터 뱅크가 하루종일 응용프로그램을 테스트하는 환경에서 사이트의 링크, 양식 및 테이블을 동시에 작동한다고 상상해 보십시오. 간단한 프로그래밍 인터페이스가 가장 대중적인 언어로 제공되므로, 이 테스트는 지칠 줄 모르게 병렬로 실행되고, 오류가 발생하면 다시 보고합니다.

브라우저를 제어할 뿐만 아니라, 도구와 문서를 사용자에게 제공하여, 이러한 그리드를 쉽게 확장하고 배포 할 수 있도록 하는것이 목표입니다.

Selenium을 사용하는 사람들에게

세계에서 가장 중요한 회사들이 브라우저 기반 테스트를 위해 Selenium을 채택했고, 종종 다른 독점 도구와 관련된 수년간의 노력을 대체했습니다. Selenium이 인기를 얻으며, 요구 사항과 해결할 과제도 배가 되었습니다.

웹이 더욱 복잡해지고 새로운 기술이 웹사이트에 추가됨에 따라, 이 프로젝트의 사명은 가능한 한 최신 기술을 따라잡는 것입니다. 오픈소스 프로젝트인 만큼, 이 지원은 각자의 일이 있는 수많은 기여자들의 아낌없는 시간 기부를 통해 제공됩니다.

이 프로젝트의 또 다른 임무는 더 많은 기여자들이 이 노력에 합세하여 더 강력한 커뮤니티를 구축하고, 프로젝트가 새로운 기술을 계속 유지하여 기능 테스트 자동화를 위한 주요 플랫폼으로 남아 있는 것입니다.

역사

Selenium 1이 출시 되었던 2004년에는, 웹 응용프로그램의 프론트-엔드에서 일관된 동작을 수동으로 확인하는 데 소요되는 시간을 줄일 필요가 없었습니다. 버전 1은 그 당시 사용가능한 도구를 이용하여 사용자의 상호작용을 모방하기 위해 시험 중인 웹 페이지에 JavaScript를 주입하는 것에 크게 의존했습니다.

JavaScript는 DOM의 속성을 조사하고, 특정 클라이언트측을 관찰할 수 있는 좋은 도구이지만, 마우스와 키보드를 사용하는 것처럼 사용자의 상호작용을 자연스럽게 복제할 수 있는 능력은 부족합니다.

그 이후로, Selenium은 많이 발전하고 성숙해졌습니다. —전 세계 대부분의 거대 조직은 아니지만— 많은 사람들이 널리 사용하는 도구로 성장했습니다. Selenium 은 틈새시장의 잠재 고객들과 특정한 사용 사례를 위해 Thinkworks에서 개발한 가정용 테스트 자동화 툴킷에서, 사실상 세계 최고의 브라우저 자동화 라이브러리로 발전했습니다..

Selenium RC 당시 이용가능한 거래 도구를 활용한 것처럼, Selenium WebDriver는 브라우저 공급 업체의 앞마당을 사용하듯 브라우저 상호 작용 부분이 백-엔드 브라우저를 향한 구현을 책임지도록 요구함으로써 전통을 이어갑니다. 최근 이 작업은 W3C 표준화 프로세스로 발전하여, Selenium의 WebDriver 구성 요소를 사용자 에이전트를 위한 오늘날의 원격 제어 라이브러리로 전환하는 것이 목표입니다.