Conserve el controlador habitual de la suite y registre un segundo controlador de Chrome para la ruta a través del proxy:

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

Selecciónelo alrededor del trabajo que necesita la ruta:

Capybara.using_driver(:chrome_via_proxy) do
  visit 'https://www.example.com/'
end

RSpec también puede seleccionar un controlador registrado mediante los metadatos del controlador; siga la integración existente de la suite. La configuración del proxy es un argumento de creación del navegador, así que registrar este controlador no modifica un navegador que ya se ejecuta bajo otro controlador. Cambiar de controlador tampoco transfiere las cookies ni las conexiones abiertas de ese navegador.

El ejemplo usa un proxy HTTP sin autenticación, con candidatos públicos disponibles en la lista de proxies HTTP. Un proxy autenticado necesita un mecanismo de autenticación del navegador compatible. Si el navegador de prueba debe llegar directamente a una aplicación local, defina la excepción prevista en la configuración de omisión compatible del navegador.

Para un navegador remoto, evalúe tanto la accesibilidad del proxy como la de la aplicación desde la máquina de ese navegador.

Artículos relacionados