Протокол WebDriver Wire
Первоначальный проект Протокол WebDriver Wire представлял собой предложение о том, что все реализации WebDriver, которые будут взаимодействовать с браузером или сервером RemoteWebDriver, должны использовать общий провод протокол. Этот проводной протокол определил веб-службу RESTful с использованием JSON по HTTP.
В соответствии с первоначальным предложением и практикой некоторые из объектов JSON были следующими :
- WebElement JSON Object : JSON представление WebElement для передачи по проводам. Этот объект будет иметь следующие свойства:
![WebElement JSON Object](https://i.stack.imgur.com/fdh4o.png)
- Возможности JSON Объект : Не весь сервер Реализации будут поддерживать каждую функцию WebDriver. Поэтому клиент и сервер должны использовать JSON объекты со свойствами, перечисленными ниже, при описании того, какие функции поддерживает сеанс.
- Желаемые возможности : Возможности JSON Объект, отправленный клиентом описание возможностей, которыми должен обладать новый сеанс, созданный сервером. Любые пропущенные ключи неявно указывают, что соответствующая возможность не имеет значения. Больше на DesiredCapabilities .
- Actual Capabilities : A Capabilities JSON Объект, возвращаемый сервером, описывающий, какие функции фактически поддерживает сеанс. Любые пропущенные ключи неявно указывают, что соответствующая возможность не поддерживается.
- et c
WebDriver W3 C Спецификация
С введением WebDriver W3 C Спецификация были определены следующие стандарты:
- Удаленные концы WebDriver должны предоставлять HTTP-совместимый проводной протокол, в котором конечные точки сопоставляются с различными командами .
- Хотя этот стандарт определяет только протокол удаленного конца, он не предъявляет требований к реализации локальных концов.
- Ожидается, что локальные окончания будут совместимы только в той степени, в которой они могут говорить. протокол удаленного конца; к их открытому пользовательскому API не предъявляются никакие требования.
Команды
Протокол WebDriver организован в команды. Каждый HTTP-запрос с методом и шаблоном, определенными в этой спецификации, представляет собой одну команду, и поэтому каждая команда создает один HTTP-ответ. В ответ на команду удаленный конец выполнит ряд действий, известных как шаги удаленного конца. Они обеспечивают последовательность действий, которые удаленный конец выполняет, когда он получает определенную команду.
Конечные точки
В приведенной ниже таблице конечных точек перечислены метод и шаблон URI для каждой команды узла конечной точки. и их текущая поддержка в ChromeDriver .
![chromeScreenshot](https://i.stack.imgur.com/67UN3.png)