선택한 언어의 모든 기능을 사용할 수 있습니다. 예를 들어, IDE를 사용하면 IDE의 API를 사용할 수 없지만 WebDriver를 명시 적으로 사용하도록 선택하면 C#과 결합하여 C#의 전체 기능 (예 : LINQ)을 사용할 수 있습니다.
일부 IDE 명령은 WebDriver로 직접 변환되지 않습니다.
순수한 WebDriver 테스트를 CI (연속 통합) 서버에 통합 할 수 있습니다.
파이어 폭스에만 국한되는 것이 아니라 IDE가 (파이어 폭스에서만 IDE를 사용할 수 있기 때문에) IDE에 국한되지 않습니다.
셀렌을보다 쉽게 개선하고 확장 할 수 있습니다. 예를 들어 확장 메서드와 상속을 사용합니다. (예를 들어, 요소를 찾을 수 없을 때마다 페이지의 스크린 샷을 취할 수 있도록 Selenium을 확장하십시오.)
IDE가 항상 가장 안정적인 요소 찾기 기능을 제공하지는 않기 때문에 더욱 강력해질 것입니다. 예를 들어 필요한 요소가 테이블 내에 중첩되어 있으면 IDE에서 제공하는 XPath가 특정 테이블 행과 셀을 직접 추론합니다. 이 같은
예를 들어 뭔가 :
//table[1]/tr[1]/td[2]/table[1]/tr[1]/td[3]/a[1]/b
는 세계에서 가장 신뢰할 수있는 XPath를하지 않습니다. XPath 또는 자동화 된 테스팅이나 Selenium의 작동 방식에 대해 알지 못하는 사람들은이를 고수하고이 XPath 쿼리가 실패한 이유를 파악하는 데 시간을 낭비 할 것입니다. 다른 사람들은 그것을 바꿀 것이고 XPath를 기본 쿼리로 사용합니다.
프로그래밍 지식이없는 사람들 (예 : 테스터)에게는 IDE를 사용해야하며 개발자 및/또는 테스트 개발자가 Selenium을 사용하기를 원하면 WebDriver로 직접 이동하십시오. 스크립트가 아닌 완전한 언어로 프로그래밍하는 것처럼 느껴질 것입니다 (결국 IDE가 생성하는 스크립트는 순수하게 HTML 파일입니다). 이 아이디어는 일반적으로 프로그래밍에 대한 지식이 부족하여 단순히 '플레이'를 치고 셀레늄이 작업을하도록하는 사람들을위한 것입니다.
끌어서 놓기는 IDE와 WebDriver에서 적용 할 수 있습니다.
셀레늄의 개발의 대부분은 WebDriver 코드를 확장하는 것으로 보입니다. IDE에는 몇 가지 새로운 기능이 남아있을 수 있습니다.
WebDriver를 직접 사용하면 단위 테스트 프레임 워크 (일반적으로 C#에서는 NUnit, Java에서는 Junit/TestNG)의 모든 기능을 사용할 수도 있습니다. 이렇게하면 각 브라우저에 대한 반복 테스트 (예 :e, Chrome, Firefox 및 IE에서 테스트 반복) 또는 테스트 전후의 특정 로직 정의 (즉, 사용자 멤버쉽 추가, 사용자 생성, 다른 테스트 데이터 설정).
동료 개발자는 스크립팅 언어 (즉, 프로그래밍 언어로 프로그래밍 된 WebDriver, IDE 스크립트는 HTML 파일)와는 달리 프로그래밍 언어를 사용하는 경우 더 많은 도움을받을 수 있습니다. 솔루션을 야간 빌드 프로세스의 일부로 솔루션에 배치하면 개발자가 테스트 진행을 도울 수 있습니다.
또 다른 예는 버그가 수정되었지만 테스트를 실패하게 만드는 새로운 버그가 있음을 나타냅니다. 테스트를 수정하는 것은 누구의 책임입니까? 너 또는 그들? WebDriver를 직접 사용하면 Selenium 소스 코드를 찾아 API 사용법을 직접 파악할 수 있습니다. IDE에서는 말 그대로 javascipt를 호출하는 HTML 파일입니다. 그다지 많은 문서가 없습니다.
요약 : 많은 프로그래밍 경험이없는 경우 언어를 배우고 직접 WebDriver를 사용하거나 IDE로 고정하십시오. 어느 쪽이든 그 일을 할 것입니다.