Подтвердить что ты не робот

Разница между webdriverjs и webdriverio

Я пытаюсь выбрать инструмент для тестов автоматизации Javascript.

До сих пор я использовал Selenium WebDriver в Java с TestNG для создания своих тестов, но меня попросили найти решение JavaScript для написания тестов.

Конечно, первым делом, на мой взгляд, было перейти на WebDriverJs - он должен быть похож на мои тесты Java.

Но я также нашел другую структуру: WebdriverIO. Я не мог найти ничего, что можно было бы сделать с помощью WebdriverIO, что невозможно с помощью WebDriverJs.

Пожалуйста, помогите мне разобраться в различии, чтобы я мог выбрать правильную структуру для меня.

4b9b3361

Ответ 1

"WebdriverJS" - это другое название selenium-webdriver, официальная реализация Node.JS JSONWire (протокол WebDriver Wire) командой Selenium.

"WebdriverIO" является независимой реализацией протокола JSON Wire от Christian Bromann (профиль SO), который работает в Sauce Labs, провайдере кросс-браузерного тестирования облачной базы. WebdriverIO обертывает свои запросы нижнего уровня полезными командами с кратким синтаксисом:

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

Те же тесты с селен-webdriver сложнее:

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

По крайней мере семь клиентов Webdriver, написанных в Node.JS.

Ответ 2

WebdriverJS на самом деле то, что WebdriverIO упаковывается вместе с тестовым бегуном в формате пакета node. На WebdriverJS, который будет работать WebdriverIO, ничего не может быть сделано. Вы можете использовать WebdriverJS вместе с Jasmine или Mocha.

Конечно, обертки в WebdriverJS и WebdriverIO по-разному помечены, но это не меняет способ реализации протокола WDRE Webdriver.

Если вы тестируете приложения на основе AngularJS, в Protractor существует еще более оптимизированная реализация протокола WebDriver WIRE (который снова распространяется как пакет node).