2014-02-06 6 views
8

나는 Selenium-webdriver를 사용하는 전문 직업인입니다. 자바 스크립트 애플리케이션을 테스트하는 방법에 대한 더 많은 옵션을 탐색 중이며 webdriverJs를 발견했습니다. 불행히도, 나는이 두 가지 (2)의 차이점을 이해하지 못합니다.webdriverjs에서 selenium-webdriver의 차이점은 무엇입니까?

누군가 webdriverJs를 통해 selenium-webdriver를 사용할시기와 이점을 설명해 주실 수 있습니까?

감사합니다.

+0

일반 사항 : WebdriverJS는 이제 WebdriverIO라고하며, npm install webdriverio와 함께 설치해야합니다. 여전히'npm webdriverjs를 설치할 수 있습니다. '하지만 더 이상 사용되지 않으며 NPM 프로젝트가 더 이상 유지되지 않습니다. – user2859458

답변

5

WebDriverJS 및 selenium-webdriver는 모두 Webdriver API의 JavaScript 바인딩입니다.

유일한 차이점은 selenium-webdriver가 Selenium 팀에서 유지 관리하는 공식 구현이지만 WebDriverJS는 유지 관리되지 않는다는 것입니다. WebDriverJS는 제 3 자에 의해 유지 관리됩니다.

+0

예, 이해합니다. 사용 된 "테스트 웹 응용 프로그램"의 관점에서 무엇을 사용해야할지 정말 중요합니까? – Major

+0

전혀 아닙니다. 셀레늄은 원래 자바 프로젝트 였기 때문에 자바가 가장 많이 테스트되고 사용되었다고 가정하는 것이 안전하다고 생각할 수도 있습니다. 나는 그런 식으로하는 것이 좋겠지 만, 여러분의 시스템이 필요로하는 것이 무엇인지, 그리고 좋은 것이 무엇인지에 달려 있습니다. 여기 내가 일하는 곳은 자바 가게입니다. 루비를 중심으로 작업했다면, 너무 멀리 벗어나지 마십시오. 루비 API를 사용하십시오. 귀하의 애플 리케이션 노드 js 있다면, 나는 webdriver js 권하고 싶습니다. 그것은 당신에게 달려 있습니다. – sircapsalot

+0

감사합니다. 그래서 기본적으로 webdriver와 webdriverJ가 같은 일을한다고 말하는 것입니까? 시험을 치르기 위해 어떤 언어를 사용하는 것이 중요합니다. – Major

26

기본적으로 같은 일을합니다. 가장 큰 차이점은 테스트를 작성하는 방법입니다. selenium-webdriver는 약속과 콜백이 혼합되어 있습니다. WebdriverIO는 약속 만 사용하며 독립 실행 형 또는 내부 테스트 러너와 함께 사용할 수 있습니다. wd.js라는 라이브러리도 있습니다. 다음은 세 가지 맛의 모든 예입니다.

셀레늄 webdriverjs :

driver.get('http://www.google.com'); 
driver.findElement(webdriver.By.id('q')).sendKeys('webdriver'); 
driver.findElement(webdriver.By.id('btnG')).click(); 

WD.js

browser 
    .get("http://www.google.com") 
    .elementById('q') 
    .sendKeys('webdriver') 
    .elementById('btnG') 
    .click() 

WebdriverIO :

browser 
    .url('http://google.com') 
    .setValue('#q','webdriver') 
    .click('#btnG') 

WebdriverIOs 개념은 편리한 액션 명령의 모든 프로토콜 명령을 래핑하는 것입니다 그러나 또한이 거의 모든 프로토콜 명령이 구현되므로 표준 JSON을 사용하여 동일한 작업을 수행 할 수 있습니다. 와이어 프로토콜 명령어.

+0

의견을 보내 주셔서 감사합니다. 귀하의 의견으로는 언제, 왜 그리고 언제 webdriverJs를 사용합니까? – Major

+0

모든 셀레늄 테스트에 WebdriverJS를 사용합니다. 수퍼 단순하고 확장 성이 뛰어납니다. 그러나이 도서관의 관리자로서 나는 이것에 대해 다른 의견을 가지고 있을지 모른다. – ChristianB

관련 문제