셀레늄이 QTP가 어떤 건지 이해하기 쉽게 만들지 않나요? 프로그래머들 사이에서는 인기가 많지만, 테스트 초보자에게는 큰 장벽이 됩니다.
셀레늄이란 무엇인가요? 셀레늄 RC란 무엇인가요? Webdriver란 무엇인가요? RC와 Webdriver의 관계는 무엇인가요? Webdriver와 프로그래밍 언어의 관계는 무엇인가요? Selenium이 스크립트를 병렬로 실행할 수 있나요?
여기서 곤충 주인은 그들의 복잡한 관계가 복잡하다고 간단히 말해줍니다. 그들 사이의 관계를 바로잡아 진짜로 활용하세요.
셀레늄이란 무엇인가요?
셀레니엄은 IDE, 그리드, RC(셀레늄 1.0), 웹드라이버(셀레늄 2.0) 등을 포함하는 웹 자동화 테스트 도구 세트입니다. Selenium IDE는 Firefox 브라우저용 플러그인입니다. 간단한 스크립트 녹음, 편집, 재생 기능을 제공합니다. 셀레늄 그리드가 시험 발자국을 분배하는 데 사용됩니다. 현재 이 서비스는 Selenium Server에 통합되어 있습니다. RC와 WebDriver는 클라이언트가 브라우저와 상호작용할 수 있도록 프로토콜을 정의하는 명세서로 봐야 합니다. 그리고 요소 위치 및 조작을 위한 인터페이스입니다.
WebDriver란 무엇인가요? 셀레늄 자동 테스트를 처음 접하는 학생들이 API가 무엇이며 프로그래밍 언어와 어떻게 연관되는지 이해하는 것은 쉽지 않습니다.
http://www.w3.org/TR/2013/WD-webdriver-20130117/
처음 셀레늄(WebDriver)을 배웠을 때, 이 문서를 번역하는 데 일주일이 걸렸지만, 그게 무엇인지 이해하지 못했습니다. 사실, 이는 기본 프로토콜 명세서입니다. 예를 들어, Webdriver API는 페이지 요소 ID를 찾는 메서드를 제공해야 한다고 말합니다.
Webdriver는 어떻게 활용 사례를 조직하고 실행하나요?
죄송하지만, webdriver는 안 됩니다.
이러한 페이지 요소를 조작하고 테스트 결과를 입력하는 방법(사용 사례)을 조직하는 것은 프로그래밍 언어의 단위 테스트 프레임워크에 의해 이루어집니다. 예를 들어, Java의 Junit와 TestNG 단위 테스트 프레임워크, Python의 UnitTest 단위 테스트 프레임워크 등이 있습니다.
Selenium RC와 WebDriver 사이의 관계는 무엇인가요?
RC와 WebDriver는 웹 페이지 운영을 위한 명세 집합으로 볼 수 있다는 점에서 유사합니다. 물론 작동 방식은 다릅니다.
selenium RC는 브라우저에서 Javascrip{filter}t 애플리케이션을 실행하며, 브라우저 내장 Javascrip{filter}t 번역기를 사용해 Selenese 명령어를 번역하고 실행합니다(selenese는 selenium 명령어들의 집합입니다).
WebDriver는 네이티브 브라우저 지원이나 확장 프로그램을 통해 브라우저를 직접 제어합니다. WebDriver는 개별 브라우저용으로 개발되었으며, 테스트 대상 웹 애플리케이션에 내장된 Javascrip{filtering}t를 대체합니다. 브라우저와의 긴밀한 통합을 통해 Javascrip{filtering}t 보안 모델의 한계를 피할 수 있는 더 고급 테스트 생성이 가능합니다. 브라우저 벤더의 지원 외에도, WebDriver는 사용자 입력을 시뮬레이션하기 위해 OS 수준의 호출도 사용합니다.
웹드라이버가 좀 더 나은 것 같아요. 호환성을 유지하기 위해 RC와 웹드라이버는 셀레늄 2.0에서 공존하지만, 셀레늄 2.0은 일반적으로 웹드라이버를 의미합니다.
병렬과 분산의 차이점
일부 학생들은 테스트 케이스를 병렬로 실행하는 방법에 대해 궁금해하며, 병렬 처리는 여러 사용 사례를 "동시에" 실행해야 하며, 이는 프로그래밍 언어의 멀티스레딩 기술로도 구현됩니다.
셀레늄 그리드가 분산 실행이 가능하지 않냐고 묻으시죠? 배포의 개념은 서로 다른 플랫폼에서 실행할 수 있는 사용 사례를 작성하는 것입니다. 예를 들어, 컴퓨터 A에서 테스트 케이스를 실행할 수 있습니다. 예를 들어, 컴퓨터 B의 Firefox 브라우저(리눅스)를 호출해 컴퓨터 A에서 테스트 케이스를 실행할 수 있습니다; 컴퓨터 C(윈도우)에서 크롬 브라우저를 호출해 컴퓨터 A에서 테스트 케이스를 실행할 수도 있습니다. 이것이 바로 분배의 개념입니다.
|