Scegliere un browser proxy per un solo test Capybara
Registrate un driver Selenium con nome, poi usatelo per i test che richiedono un altro percorso senza modificare le opzioni di avvio di un browser esistente.
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
)
endSelezionatelo attorno al lavoro che richiede il percorso:
Capybara.using_driver(:chrome_via_proxy) do
visit 'https://www.example.com/'
endRSpec 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.