자동화테스트/Selenium2018. 11. 17. 20:00

Selenium IDE에서 간단한 테스트를 작성 했으므로 이제 WebDriver 라는 고급 도구를 사용하여보다 강력한 스크립트를 작성  합니다.

 

WebDriver 란 무엇입니까?

WebDriver는 Selenium IDE와 달리 Firefox가 아닌 다른 브라우저에 대해 테스트 를 실행할 수있는 웹 자동화 프레임 워크입니다  .

WebDriver 소개 및 Selenium RC와의 비교

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 명령 포함)와 브라우저 만 있으면됩니다.

 

WebDriver 소개 및 Selenium RC와의 비교   

 

 

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 서버는 테스트 스크립트에서 다음 명령을 가져와 전체주기를 반복합니다.

WebDriver 소개 및 Selenium RC와의 비교

2. 속도

WebDriver 소개 및 Selenium RC와의 비교

WebDriver는 Selenium RC보다 빠르며 브라우저에서 직접 말하기 때문에 브라우저의 자체 엔진을 사용하여 제어합니다.

WebDriver 소개 및 Selenium RC와의 비교

Selenium RC는 Javascript 프로그램 인 Selenium Core를 사용하기 때문에 속도가 느립니다  이 Selenium Core는 브라우저가 아니라 브라우저를 직접 제어합니다.

3. 실생활과의 상호 작용

WebDriver 소개 및 Selenium RC와의 비교

WebDriver는 페이지 요소와보다 현실적인 방식으로 상호 작용합니다.  예를 들어 테스트중인 페이지에 텍스트 상자가 비활성화되어있는 경우 WebDriver는 실제 사람이 수행 할 수없는 것처럼 실제 값을 입력 할 수 없습니다.

WebDriver 소개 및 Selenium RC와의 비교

Selenium Core는 다른 JavaScript 코드 와 마찬가지로 사용할 수없는 요소에 액세스 할 수 있습니다. 과거에는 Selenium 테스터가 Selenium Core가 테스트에서 사용할 수없는 텍스트 상자에 값을 입력 할 수 있다고 불평했습니다. API의 차이점      

4. API

WebDriver 소개 및 Selenium RC와의 비교

Selenium RC의 API는 더 성숙되었지만 중복성과 종종 혼란스러운 명령을 포함합니다 . 예를 들어, 대부분의 경우 테스터는 유형 또는 유형 키를 사용할지 여부를 혼동합니다. 또는 click, mouseDown 또는 mouseDownAt를 사용할지 여부를 지정합니다. 더 나쁜, 다른 브라우저는 다른 방법으로 각 명령을 해석합니다!

WebDriver의 API는 Selenium RC보다 간단 합니다. 그것은 중복되고 혼란스러운 명령을 포함하지 않습니다.

5. 브라우저 지원

WebDriver 소개 및 Selenium RC와의 비교

WebDriver는 헤드리스 HtmlUnit 브라우저를 지원할 수 있습니다.

HtmlUnit은 보이지 않는 브라우저이므로 GUI가없는 "헤드리스"라고합니다.

페이지 요소가로드 될 때까지 기다리지 않아도되므로 매우 빠른 브라우저입니다. 이렇게하면 테스트 실행주기가 빨라집니다.

사용자에게는 보이지 않기 때문에 자동화 된 방법으로 만 제어 할 수 있습니다.

Selenium RC는 헤드리스 HtmlUnit 브라우저를 지원할 수 없습니다. 운영을 위해서는 실제적이고 가시적 인 브라우저가 필요합니다.

WebDriver의 한계

WebDriver가 새 브라우저를 쉽게 지원할 수 없음

WebDriver는 OS 수준에서 작동한다는 점을 기억하십시오. 또한 브라우저마다 다른 방식으로 OS와 통신한다는 점을 기억하십시오. 새 브라우저가 나오면 다른 브라우저와 비교하여 OS와 통신하는 프로세스가 다를 수 있습니다. 따라서 WebDriver 팀에게 다음 웹 드라이브 릴리스에 구현하기 전에 새 프로세스를 파악할 시간을 충분히 주어야합니다 .

그러나 개발자가 새로운 브라우저를 지원해야하는지 여부를 결정하는 것은 WebDriver의 개발자 팀에게 달려 있습니다.

테스트 결과 생성기가 내장 된 Selenium RC

Selenium RC는 자동으로 테스트 결과의 HTML 파일을 생성합니다 . 보고서 형식은 RC 자체에서 사전 설정되었습니다. 아래에서이 보고서의 예를 살펴보십시오.

WebDriver 소개 및 Selenium RC와의 비교

 

WebDriver에는 테스트 결과 파일을 자동으로 생성하는 기본 제공 명령이 없습니다 . IDE의 출력 창에 의존하거나 프로그래밍 언어의 기능을 사용하여 보고서를 직접 디자인하고 텍스트, HTML 등으로 저장해야합니다.

개요

  • WebDriver는 다른 프로그래밍 언어를 사용하여 여러 브라우저에서 웹 응용 프로그램을 테스트하기위한 도구입니다 .
  • WebDriver를 사용하면 테스트를 설계 할 때 선택한 프로그래밍 언어를 사용할 수 있으므로 강력한 테스트를 수행 할 수 있습니다 .
  • WebDriver는 아키텍처가 단순하기 때문에 Selenium RC보다 빠릅니다 .
  • Selenium RC가 RC 서버의 도움을 필요로하는 동안 WebDriver 는 브라우저와 직접 대화를합니다 .
  • WebDriver의 API는 Selenium RC 보다 간결 합니다.
  • WebDriver 는 HtmlUnit 을 지원할 수 있지만 Selenium RC 는 지원 하지 않습니다.
  • WebDriver의 단점은 다음과 같습니다.
  • 그것은 쉽게 새로운 브라우저를 지원할 수 있지만, 셀레늄 RC가 있습니다.
  • 그것은 내장 명령이없는 테스트 결과를 자동으로 생성합니다.


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터