Selenium IDE에서 간단한 테스트를 작성 했으므로 이제 WebDriver 라는 고급 도구를 사용하여보다 강력한 스크립트를 작성 합니다.
WebDriver 란 무엇입니까?
WebDriver는 Selenium IDE와 달리 Firefox가 아닌 다른 브라우저에 대해 테스트 를 실행할 수있는 웹 자동화 프레임 워크입니다 .
WebDriver를 사용하면 테스트 스크립트를 작성할 때 프로그래밍 언어 를 사용할 수 있습니다 (Selenium IDE에서는 불가능 함).
- 이제 if-then-else 또는 switch-case와 같은 조건부 연산을 사용할 수 있습니다.
- do-while과 같은 루핑 을 수행 할 수도 있습니다 .
다음 프로그래밍 언어는 WebDriver에서 지원됩니다.
당신은 그들 모두를 알 필요가 없습니다. 당신은 하나에 지식이 있어야합니다. 그러나이 튜토리얼에서는 Eclipse를 IDE로 사용합니다.
Selenium RC와 Webdriver의 차이점
2006 년 WebDriver가 등장하기 전에 Selenium Remote Control이라는 자동화 도구 가있었습니다 . WebDriver와 Selenium RC에는 다음과 같은 기능이 있습니다.
- 둘 다 테스트 스크립트를 설계 할 때 프로그래밍 언어 를 사용할 수 있습니다 .
- 둘 다 서로 다른 브라우저에 대해 테스트 를 실행할 수 있습니다 .
그럼 어떻게 다른가요? 해답을 논의 해 보겠습니다.
1. 건축
WebDriver의 아키텍처는 Selenium RC보다 간단 합니다.
- OS 수준에서 브라우저를 제어합니다.
- 프로그래밍 언어의 IDE (Selenium 명령 포함)와 브라우저 만 있으면됩니다.
Selenium RC의 아키텍처는 훨씬 더 복잡합니다.
- 먼저 테스트를 시작하기 전에 Selenium Remote Control (RC) 서버라는 별도의 응용 프로그램 을 시작해야합니다.
- Selenium RC Server 는 Selenium 명령과 브라우저 사이의 "중개자"역할을합니다.
- 테스트를 시작할 때 Selenium RC Server 는 브라우저에 Selenium Core라는 Javascript 프로그램을 "주입" 합니다.
- 일단 주입되면 Selenium Core는 테스트 프로그램에서 RC 서버에 의해 릴레이 된 지시를 받기 시작할 것입니다.
- 명령어가 수신되면 Selenium Core는 명령어를 Javascript 명령어로 실행합니다.
- 브라우저는 Selenium Core의 지시 사항을 따르며 RC 서버에 대한 응답을 릴레이합니다.
- RC 서버는 브라우저의 응답을 수신 한 다음 결과를 표시합니다.
- RC 서버는 테스트 스크립트에서 다음 명령을 가져와 전체주기를 반복합니다.
2. 속도
WebDriver는 Selenium RC보다 빠르며 브라우저에서 직접 말하기 때문에 브라우저의 자체 엔진을 사용하여 제어합니다.
Selenium RC는 Javascript 프로그램 인 Selenium Core를 사용하기 때문에 속도가 느립니다 . 이 Selenium Core는 브라우저가 아니라 브라우저를 직접 제어합니다.
3. 실생활과의 상호 작용
WebDriver는 페이지 요소와보다 현실적인 방식으로 상호 작용합니다. 예를 들어 테스트중인 페이지에 텍스트 상자가 비활성화되어있는 경우 WebDriver는 실제 사람이 수행 할 수없는 것처럼 실제 값을 입력 할 수 없습니다.
Selenium Core는 다른 JavaScript 코드 와 마찬가지로 사용할 수없는 요소에 액세스 할 수 있습니다. 과거에는 Selenium 테스터가 Selenium Core가 테스트에서 사용할 수없는 텍스트 상자에 값을 입력 할 수 있다고 불평했습니다. API의 차이점
4. API
Selenium RC의 API는 더 성숙되었지만 중복성과 종종 혼란스러운 명령을 포함합니다 . 예를 들어, 대부분의 경우 테스터는 유형 또는 유형 키를 사용할지 여부를 혼동합니다. 또는 click, mouseDown 또는 mouseDownAt를 사용할지 여부를 지정합니다. 더 나쁜, 다른 브라우저는 다른 방법으로 각 명령을 해석합니다!
WebDriver의 API는 Selenium RC보다 간단 합니다. 그것은 중복되고 혼란스러운 명령을 포함하지 않습니다.
5. 브라우저 지원
WebDriver는 헤드리스 HtmlUnit 브라우저를 지원할 수 있습니다.
HtmlUnit은 보이지 않는 브라우저이므로 GUI가없는 "헤드리스"라고합니다.
페이지 요소가로드 될 때까지 기다리지 않아도되므로 매우 빠른 브라우저입니다. 이렇게하면 테스트 실행주기가 빨라집니다.
사용자에게는 보이지 않기 때문에 자동화 된 방법으로 만 제어 할 수 있습니다.
Selenium RC는 헤드리스 HtmlUnit 브라우저를 지원할 수 없습니다. 운영을 위해서는 실제적이고 가시적 인 브라우저가 필요합니다.
WebDriver의 한계
WebDriver가 새 브라우저를 쉽게 지원할 수 없음
WebDriver는 OS 수준에서 작동한다는 점을 기억하십시오. 또한 브라우저마다 다른 방식으로 OS와 통신한다는 점을 기억하십시오. 새 브라우저가 나오면 다른 브라우저와 비교하여 OS와 통신하는 프로세스가 다를 수 있습니다. 따라서 WebDriver 팀에게 다음 웹 드라이브 릴리스에 구현하기 전에 새 프로세스를 파악할 시간을 충분히 주어야합니다 .
그러나 개발자가 새로운 브라우저를 지원해야하는지 여부를 결정하는 것은 WebDriver의 개발자 팀에게 달려 있습니다.
테스트 결과 생성기가 내장 된 Selenium RC
Selenium RC는 자동으로 테스트 결과의 HTML 파일을 생성합니다 . 보고서 형식은 RC 자체에서 사전 설정되었습니다. 아래에서이 보고서의 예를 살펴보십시오.
WebDriver에는 테스트 결과 파일을 자동으로 생성하는 기본 제공 명령이 없습니다 . IDE의 출력 창에 의존하거나 프로그래밍 언어의 기능을 사용하여 보고서를 직접 디자인하고 텍스트, HTML 등으로 저장해야합니다.
개요
- WebDriver는 다른 프로그래밍 언어를 사용하여 여러 브라우저에서 웹 응용 프로그램을 테스트하기위한 도구입니다 .
- WebDriver를 사용하면 테스트를 설계 할 때 선택한 프로그래밍 언어를 사용할 수 있으므로 강력한 테스트를 수행 할 수 있습니다 .
- WebDriver는 아키텍처가 단순하기 때문에 Selenium RC보다 빠릅니다 .
- Selenium RC가 RC 서버의 도움을 필요로하는 동안 WebDriver 는 브라우저와 직접 대화를합니다 .
- WebDriver의 API는 Selenium RC 보다 간결 합니다.
- WebDriver 는 HtmlUnit 을 지원할 수 있지만 Selenium RC 는 지원 하지 않습니다.
- WebDriver의 단점은 다음과 같습니다.
- 그것은 쉽게 새로운 브라우저를 지원할 수 있지만, 셀레늄 RC가 있습니다.
- 그것은 내장 명령이없는 테스트 결과를 자동으로 생성합니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
첫 번째 Selenium Webdriver 스크립트 : 자바 코드 예제 (0) | 2018.11.19 |
---|---|
Selenium WebDriver를 다운로드하고 설치하는 방법 (0) | 2018.11.18 |
Selenium IDE에서 변수, 에코, 경고, 팝업 처리 저장 (0) | 2018.11.16 |
대기, Selenium IDE에서 현재 / 가시 요소 확인 (0) | 2018.11.15 |
Selenium IDE에서 로케이터를 사용하는 방법 (0) | 2018.11.14 |