Mantenete il driver abituale della suite e registrate un secondo driver Chrome per il percorso tramite 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

Selezionatelo attorno al lavoro che richiede il percorso:

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

RSpec può selezionare un driver registrato anche tramite i metadati del driver; seguite l'integrazione esistente della suite. L'impostazione del proxy è un argomento di creazione del browser, quindi registrare questo driver non modifica un browser già in esecuzione sotto un altro driver. Anche cambiare driver non trasferisce i cookie o le connessioni aperte di quel browser.

L'esempio usa un proxy HTTP non autenticato, con candidati pubblici disponibili nella lista di proxy HTTP. Un proxy autenticato richiede una configurazione di autenticazione del browser supportata. Se il browser di test deve raggiungere direttamente un'applicazione locale, impostate l'eccezione prevista nella configurazione di bypass supportata del browser.

Per un browser remoto, valutate la raggiungibilità sia del proxy sia dell'applicazione dalla macchina di quel browser.

Articoli correlati