Elegir un navegador con proxy para una sola prueba de Capybara
Registre un controlador Selenium con nombre y úselo para las pruebas que necesitan otra ruta sin cambiar las opciones de inicio de un navegador existente.
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
)
endSelecciónelo alrededor del trabajo que necesita la ruta:
Capybara.using_driver(:chrome_via_proxy) do
visit 'https://www.example.com/'
endRSpec 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.