Selenium? 소개 튜토리얼
Selenium?
Selenium 다양한 브라우저와 플랫폼에서 웹 애플리케이션을 검증하는 데 사용되는 무료(오픈 소스) 자동화 테스트 프레임워크입니다. 다음과 같은 여러 프로그래밍 언어를 사용할 수 있습니다. Java, C#, Python등을 생성합니다. Selenium 테스트 스크립트. 테스트는 다음을 사용하여 수행되었습니다. Selenium 테스트 도구는 일반적으로 Selenium 지원.
Selenium 도구 모음
Selenium 소프트웨어는 단순한 단일 도구가 아니라 소프트웨어 제품군으로, 각 부분은 서로 다른 기능을 제공합니다. Selenium 조직의 QA 테스트 요구 사항. 도구 목록은 다음과 같습니다.
- Selenium 통합 개발 환경(IDE)
- Selenium 리모콘(RC)
- 웹드라이버
- Selenium 그리드
그 순간, Selenium RC와 WebDriver는 단일 프레임워크로 병합되어 Selenium 2. Selenium 그런데 1은 다음을 가리킨다. Selenium RC.
비디오 자습서 Selenium
LINK 비디오에 접근할 수 없는 경우
누가 개발 Selenium?
이후 Selenium 다양한 도구 모음이며 개발자도 다양했습니다. 다음은 학회 발전에 크게 기여한 주요 인사들이다. Selenium 프로젝트
주로 Selenium 였다 2004년 제이슨 허긴스(Jason Huggins)가 만든. ThoughtWorks의 엔지니어인 그는 빈번한 테스트가 필요한 웹 애플리케이션을 작업하고 있었습니다. 애플리케이션의 반복적인 수동 테스트가 점점 비효율적으로 변하고 있다는 사실을 깨닫고 그는 Java스크립트 브라우저의 동작을 자동으로 제어하는 프로그램입니다. 그는 이 프로그램을 “Java스크립트테스트러너. "
그는 다른 웹 애플리케이션을 자동화하는 데 도움이 되는 이 아이디어의 잠재력을 보고 JavaScriptRunner는 나중에 이름이 변경된 오픈 소스입니다. Selenium 핵심. 웹 애플리케이션 테스트를 위한 다른 옵션을 탐색하는 데 관심이 있는 경우 다음을 살펴보세요. Selenium 대안.
동일 출처 정책 문제
동일 출처 정책은 금지합니다. Java스크립트 코드는 시작된 위치와 다른 도메인의 요소에 액세스하는 데 사용됩니다.. 예를 들어, www.google.com의 HTML 코드는 Java스크립트 프로그램 "randomScript.js". 동일 출처 정책은 randomScript.js가 google.com/mail, google.com/login 또는 google.com/signup과 같은 google.com 내의 페이지에만 액세스할 수 있도록 허용합니다. 그러나 yahoo.com/search 또는 guru99.com과 같은 다른 사이트의 페이지에는 액세스할 수 없습니다. 왜냐하면 이들은 다른 도메인에 속하기 때문입니다.
그 이유는 앞서 Selenium RC, 테스터는 두 가지 모두의 로컬 복사본을 설치해야 함 Selenium 코어(a Java스크립트 프로그램)과 테스트 중인 웹 애플리케이션이 포함된 웹 서버가 동일한 도메인에 속하도록 합니다.
탄생 Selenium 리모콘 (Selenium RC)
안타깝게도; 테스터가 사용하는 Selenium Core는 테스트 중인 전체 애플리케이션과 웹 서버를 자체 로컬 컴퓨터에 설치해야 했습니다. 동일한 원산지 정책. 또 다른 ThoughtWork의 엔지니어는 폴 해먼트, 브라우저가 다음과 같이 믿도록 "속이기" 위해 HTTP 프록시 역할을 할 서버를 만들기로 결정했습니다. Selenium 테스트 중인 Core와 웹 애플리케이션은 동일한 도메인에서 나옵니다. 이 시스템은 다음과 같이 알려지게 되었습니다. Selenium 리모트 컨트롤 or Selenium 1.
탄생 Selenium 그리드
Selenium 그리드는 다음에 의해 개발되었습니다. 패트릭 라이트바디 테스트 실행 시간을 최대한 최소화해야 하는 필요성을 해결합니다. 그는 처음에 이 시스템을 “호스팅된 QA.” 중요한 단계에서 브라우저 스크린샷을 캡처할 수 있었고, 발송 Selenium 여러 기계에 동시에 명령을 내립니다.
탄생 Selenium IDE
카사타니 신야 일본이 창조한 Selenium IDE은 Firefox 기록 및 재생 기능을 통해 브라우저를 자동화할 수 있는 Chrome 확장 프로그램입니다. 그는 테스트 케이스 작성 속도를 더욱 높이기 위해 이 아이디어를 내놓았습니다. 그는 기부했다 Selenium IDE를 Selenium 프로젝트 2006.
웹드라이버의 탄생
사이먼 스튜어트 WebDriver는 대략 생성되었습니다. 2006 브라우저와 웹 애플리케이션이 더욱 강력해지고 제한적이 되면서 Java스크립트 프로그램과 같은 Selenium 핵심. 이는 OS 수준에서 브라우저를 제어할 수 있는 최초의 크로스 플랫폼 테스트 프레임워크였습니다.
탄생 Selenium 2
In 2008, 전체 Selenium 팀은 WebDriver를 병합하기로 결정했으며 Selenium RC라는 보다 강력한 도구를 구성합니다. Selenium 2과 WebDriver가 핵심입니다.. 현재, Selenium RC는 아직 개발 중이지만 유지 관리 모드에서만 가능합니다. 대부분의 Selenium 이제 프로젝트의 노력은 다음에 집중됩니다. Selenium 2.
그렇다면 왜 이름이 Selenium?
이름 Selenium 제이슨이 팀에게 한 농담에서 나온 말입니다. 동안 Selenium의 발전, 또 다른 자동 테스트 프레임워크는 회사에서 만든 인기가 있었습니다. Mercury 대화 형 (예, HP에 인수되기 전에 원래 QTP를 만든 회사입니다). 부터 Selenium 잘 알려진 해독제이다. Mercury 중독된 후 Jason은 그 이름을 제안했고 그의 팀원은 그 이름을 사용했습니다. 그래서 우리는 이 프레임워크를 현재까지 부르게 되었습니다.
Selenium IDE?
Selenium 통합개발환경(IDE)은 가장 간단한 프레임워크 인간을 Selenium 스위트룸이고 가장 배우기 쉬운 것. 그것은이다 크롬 Firefox 플러그인 다른 플러그인과 마찬가지로 쉽게 설치할 수 있습니다. 그러나 그 단순성 때문에, Selenium IDE는 다음 용도로만 사용해야 합니다. 프로토타이핑 도구. 더 고급 테스트 케이스를 생성하려면 다음 중 하나를 사용해야 합니다. Selenium RC 또는 웹드라이버.
Selenium 리모콘 (Selenium RC)?
Selenium RC는 주력 테스트 프레임워크 전체의 Selenium 오랫동안 프로젝트. 이는 최초의 자동화된 웹 테스트 도구 사용자가 선호하는 프로그래밍 언어를 사용할 수 있습니다.. 버전 2.25.0부터 RC는 다음 프로그래밍 언어를 지원할 수 있습니다.
웹드라이버란 무엇입니까?
WebDriver는 다음보다 나은 것으로 입증되었습니다. Selenium IDE와 Selenium RC 여러 측면에서. 브라우저 작업을 자동화하는 데 있어 보다 현대적이고 안정적인 접근 방식을 구현합니다. WebDriver와 달리 Selenium RC, 의존하지 않음 Java스크립트 Selenium 자동화 테스트. 브라우저와 직접 통신하여 브라우저를 제어합니다.
지원되는 언어는 의 언어와 동일합니다. Selenium RC.
- Java
- C#
- PHP
- Python
- 펄
- 루비
Selenium 그리드?
Selenium 그리드는 도구이다 와 함께 사용 Selenium 달리는 RC 병렬 테스트 동시에 다른 컴퓨터와 다른 브라우저에 걸쳐 있습니다. 병렬 실행은 여러 테스트를 동시에 실행하는 것을 의미합니다.
특징:
- 사용함 동시 테스트 실행 in 여러 브라우저와 환경.
- 시간을 절약 엄청나게.
- 활용한다 허브 및 노드 개념. 허브는 중앙 소스 역할을 합니다. Selenium 연결된 각 노드에 명령을 보냅니다.
Selenium 브라우저 및 환경 지원
건축학적 차이로 인해 Selenium SDI, Selenium RC와 WebDriver는 다양한 브라우저와 운영 환경을 지원합니다.
Selenium IDE | 웹드라이버 | |
---|---|---|
브라우저 지원 | 모질라 Firefox 및 크롬 |
Google Chrome 12+ Firefox Internet Explorer 7+ 및 Edge 원정 여행, HtmlUnit 및 PhantomUnit |
Opera팅 시스템 | Windows, 맥 OS X, 리눅스 | 위 브라우저가 실행될 수 있는 모든 운영 체제. |
참고 : Opera 드라이버가 더 이상 작동하지 않습니다.
권리를 선택하는 방법 Selenium 귀하의 필요에 맞는 도구
수단 | 왜 선택합니까? |
---|---|
Selenium IDE |
|
Selenium RC |
|
웹드라이버 |
|
Selenium 그리드 |
|
사이의 비교 Selenium 및 QTP(현재 UFT)
빠른 테스트 전문가(QTP) 이전에 회사가 소유했던 독점 자동화 테스트 도구입니다. Mercury 대화 형 휴렛팩커드가 인수하기 전 2006년. 이후 소유자는 MicroFocus이고 도구 이름은 UFT one으로 변경되었습니다. Selenium Tool Suite는 기존에 비해 많은 장점을 가지고 있습니다. QTP 아래에 자세히 설명되어 있습니다 –
장점 및 장점 Selenium QTP를 통해
Selenium | QTP |
---|---|
오픈 소스, 무료로 사용 가능및 무료로. | 상업용. |
높은 확장 성 | 제한된 추가 기능 |
테스트를 실행할 수 있습니다. 다른 브라우저 | 다음에서만 테스트를 실행할 수 있습니다. Firefox, 인터넷 익스플로러 and 크롬 |
지원 다양한 운영체제 | 다음에서만 사용할 수 있습니다. 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 사용자가 프로그래밍 언어를 사용하여 복잡한 테스트를 만들 수 있도록 해주는 도구.
- WebDriver는 테스트 스크립트가 브라우저와 직접 통신하여 OS 수준에서 제어할 수 있도록 하는 새로운 혁신입니다.
- Selenium 그리드는 다음과 함께 사용되는 도구이기도 합니다. Selenium RC는 다양한 브라우저와 운영 체제에서 병렬 테스트를 실행합니다.
- Selenium RC와 WebDriver가 병합되어 형성되었습니다. Selenium 2.
- Selenium 비용과 유연성 측면에서 Microfocus UFT One보다 더 유리합니다.