Selenium? 소개 Selenium 자동화 테스트

Selenium?

Selenium 다양한 브라우저와 플랫폼에서 웹 애플리케이션을 검증하는 데 사용되는 무료(오픈 소스) 자동화 테스트 프레임워크입니다. Java, C#, Python 등과 같은 여러 프로그래밍 언어를 사용하여 만들 수 있습니다. Selenium 테스트 스크립트. 테스트는 다음을 사용하여 수행되었습니다. Selenium 테스트 도구는 일반적으로 Selenium 지원.

Selenium 도구 모음

Selenium 소프트웨어는 단순한 단일 도구가 아니라 소프트웨어 제품군으로, 각 부분은 서로 다른 기능을 제공합니다. Selenium 조직의 QA 테스트 요구 사항. 도구 목록은 다음과 같습니다.

  • Selenium 통합 개발 환경(IDE)
  • Selenium 리모콘(RC)
  • 웹드라이버
  • Selenium 그리드

Selenium 도구 모음

그 순간, Selenium RC와 WebDriver는 단일 프레임워크로 병합되어 Selenium 2. Selenium 그런데 1은 다음을 가리킨다. Selenium RC.

비디오 자습서 Selenium

여기에서 지금 확인해 보세요. 비디오에 접근할 수 없는 경우

누가 개발 Selenium?

이후 Selenium 다양한 도구 모음이며 개발자도 다양했습니다. 다음은 학회 발전에 크게 기여한 주요 인사들이다. Selenium 프로젝트

개발 된 Selenium

PRImari리, Selenium 였다 2004년 제이슨 허긴스(Jason Huggins)가 만든. ThoughtWorks의 엔지니어인 그는 빈번한 테스트가 필요한 웹 애플리케이션을 작업하고 있었습니다. 애플리케이션의 반복적인 수동 테스트가 점점 비효율적으로 변하고 있다는 사실을 깨닫고 그는 자바 스크립트 브라우저의 동작을 자동으로 제어하는 ​​프로그램입니다. 그는 이 프로그램을 “JavaScriptTestRunner. "

그는 다른 웹 애플리케이션을 자동화하는 데 도움이 되는 이 아이디어의 잠재력을 보고 JavaScriptRunner를 오픈 소스로 만들었습니다. later 이름이 바뀌었다 Selenium 핵심. 웹 애플리케이션 테스트를 위한 다른 옵션을 탐색하는 데 관심이 있는 경우 다음을 살펴보세요. Selenium 대안.

동일 출처 정책 문제

동일 출처 정책은 JavaScript 코드가 실행된 위치와 다른 도메인의 요소에 액세스하는 것을 금지합니다.. 예를 들어 www.google.com의 HTML 코드는 JavaScript 프로그램 "randomScript.js"를 사용합니다. 동일한 출처 정책은 RandomScript.js가 google.com/과 같은 google.com 내의 페이지에만 액세스하도록 허용합니다.mail, google.com/login 또는 google.com/signup. 그러나 yahoo.com/search 또는 guru99.com과 같은 다른 사이트의 페이지는 서로 다른 도메인에 속해 있기 때문에 페이지에 액세스할 수 없습니다.

동일 출처 정책 문제

그 이유는 앞서 Selenium RC, 테스터는 두 가지 모두의 로컬 복사본을 설치해야 함 Selenium Core(JavaScript 프로그램)와 테스트 중인 웹 애플리케이션이 포함된 웹 서버는 동일한 도메인에 속합니다.

탄생 Selenium 리모콘 (Selenium RC)

폴 해먼트

안타깝게도; 테스터가 사용하는 Selenium Core는 테스트 중인 전체 애플리케이션과 웹 서버를 자체 로컬 컴퓨터에 설치해야 했습니다. 동일한 원산지 정책. 또 다른 ThoughtWork의 엔지니어는 폴 해먼트, 브라우저가 다음과 같이 믿도록 "속이기" 위해 HTTP 프록시 역할을 할 서버를 만들기로 결정했습니다. Selenium 테스트 중인 Core와 웹 애플리케이션은 동일한 도메인에서 나옵니다. 이 시스템은 다음과 같이 알려지게 되었습니다. Selenium 리모트 컨트롤 or Selenium 1.

탄생 Selenium 그리드

패트릭 라이트바디

Selenium 그리드는 다음에 의해 개발되었습니다. 패트릭 라이트바디 테스트 실행 시간을 최대한 최소화해야 하는 필요성을 해결합니다. 그는 처음에 이 시스템을 “호스팅된 QA.” 중요한 단계에서 브라우저 스크린샷을 캡처할 수 있었고, 발송 Selenium 동시에 다른 기계에 명령neo우습게.

탄생 Selenium IDE

카사타니 신야

카사타니 신야 일본이 창조한 Selenium IDE은 Firefox 기록 및 재생 기능을 통해 브라우저를 자동화할 수 있는 Chrome 확장 프로그램입니다. 그는 테스트 케이스 작성 속도를 더욱 높이기 위해 이 아이디어를 내놓았습니다. 그는 기부했다 Selenium IDE를 Selenium 프로젝트 2006.

웹드라이버의 탄생

사이먼 스튜어트

사이먼 스튜어트 WebDriver는 대략 생성되었습니다. 2006 브라우저와 웹 애플리케이션이 다음과 같은 JavaScript 프로그램으로 인해 더욱 강력해지고 제한적이 되었을 때 Selenium 핵심. 이는 OS 수준에서 브라우저를 제어할 수 있는 최초의 크로스 플랫폼 테스트 프레임워크였습니다.

탄생 Selenium 2

In 2008, 전체 Selenium 팀은 WebDriver를 병합하기로 결정했으며 Selenium RC라는 보다 강력한 도구를 구성합니다. Selenium 2WebDriver가 핵심입니다.. 현재, Selenium RC는 아직 개발 중이지만 유지 관리 모드에서만 가능합니다. 대부분의 Selenium 이제 프로젝트의 노력은 다음에 집중됩니다. Selenium 2.

그렇다면 왜 이름이 Selenium?

이름 Selenium 제이슨이 팀에게 한 농담에서 나온 말입니다. 동안 Selenium의 발전, 또 다른 자동 테스트 프레임워크는 회사에서 만든 인기가 있었습니다. 머큐리 인터랙티브 (예, HP에 인수되기 전에 원래 QTP를 만든 회사입니다). 부터 Selenium 수은 중독에 대한 잘 알려진 해독제인 Jason은 그 이름을 제안했고 그의 팀원들은 그 이름을 사용했습니다. 그래서 우리는 이 프레임워크를 현재까지 부르게 되었습니다.

이름이 왜 Selenium

Selenium IDE?

Selenium 통합개발환경(IDE)은 가장 간단한 프레임워크 FBI 증오 범죄 보고서 Selenium 스위트룸이고 가장 배우기 쉬운 것. 그것은이다 크롬 Firefox 플러그인 다른 플러그인과 마찬가지로 쉽게 설치할 수 있습니다. 그러나 그 단순성 때문에, Selenium IDE는 다음 용도로만 사용해야 합니다. 프로토타이핑 도구. 더 고급 테스트 케이스를 생성하려면 다음 중 하나를 사용해야 합니다. Selenium RC 또는 웹드라이버.

Selenium IDE

Selenium 리모콘 (Selenium RC)?

Selenium RC는 주력 테스트 프레임워크 전체의 Selenium 오랫동안 프로젝트. 이는 최초의 자동화된 웹 테스트 도구 사용자가 선호하는 프로그래밍 언어를 사용할 수 있습니다.. 버전 2.25.0부터 RC는 다음을 지원할 수 있습니다.wing 프로그래밍 언어:

Selenium 리모콘 (Selenium RC)

웹드라이버란 무엇입니까?

WebDriver는 다음보다 나은 것으로 입증되었습니다. Selenium IDE와 Selenium RC 여러 측면에서. 브라우저 작업을 자동화하는 데 있어 보다 현대적이고 안정적인 접근 방식을 구현합니다. WebDriver와 달리 Selenium RC는 JavaScript에 의존하지 않습니다. Selenium 자동화 테스트. 브라우저와 직접 통신하여 브라우저를 제어합니다.

지원되는 언어는 의 언어와 동일합니다. Selenium RC.

  • 자바
  • C#
  • PHP
  • Python
  • 루비

웹드라이버

Selenium 그리드?

Selenium 그리드는 도구이다 와 함께 사용 Selenium 달리는 RC 병렬 테스트 동시에 다른 컴퓨터와 다른 브라우저에 걸쳐 있습니다. 병렬 실행은 여러 테스트를 동시에 실행하는 것을 의미합니다.

특징:

  • 사용함 동시neo우리는 테스트 중 in 여러 브라우저와 환경.
  • 시간을 절약 엄청나게.
  • 활용한다 허브 및 노드 개념. 허브는 중앙 ​​소스 역할을 합니다. Selenium 연결된 각 노드에 명령을 보냅니다.

Selenium 브라우저 및 환경 지원

그들의 archi구조적 차이, Selenium SDI, Selenium RC 및 WebDriver는 다양한 브라우저 세트를 지원하며 opera환경을 설정합니다.

  Selenium IDE 웹드라이버
브라우저 지원 모질라 Firefox 및 크롬

Google Chrome 12+

Firefox

Internet Explorer 7+ 및 Edge

원정 여행, 

HtmlUnit 및 PhantomUnit

Opera팅 시스템 Windows, 맥 OS X, 리눅스 All opera위의 브라우저가 실행될 수 있는 시스템.

참고 : Opera 드라이버가 더 이상 작동하지 않습니다.

권리를 선택하는 방법 Selenium 귀하의 필요에 맞는 도구

수단 왜 선택합니까?
Selenium IDE
  • 에 대해 배우다 concepts 자동화된 테스트와 Selenium포함 :
  • 유형, 열기, clickAndWait, 주장, 확인 등과 같은 Selenese 명령.
  • ID, 이름, xpath, CSS 선택기 등과 같은 로케이터
  • runScript를 사용하여 맞춤형 JavaScript 코드 실행
  • 다양한 형식으로 테스트 사례 내보내기
  • 프로그래밍에 대한 사전 지식이 거의 또는 전혀 없이 테스트를 생성합니다.
  • 내보낼 수 있는 간단한 테스트 사례 및 테스트 도구 모음을 만들려면 later RC 또는 WebDriver로.
  • 웹 애플리케이션을 테스트하려면 Firefox 그리고 크롬만 가능합니다.
Selenium RC
  • Selenese보다 더 표현력이 풍부한 언어를 사용하여 테스트를 설계하려면
  • 서로 다른 브라우저(HtmlUnit 제외)에 대해 테스트를 실행하려면 opera팅 시스템.
  • 다음을 사용하여 여러 환경에 테스트를 배포하려면 Selenium 그리드.
  • JavaScript를 지원하는 새로운 브라우저에 대해 애플리케이션을 테스트합니다.
  • com으로 웹 애플리케이션을 테스트하려면plex AJAX 기반 시나리오.
웹드라이버
  • 테스트 케이스를 설계할 때 특정 프로그래밍 언어를 사용합니다.
  • AJAX 기반 기능이 풍부한 애플리케이션을 테스트합니다.
  • HtmlUnit 브라우저에서 테스트를 실행합니다.
  • 맞춤형 테스트 결과를 생성합니다.
Selenium 그리드
  • 실행하려면 Selenium 여러 브라우저의 RC 스크립트 및 opera동시 시스템neo우습게.
  • 대규모 테스트 스위트를 실행하려면 가능한 한 빨리 완료해야 합니다.

사이의 비교 Selenium 및 QTP(현재 UFT)

빠른 테스트 전문가(QTP) 이전에 회사가 소유했던 독점 자동화 테스트 도구입니다. 머큐리 인터랙티브 휴렛팩커드가 인수하기 전 2006년. 그 later 소유자는 MicroFocus이고 도구 이름은 UFT 도구로 변경되었습니다. 그만큼 Selenium Tool Suite는 기존에 비해 많은 장점을 가지고 있습니다.  QTP 아래에 자세히 설명되어 있습니다 –

장점 및 장점 Selenium QTP를 통해

Selenium QTP
오픈 소스, 무료로 사용 가능무료로. Commercial.
높은 확장 성 제한된 추가 기능
테스트를 실행할 수 있습니다. 다른 브라우저 다음에서만 테스트를 실행할 수 있습니다. Firefox, 인터넷 익스플로러크롬
지원 여러 opera팅 시스템 다음에서만 사용할 수 있습니다. Windows
지원 모바일 장치 QTP는 모바일 앱 테스트 자동화를 지원합니다(iOS 및 Android) HP Mobile Center라는 HP 솔루션 사용
테스트를 실행할 수 있음 동안 전에, 브라우저가 최소화되었습니다 데스크톱에 표시되도록 하려면 테스트 중인 애플리케이션이 있어야 합니다.
테스트를 실행할 수 있음 병행하여. 병렬로만 실행할 수 있지만 유료 제품인 Quality Center를 사용하면 됩니다.

QTP의 장점 Selenium

QTP Selenium
테스트 가능 웹 및 데스크톱 애플리케이션 모두 웹 애플리케이션만 테스트할 수 있습니다.
함께 제공됩니다. 내장 객체 저장소 내장된 개체 저장소가 없습니다.
보다 빠르게 자동화 Selenium 모든 기능을 갖춘 IDE이기 때문입니다. 기본 IDE가 없고 타사 IDE만 개발에 사용할 수 있으므로 자동화 속도가 느립니다.
데이터 기반 테스트는 수행하기가 더 쉽습니다. 전역 및 로컬 데이터 테이블이 내장되어 있습니다.. 데이터 기반 테스트는 테스트 데이터의 값을 설정하기 위해 프로그래밍 언어의 기능에 의존해야 하기 때문에 더 번거롭습니다.
브라우저 내에서 컨트롤에 액세스할 수 있습니다.(예: 즐겨찾기 표시줄, 주소 표시줄, 뒤로 및 앞으로 버튼 등) 테스트 중인 웹 애플리케이션 외부의 요소에 액세스할 수 없습니다.
전문적인 제공 고객 지원 공식적인 사용자 지원은 제공되지 않습니다.
기본 기능이 있음 테스트 데이터 내보내기 외부 형식으로 런타임 데이터를 외부 형식으로 내보내는 기본 기능이 없습니다.
매개변수화 지원 구축 매개변수화는 프로그래밍을 통해 수행할 수 있지만 구현이 어렵습니다.
테스트 보고서가 자동으로 생성됩니다. 테스트/버그 보고서 생성을 기본적으로 지원하지 않습니다.

분명히 QTP는 더 발전된 기능을 가지고 있습니다. Selenium 세 가지 주요 영역에서 QTP보다 중요합니다.

  • 비용(때문에 Selenium 완전 무료입니다)
  • 유연성(지원할 수 있는 프로그래밍 언어, 브라우저 및 플랫폼이 많기 때문에)
  • 병렬 테스트(QTP가 할 수 있는 일이지만 Quality Center를 사용해야 하는 경우에만 해당)

요약

  • 전체 Selenium Software Testing Suite는 다음 네 가지 구성 요소로 구성됩니다.
  • Selenium 아이디어 Firefox 상대적으로 간단한 테스트 케이스 및 테스트 스위트를 생성하는 데에만 사용할 수 있는 크롬 추가 기능이 있습니다.
  • Selenium 리모콘이라고도 함 Selenium 1, 첫 번째입니다 Selenium 사용자가 프로그래밍 언어를 사용하여 com을 만들 수 있도록 하는 도구plex 테스트.
  • WebDriver는 테스트 스크립트가 브라우저와 직접 통신하여 OS 수준에서 제어할 수 있도록 하는 새로운 혁신입니다.
  • Selenium 그리드는 다음과 함께 사용되는 도구이기도 합니다. Selenium 다양한 브라우저에서 병렬 테스트를 실행하는 RC opera팅 시스템.
  • Selenium RC와 WebDriver가 병합되어 형성되었습니다. Selenium 2.
  • Selenium 것보다 유리하다 Microfocus UFT One 비용과 유연성 측면에서요.