Selenium은 개발자를 위한 치열한 툴킷입니다

업데이트됨:
4분 분량
Selenium은 개발자를 위한 치열한 툴킷입니다
사진: selenium.dev
공유하다

개발자는 온프레미스와 오프프레미스 모두에서 웹 애플리케이션의 기능을 테스트하는 데 수많은 시간을 소비합니다.

Selenium 이전에는 모든 것이 말 그대로 수작업으로 이루어졌습니다. 수십 명의 사람들이 모든 기존 브라우저에서 수백 개의 스크립트를 테스트하여 문제를 식별하고 발생 원인을 파악하려고 했습니다.

셀레늄이란 무엇입니까

Selenium은 사실상 선두주자가 된 오픈 소스 소프트웨어 자동화 및 테스트 도구 세트입니다.

모든 주요 운영 체제 및 브라우저에서 지원하는 대부분의 프로그래밍 언어로 작업하는 Selenium은 현재 Netflix, Google, HubSpot, Fitbit 등과 같은 회사에서 사용하고 있습니다. 전체 제품군은 다양한 테스트 작업 및 요구 사항에 대한 다양한 솔루션을 제공합니다.

셀레늄 슈트 인프라

웹드라이버

대부분의 경우 사람들이 Selenium에 대해 이야기할 때 Selenium WebDriver를 의미합니다. 제품 개발의 대부분은 이 요소에 중점을 둡니다.
WebDriver의 테스트 자동화는 종종 택시 운전에 비유됩니다. 택시 운전 및 테스트에는 세 가지 구성 요소가 있습니다. 고객(테스트 엔지니어) – 자동차(브라우저) – 택시 운전사(WebDriver).

DevOps – 개발 및 운영
DevOps – 개발 및 운영
4분 분량
Ratmir Belov
Journalist-writer

이 비유에 따르면 프로그래머는 먼저 드라이버에게 브라우저 요소와 상호 작용하는 방법을 알려줍니다. 그런 다음 WebDriver는 다음과 같은 소리가 나는 브라우저(머신) 명령을 제공합니다. 버튼이 활성화되면 버튼을 클릭합니다. 그런 다음 브라우저는 나중에 스크립트로 전송되는 웹 요소의 값과 상태에 대한 정보를 드라이버에 제공합니다. 간단히 말해서, Selenium WebDriver 도구는 정보를 수집하고 애플리케이션이 올바르게 작동하는지, 즉 운전자가 운전 방법과 어디로 가야 하는지 알고 있는지 확인하는 데 사용됩니다.

셀레늄 IDE

이것은 파이어폭스용 확장 프로그램입니다. 개발용으로 설계되지 않았으며 배우기 쉽고 프로토타이핑 작업에 적합합니다.

플러그인은 기본적으로 브라우저에서 엔지니어의 작업을 기록하고 반복하기 때문에 Selenium IDE에서 작업하는 데 프로그래밍 기술이 필요하지 않습니다. 프로그래머는 그것을 독립적이고 본격적인 제품으로 생각하지 않지만 간단한 스크립트로 작업하기에 충분합니다.

셀레늄 그리드

여러 컴퓨터와 브라우저에서 동시에 병렬 테스트를 실행할 수 있습니다. 이 도구의 주요 기능은 시간을 절약하는 것입니다. 예를 들어 4개의 가상 머신 또는 물리적 머신을 설정하기 위해 100개의 테스트를 실행해야 하는 경우 Selenium Grid가 사용됩니다.

Selenium
사진: linuxhint.com

브라우저 스크립트가 일반적으로 느리다는 점을 감안할 때 병렬 테스트와 같은 성능 기술을 사용하면 이 문제를 해결할 수 있습니다. 또한 Firefox가 한 컴퓨터에서 실행 중이고 Chrome이 다른 컴퓨터에서 실행 중일 때 다른 브라우저에서 동일한 응용 프로그램을 병렬로 테스트하는 데 사용할 수도 있습니다. 다른 버전의 브라우저와 운영 체제를 결합하여 다른 구성을 만들 수 있습니다. 말할 필요도 없이 Grid는 대규모 생산 환경에서 사용할 때 시간을 4배 절약합니다.

장점

Selenium은 시장에 나와 있는 유일한 테스트 자동화 도구는 아니지만 유료 제품과 경쟁할 수 있는 유일한 무료 도구입니다. Katalon Studio는 실행 가능한 대안이지만 많은 언어를 제공하지 않고 Linux에서 실행되지 않으며 팬 기반도 없습니다.

도메인 주도 설계 – DDD 프로그래밍
도메인 주도 설계 – DDD 프로그래밍
5분 분량
Ratmir Belov
Journalist-writer

당연히 더 큰 회사라도 유료 사이트로 이동하고 Selenium이 무료로 수행하는 작업에 대해 수천 달러를 기부하는 데 서두르지 않습니다. Selenium을 사용하는 회사의 수는 55,000개를 초과합니다. 테스트 및 자동화 시장 점유율은 거의 30%입니다.

언어, 플랫폼, 브라우저 지원:

  • 자바
  • C#
  • PHP
  • 루비
  • 파이썬
  • 자바스크립트
  • 목표-C
  • 하스켈
  • R
  • 창문
  • 리눅스
  • 안드로이드
  • iOS
  • Google 크롬
  • 인터넷 익스플로러
  • 파이어폭스
  • 사파리
  • 오페라
  • 마이크로소프트 엣지
  • HTMLUnitDriver

단점

아마도 유일한 중요한 단점은 Selenium이 웹 애플리케이션에서만 사용될 수 있다는 것입니다. 그러나 이것은 WinAppDriver를 Selenium에 통합하여 데스크톱 응용 프로그램을 테스트할 수 있기 때문에 단점이 아니라 제한 사항입니다.

결론에 대한 간략한 역사

2004년 Jason Huggins는 반복적인 수동 테스트에서 개발자를 자유롭게 하도록 설계된 JavaScript 프레임워크를 만들었습니다. 예상대로 처음에는 JavaScriptTestRunner라고 불렸던 이 제품은 브라우저에서 직접 테스트를 실행하고 페이지 상호 작용을 관리하며 수동 입력 없이 다시 실행할 수 있습니다. 이 JavaScript 도구는 Huggins가 잠재력을 최대한 발휘하여 오픈 소스로 만들고 Selenium Remote Control로 이름을 바꾼 후 인기를 얻었습니다. 혁신적인 부분은 그때까지 테스터가 선택한 프로그래밍 언어로 브라우저와 통신할 수 있는 다른 도구가 없었다는 것입니다.

인터넷은 인류의 가장 위대한 발명품
인터넷은 인류의 가장 위대한 발명품
9분 분량
2.6
(5)
Editorial team
Editorial team of Pakhotin.org

그러나 곧 브라우저가 JavaScript에 보안 제한을 적용하여 도구의 모든 기능을 사용할 수 없다는 것이 분명해졌습니다. 그 당시 Google은 Selenium의 열렬한 사용자였으며 엔지니어는 제한을 피하기 위해 최선을 다했습니다. 그 중 한 명인 Simon Stewart는 브라우저와 직접 상호 작용할 수 있는 제품 작업을 시작했으며 이를 WebDriver라고 불렀습니다.

따라서 Selenium은 10여 년 전에 WebDriver와 협력하여 소프트웨어 테스트 방식을 완전히 바꿨습니다. 공식 사이트 https://www.selenium.dev
기사 등급
0.0
0개의 평가
이 기사 평가하기
Editorial team
이 주제에 대한 귀하의 의견을 적어주세요:
avatar
  댓글 알림  
알림
콘텐츠 평점 코멘트
공유하다