Ответ 1
Прежде всего, в настоящее время у вас 5 различных встроенных параметров/способов подключения к драйверам браузера:
- укажите
seleniumServerJar
для запуска локального автономного сервера selenium. - укажите
seleniumAddress
для подключения к работающему серверу selenium (локальному или удаленному) - установить
sauceUser
иsauceKey
для подключения к удаленному серверу Sauce Labs - установить
browserstackUser
иbrowserstackKey
для использования удаленных серверов Selenium через BrowserStack - используйте
directConnect
для непосредственного подключения к Chrome или Firefox. Существуют дополнительные настройкиchromeDriver
иfirefoxPath
, которые вы можете использовать для определения пользовательских двоичных расположений драйвера Chrome и Firefox.
Первые 4 варианта в основном работают через "прокси", сервер selenium:
Сервер действует как прокси-сервер между вашим тестом script (написанным с помощью API WebDriver) и драйвер браузера (контролируемый WebDriver протоколы). Сервер перенаправляет команды из вашего script в драйвер и возвращает ответы от драйвера на ваш script.
Основная причина автоматизации браузеров через промежуточный сервер selenium в отличие от прямого подключения webdriver - это сервер селена, если он действует как селеновая сетка, позволяет расширять/масштабировать ваши тесты в нескольких браузерах, несколько браузеров на нескольких системах, см., например, Sauce Labs Selenium Grid. FYI, существует также BrowserStack
service, что помимо других функций действует как сервер селена, аналогично Sauce Labs, огромная сумма различных возможностей/конфигураций - браузеров и систем.
Другой вариант использования сервера selenium (говоря о опции 2) и не используя directConnect
заключается в том, что у вас могут быть определенные конфигурации, в которых вы хотите, чтобы ваши тесты выполнялись. Скажем, у вас есть машина Windows с IE 11 на борту и Ubuntu с Firefox 35. В этом случае вы можете настроить эти машины как узлы селена, которые будут подключаться к selenium server/hub.
Если вы выполняете свои тесты локально, а ваши целевые браузеры - это Chrome и/или Firefox, используйте directConnect
, ваши тесты будут работать быстрее.
Но если вы выполняете свои тесты локально и вам нужно протестировать IE, Safari или другие браузеры, вы можете использовать опции 1-4 (обычно 1), поскольку эти браузеры не могут работать в режиме "прямого подключения".
См. также связанные темы: