2012-09-29 13 views
3

나는 Selenium을 처음 사용하며 IDE를 사용하여 약 1 주일을 보냈다. 여태까지는 그런대로 잘됐다. 그러나 우리 애플리케이션의 일부 다른 부분에는 무거운 드래그 앤 드롭 기능이 포함되어 있습니다. 그 점에 대해서는 확신이 없습니다 ... 제 질문에 ... 어떤 점에서 WebDriver가 IDE에서 할 수없는 특정 유형의 것들이 있습니까? 해야 할 것? Selenium 프론트 페이지를 읽고 WebDriver가보다 "강력한"테스트를 수행 할 수 있다는 것을 알고 있지만이 컨텍스트에서 강력한 수단이 무엇인지 명확하게 알 수는 없습니까? 더 길게? 더 많은 기능?IDE를 통해 WebDriver를 사용하면 어떤 이점이 있습니까?

내가 찾고있는 것은 IDE에서 실행할 수없는 WebDriver에서 실행할 수있는 특정 테스트 유형입니다. 드래그 앤 드롭과 관련이 있습니까? IDE를 계속 사용할지 또는 전환할지 여부에 대한 내 결정을 알려줍니다. 처음부터 무언가를 사용하는 것이 테스트를 많이 작성한 다음 전환하는 것보다 낫다고 생각합니다.

미리 감사드립니다.

답변

4

선택한 언어의 모든 기능을 사용할 수 있습니다. 예를 들어, 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로 고정하십시오. 어느 쪽이든 그 일을 할 것입니다.

0

IDE는 심각한 자동화에 사용할 수 없습니다. 나는 API를 배우고 Java/C#/Python과 함께 사용할 것이다. 그것은 당신이 좋은 자동화를 만들어 내는데 도움이 될 것이고 정말 좋은 수익을 올릴 것입니다.

언제든지 IDE를 사용하여 코드 생성 방법을 배울 수 있습니다.

관련 문제