2014-02-06 2 views
8

Ich bin ein erfahrener Experte, der Selen-Webdriver verwendet. Ich erkunde mehr Optionen zum Testen von Javascript-Anwendungen und ich fand webdriverJs. Leider verstehe ich nicht, was der Unterschied zwischen diesen beiden ist (2).Was sind die Unterschiede (und wann) selen-webdriver über webdriverjs?

Kann jemand bitte erklären, wann Selen-Webdriver über WebdriverJs und die Vorteile zu verwenden?

Danke!

+0

Allgemeiner Hinweis: WebdriverJS heißt jetzt WebdriverIO und sollte mit 'npm install webdriverio' installiert werden. Sie können 'webmdriverjs' trotzdem installieren, aber es ist veraltet und das NPM-Projekt wird nicht mehr gepflegt. – user2859458

Antwort

5

WebDriverJS und Selen-Webdriver sind beide JavaScript-Bindungen für die Webdriver-API.

Der einzige Unterschied ist, dass Selen-Webdriver die offizielle Implementierung des Selen-Teams ist, WebDriverJS hingegen nicht. WebDriverJS wird von einem Drittanbieter verwaltet.

+0

Ja, das verstehe ich. in Bezug auf die verwendeten "Testing Web Applications", ist es wirklich wichtig, was zu verwenden? – Major

+0

gar nicht .. obwohl, ich könnte beachten, dass Selenium ursprünglich ein Java-Projekt war, so dass ich denke, es ist sicher anzunehmen, dass Java am meisten getestet und verwendet wird. Ich würde empfehlen, so zu gehen, aber es hängt alles davon ab, was Ihre Systeme brauchen und was nett ist. Hier, wo ich arbeite, ist es ein Java-Shop. Wenn Sie hauptsächlich mit Ruby gearbeitet haben, sollten Sie sich nicht zu weit davon entfernen. Verwende die Ruby API. Wenn Ihre Apps Knoten js sind, würde ich webdriver js empfehlen. Es hängt alles von dir ab. – sircapsalot

+0

Ich sehe danke. Also, was Sie sagen, beide Webdriver und WebdriverJs machen den gleichen Job? Es ist nur eine Frage der Präferenz, in welcher Sprache Sie Ihren Test schreiben. – Major

26

Sie tun im Grunde die gleiche Sache. Der Hauptunterschied besteht darin, wie Sie Ihre Tests schreiben. Selen-Webdriver ist eine Mischung aus Versprechen und Callbacks - WebdriverIO funktioniert nur mit Versprechen und kann als Standalone oder mit einem internen Tester verwendet werden. Es gibt auch eine Bibliothek namens wd.js. Hier ist ein Beispiel wie alle drei Geschmacksrichtungen.

Selen-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: auch

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

WebdriverIOs Konzept ist es, alle Protokollbefehle in handliche Aktionsbefehle wickeln, aber es hat Fast alle Protokollbefehle sind implementiert, so dass Sie das gleiche mit dem Standard-JSON tun können Wire-Protokoll-Befehle.

browser 
    .url('http://google.com') 
    .element('#q').then(function(res) { 
     return browser.elementIdValue(res.value.ELEMENT, 'webdriver'); 
    }) 
    .element('#btnG').then(function(res) { 
     return browser.elementIdClick(res.value.ELEMENT); 
    }); 
+0

Danke für Ihr Feedback. Warum und wann benutzt du webdriverJs? – Major

+0

Ich verwende WebdriverJS für alle meine Selentests. Es ist super einfach und sehr erweiterbar. Aber als Betreuer dieser Bibliothek mag ich eine andere Meinung haben als andere. – ChristianB

Verwandte Themen