Понимание тестирования Selenium

Я пытался настроить тестирование для приложения, но я изо всех сил пытаюсь получить правильное представление о селене.

Может ли кто-нибудь объяснить значение селенового веб-драйвера и селенового сервера?

Я считаю нормальным тестировать использование мокко в качестве основы, а затем использование веб-драйвера и сервера selenium.

Но недавно я прочитал о новых фреймворках, таких как intern.js, которые не требуют сервера selenium, а только chromedriver. Так является ли chromedriver только частью извлеченного веб-драйвера селена?

Трудно понять, как все это вписывается.


person Elliot    schedule 06.01.2016    source источник


Ответы (1)


Все серверы Selenium 2/WebDriver (ChromeDriver, MicrosoftWebDriver, GhostDriver и т. д.) номинально используют один и тот же протокол WebDriver. Таким образом, когда ваше программное обеспечение для тестирования пытается подключиться к серверу WebDriver, не имеет значения, является ли сервер на другом конце Selenium, ChromeDriver, BrowserStack или чем-то еще, поскольку все они используют один и тот же стандартизированный API WebDriver.

Серверное программное обеспечение Selenium предоставляет две важные дополнительные функции, которых не было бы, если бы вы просто подключались напрямую к ChromeDriver:

  1. В то время как ChromeDriver позволяет вам взаимодействовать только с Chrome, сервер Selenium позволяет вам взаимодействовать с несколькими разными браузерами, при этом подключаясь к одной конечной точке HTTP. Когда вы используете сервер Selenium, он позволяет различным браузерам регистрироваться на нем, поэтому, когда вы запрашиваете, например. Firefox, сервер Selenium найдет доступный экземпляр Firefox для вашего запроса, а затем проксирует весь трафик для этого сеанса в этот браузер и из него.

  2. Сервер Selenium поддерживает перевод в/из других систем автоматизации браузера, которые изначально не используют API WebDriver, таких как Marionette от Mozilla (которая использовала/использует собственный протокол TCP) и более старый IEDriverServer.

Что касается конкретно ChromeDriver: исторически реализации Selenium для каждого браузера были написаны командой Selenium, но теперь, когда WebDriver является новым стандартом, поставщики браузеров несут ответственность за написание своих собственных реализаций WebDriver вместо того, чтобы оставлять эту работу команде Selenium. В то время как FirefoxDriver и IEDriverServer в настоящее время все еще поддерживаются командой Selenium, ChromeDriver разрабатывается независимо командой Chrome, и в будущем каждый поставщик браузера, как мы надеемся, будет предоставлять свои собственные службы WebDriver.

person C Snover    schedule 06.01.2016
comment
Спасибо, это многое прояснило! У меня возникли проблемы с поиском информации о том, как они связаны. - person Elliot; 07.01.2016