WebDriver - это инструмент для автоматизации тестирования веб-приложений. Он широко известен как Selenium 2.0. WebDriver использует другую базовую структуру, в то время как Selenium RC использует JavaScript Selenium-Core, встроенный в браузер, который имеет некоторые ограничения. WebDriver взаимодействует напрямую с браузером без какого-либо посредника, в отличие от Selenium RC, который зависит от сервера. Он используется в следующем контексте:

  • Многосерверное тестирование, включая улучшенные функциональные возможности для браузеров, которые не поддерживаются Selenium RC (Selenium 1.0).
  • Обработка нескольких фреймов, нескольких окон браузера, всплывающих окон и предупреждений.
  • Комплексная навигация по страницам.
  • Расширенная пользовательская навигация, такая как перетаскивание.
  • Элементы пользовательского интерфейса на основе AJAX.

Selenium RC Vs WebDriver

Selenium RC Selenium WebDriver
Архитектура Selenium RC сложна, так как сервер должен быть запущен и запущен перед началом теста. Архитектура WebDriver проще, чем Selenium RC, поскольку она управляет браузером с уровня ОС.
Селен-сервер выступает посредником между браузером и командами Selenese. WebDriver взаимодействует напрямую с браузером и использует механизм браузера для управления им.
Выполнение сценария Selenium RC выполняется медленнее, поскольку он использует Javascript для взаимодействия с RC. WebDriver работает быстрее, так как он напрямую взаимодействует с браузером.
Selenium RC не может поддерживать безгласное выполнение, поскольку для работы с ним необходим настоящий браузер. WebDriver может поддерживать безгласное выполнение.
Это простой и маленький API. Сложный и немного большой API по сравнению с RC.
Менее объектно-ориентированный API. Чисто объектно-ориентированный API.
Не удается проверить мобильные приложения. Может тестировать приложения iPhone / Android.

 Команды WebDriver

В следующей таблице перечислены некоторые из наиболее часто используемых команд в WebDriver вместе с их синтаксисом.

Команда Описание
driver.get("URL") Чтобы перейти к приложению.
element.sendKeys("inputtext") Введите текст в поле ввода.
element.clear() Очистите содержимое из окна ввода.
select.deselectAll() Отмените выбор всех ОПЦИЙ из первого SELECT на странице.
select.selectByVisibleText("some text") Выберите OPTION с вводом, указанным пользователем.
driver.switchTo().window("windowName") Переместите фокус из одного окна в другое.
driver.switchTo().frame("frameName") Качели от кадра к кадру.
driver.switchTo().alert() Помогает в обработке предупреждений.
driver.navigate().to("URL") Перейдите к URL-адресу.
driver.navigate().forward() Перемещение вперед.
driver.navigate().back() Чтобы вернуться назад.
driver.close() Закрывает текущий браузер, связанный с драйвером.
driver.quit() Выключает драйвер и закрывает все связанные окна этого драйвера.
driver.refresh() Обновляет текущую страницу.