Как процесс Selenium webdriver взаимодействует с Safari и Firefox? - PullRequest
0 голосов
/ 18 марта 2020

Итак, у меня есть вопрос о Selenium, в частности о том, как он работает с различными браузерами. Я знаю, что когда мы говорим о Chrome взаимодействиях, у нас есть 4 слоя (грубо говоря):

Слой 1 - наш исходный код, который использует все функциональные возможности, предоставленные нам библиотекой Selenium

Уровень 2 - библиотека Selenium, которая в основном отправляет HTTP-запросы процессу WebDriver и анализирует его ответы, возвращаясь обратно к экземплярам, ​​оберткам и абстракциям удобного класса уровня 1.

Уровень 3 - это процесс WebDriver, работающий на хост-ОС, взаимодействующий с экземпляром Chrome с помощью протокола websockets и Chrome протокола DevTools, работающего над ним.

Слой 4 - это экземпляр целевого браузера Chrome.

Так что мне все ясно ... если мы не изменим целевой браузер на Firefox или Safari. Я бы предположил, что мы больше не используем Chrome протокол Devtools для связи между процессом веб-драйвера и экземпляром браузера.

Но тогда как процесс веб-драйвера взаимодействует с браузерами на основе Gecko и WebKit?

...