ide - extension - selenium parameters



IDE를 통해 WebDriver를 사용하면 어떤 이점이 있습니까? (2)

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

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

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

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

많이 미리 감사드립니다.


Answer #1

선택한 언어의 모든 기능을 사용할 수 있습니다. 예를 들어, IDE를 사용하면 IDE의 API를 사용할 수 없지만 WebDriver를 명시 적으로 사용하도록 선택하면 C #과 결합하여 C #의 전체 기능 (예 : LINQ)을 사용할 수 있습니다.

일부 IDE 명령은 WebDriver로 직접 변환되지 않습니다.

순수한 WebDriver 테스트를 CI (Continuous Integration) 서버에 통합 할 수 있습니다.

IDE는 파이어 폭스에서만 사용 가능하므로 파이어 폭스에만 국한되지 않습니다.

Selenium을보다 쉽게 ​​개선하고 확장 할 수 있습니다. 예를 들어 확장 메서드와 상속을 사용합니다. (예를 들어, 요소를 찾을 수 없을 때마다 페이지의 스크린 샷을 찍을 수 있도록 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 내에서 적용 할 수 있습니다.

Selenium에서 개발 된 대부분의 기능은 WebDriver 코드를 확장하는 것으로 보이지만 IDE에는 새로운 기능이 남아있을 수 있습니다.

WebDriver를 직접 사용하면 단위 테스트 프레임 워크의 전체 기능 (일반적으로 NUnit은 C # 또는 Junit / TestNG for Java)을 사용할 수도 있습니다. 이렇게하면 각 브라우저에 대한 반복 테스트 (예 : Chrome, Firefox 및 IE의 테스트 반복) 또는 테스트 전후의 특정 로직 정의 (예 : 사용자 멤버쉽 추가, 사용자 작성, 다른 테스트 데이터 설정)가 가능합니다.

동료 개발자는 스크립팅 언어 (즉, WebDriver가 프로그래밍 언어로 프로그래밍되었지만 IDE 스크립트는 HTML 파일 일뿐)와 달리 프로그래밍 언어를 사용하는 경우 더 많은 도움을받을 수 있습니다. 솔루션을 야간 빌드 프로세스의 일부로 솔루션에 배치하면 개발자가 테스트 진행을 도울 수 있습니다.

생각해 보면 또 다른 예는 버그가 수정되었지만 테스트가 실패하게 만드는 새로운 버그가 있다는 것입니다. 테스트를 수정하는 것은 누구의 책임입니까? 너 또는 그들? WebDriver를 직접 사용하면 Selenium 소스 코드를 찾아 API 사용법을 직접 파악할 수 있습니다. IDE에서는 말 그대로 javascipt를 호출하는 HTML 파일입니다. 그다지 많은 문서가 없습니다.

요약하면 : 프로그래밍 경험이별로 없다면 언어를 배우고 직접 WebDriver를 사용하거나 IDE를 사용하십시오. 어느 쪽이든 그 일을 할 것입니다.





webdriver