Triar un navegador amb proxy per a un sol test de Capybara
Registreu un controlador Selenium amb nom i feu-lo servir per als tests que necessiten una altra ruta sense canviar les opcions d'inici d'un navegador existent.
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
)
endSeleccioneu-lo al voltant de la feina que necessita la ruta:
Capybara.using_driver(:chrome_via_proxy) do
visit 'https://www.example.com/'
endRSpec 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.