Mantingueu el controlador habitual de la suite i registreu un segon controlador de Chrome per a la ruta amb 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

Seleccioneu-lo al voltant de la feina que necessita la ruta:

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

RSpec també pot seleccionar un controlador registrat mitjançant les metadades del controlador; seguiu la integració existent de la suite. La configuració del proxy és un argument de creació del navegador, així que registrar aquest controlador no modifica un navegador que ja s'executa sota un altre controlador. Canviar de controlador tampoc no transfereix les galetes ni les connexions obertes d'aquell navegador.

L'exemple fa servir un proxy HTTP sense autenticació, amb candidats públics disponibles a la llista de proxys HTTP. Un proxy autenticat necessita un mecanisme d'autenticació de navegador compatible. Si el navegador de test ha d'arribar directament a una aplicació local, definiu l'excepció prevista a la configuració d'omissió compatible del navegador.

Per a un navegador remot, avalueu tant l'abast del proxy com el de l'aplicació des de la màquina d'aquell navegador.

Articles relacionats