简体   繁体   中英

what are the differences (and when to use) selenium-webdriver over webdriverjs?

I'm an experience professional that uses selenium-webdriver. I'm exploring more options on how to test javascript applications and I found webdriverJs. Unfortunately, I dont understand what's the difference between these two (2).

Can someone please explain when to use selenium-webdriver over webdriverJs and the benefits?

Thanks!

They do basically the same thing. The main difference is how you write your tests. selenium-webdriver is a mix of promises and callbacks - WebdriverIO only works with promises and can be used as standalone or with an internal testrunner. There is also a library called wd.js. Here is an example of how all three flavors.

selenium-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 concept is to wrap all protocol commands in handy action commands but it has also almost all protocol commands implemented, so you can do the same with the standard JSONWire protocol commands.

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

WebDriverJS and selenium-webdriver are both JavaScript bindings for the Webdriver API.

The only difference is that selenium-webdriver is the official implementation maintained by the selenium team, whereas WebDriverJS is not. WebDriverJS is maintained by a third-party.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM