Оставьте обычный драйвер набора и зарегистрируйте второй драйвер 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/'
end

RSpec также может выбирать зарегистрированный драйвер по метаданным драйвера; следуйте существующей интеграции набора. Настройка прокси — это аргумент создания браузера, поэтому регистрация этого драйвера не изменяет браузер, уже работающий под другим драйвером. Переключение драйверов также не переносит файлы cookie или открытые соединения этого браузера.

В примере используется HTTP-прокси без аутентификации, а публичные кандидаты доступны в списке HTTP-прокси. Прокси с аутентификацией требует поддерживаемого способа аутентификации в браузере. Если тестовый браузер должен напрямую обращаться к локальному приложению, задайте нужное исключение в поддерживаемой конфигурации обхода браузера.

Для удалённого браузера оценивайте доступность и прокси, и приложения с машины этого браузера.

Похожие статьи