/ / jakie są różnice (i kiedy używać) selen-webdriver przez webdriverjs? - javascript, selen, selen-webdriver

jakie są różnice (i kiedy używać) selen-webdriver na webdriverjs? - javascript, selen, selen-webdriver

Jestem doświadczonym profesjonalistą, który używaselen-webdriver. Odkrywam więcej opcji testowania aplikacji javascript i znalazłem webdriverJs. Niestety, nie rozumiem, jaka jest różnica między tymi dwoma (2).

Czy ktoś może wyjaśnić, kiedy używać selen-webdriver przez webdriverJs i korzyści?

Dzięki!

Odpowiedzi:

5 dla odpowiedzi № 1

WebDriverJS i selen-webdriver są wiązaniami JavaScript dla interfejsu API Webdriver.

Jedyną różnicą jest to, że selen-webdriver jest oficjalną implementacją utrzymywaną przez zespół selenu, podczas gdy WebDriverJS nie jest. WebDriverJS jest obsługiwany przez stronę trzecią.


27 dla odpowiedzi nr 2

Zasadniczo robią to samo. Główną różnicą jest to, jak piszesz swoje testy. selen-webdriver to połączenie obietnic i callbacków - WebdriverIO działa tylko z obietnicami i może być używany jako samodzielny lub z wewnętrznym testrunnerem. Istnieje również biblioteka o nazwie wd.js. Oto przykład, jak wszystkie trzy smaki.

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")

Koncepcja WebdriverIOs obejmuje cały protokółPolecenia w poręcznych poleceniach akcji, ale ma też prawie wszystkie polecenia protokołu zaimplementowane, więc możesz zrobić to samo ze standardowymi poleceniami protokołu JSONWire.

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