Выбор браузера с прокси для одного теста Capybara
Зарегистрируйте именованный драйвер Selenium, а затем используйте его для тестов, которым нужен другой маршрут, не меняя параметры запуска существующего браузера.
Оставьте обычный драйвер набора и зарегистрируйте второй драйвер Chrome для маршрута через прокси:
Capybara.register_driver :chrome_via_proxy do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--proxy-server=http://proxy.example:8080')
Capybara::Selenium::Driver.new(
app, browser: :chrome, options: options
)
endВыбирайте его вокруг работы, которой нужен этот маршрут:
Capybara.using_driver(:chrome_via_proxy) do
visit 'https://www.example.com/'
endRSpec также может выбирать зарегистрированный драйвер по метаданным драйвера; следуйте существующей интеграции набора. Настройка прокси — это аргумент создания браузера, поэтому регистрация этого драйвера не изменяет браузер, уже работающий под другим драйвером. Переключение драйверов также не переносит файлы cookie или открытые соединения этого браузера.
В примере используется HTTP-прокси без аутентификации, а публичные кандидаты доступны в списке HTTP-прокси. Прокси с аутентификацией требует поддерживаемого способа аутентификации в браузере. Если тестовый браузер должен напрямую обращаться к локальному приложению, задайте нужное исключение в поддерживаемой конфигурации обхода браузера.
Для удалённого браузера оценивайте доступность и прокси, и приложения с машины этого браузера.