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);
});
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