В чем разница между протоколом WebDriver и DevTool

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

У меня вопрос, почему есть два разных протокола и в чем основное различие между этими двумя протоколами? Есть ли какой-нибудь опыт отбора, которым можно поделиться для разработки проекта?

Заранее спасибо!

Ссылка:

2 ответа

Решение

WebDriver

WebDriver предоставляет нам хорошо разработанный объектно-ориентированный API, который может обеспечить улучшенную поддержку современных современных веб-приложений, созданных с помощью динамических веб-страниц. Короче говоря, WebDriver - это интерфейс удаленного управления, который позволяет нам анализировать и контролировать пользовательские агенты. Он предоставляет нам платформу и независимый от языка проводной протокол, а также позволяет внешним программам удаленно инструктировать поведение веб-браузеров.

Спецификация WebDriver

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

Протокол DevTools

Протокол инструментов разработчика используется различными браузерами, механизмами JavaScript и инструментами отладки для:

  • Помогите веб-разработчикам с набором инструментов диагностики, которые хорошо работают в различных целях.
  • Чтобы удовлетворить потребность в целевых адаптерах протокола devtools и упростить работу пользователей и разработчиков инструментов.
  • Обеспечить независимую от поставщика платформу для облегчения сотрудничества и взаимного консенсуса между различными реализациями протоколов и заинтересованными клиентами.
  • Сократите затраты на разработку, необходимые для создания любых других совместимых реализаций протоколов в соответствии с пользовательскими историями.

Вот некоторые из браузерных движков и браузеров, которые имеют встроенный протокол отладки:

Некоторые из адаптеров, которые выставляют общий протокол:

Здесь вы можете найти список адаптеров в RemoteDebug - Protocol Adaptors


1. Обратите внимание, что DevTools Protocol для Firefox находится в стадии разработки

2. Обратите внимание, что DevTools Protocol для Edge - работа в прогрессе

Основное различие между протоколом WebDriver и протоколом DevTools заключается в том, что протоколу WebDriver необходим посредник, такой как драйвер браузера (например, chrome-driver), который является сервером, который находится между сценарием автоматизации и браузером, обеспечивающим управление браузером, но в случае протокола DevTools Скрипт автоматизации может напрямую взаимодействовать с браузером, работающим в режиме отладки, что упрощает автоматизацию без головы.

А драйвер Chrome внутренне использует протокол DevTools для управления браузером, поэтому, если мы используем протокол WebDriver, он, в свою очередь, будет использовать протокол Devtools для управления браузером.

Если кросс-браузерное тестирование является чем-то важным для нового инструмента тестирования, протокол DevTools сейчас может не подойти, так как еще нет стандарта, и он в основном находится в стадии разработки. В противном случае протокол DevTools будет отличным выбором, поскольку он дает больше контроля, например, перехватывает заголовок запроса, моделирует сеть и т. Д., А также упрощает автоматизированную автоматизацию.

Другие вопросы по тегам