Mantenha o driver comum da suíte e registre um segundo driver Chrome para a rota com 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

Selecione-o em torno do trabalho que precisa da rota:

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

O RSpec também pode selecionar um driver registrado por meio dos metadados do driver; siga a integração existente da suíte. A configuração de proxy é um argumento de criação do navegador, portanto registrar este driver não modifica um navegador que já está em execução sob outro driver. Trocar de driver também não transfere os cookies nem as conexões abertas desse navegador.

O exemplo usa um proxy HTTP sem autenticação, com candidatos públicos disponíveis na lista de proxies HTTP. Um proxy com autenticação exige um arranjo de autenticação de navegador suportado. Se o navegador de teste precisar acessar diretamente uma aplicação local, defina a exceção pretendida na configuração de bypass suportada pelo navegador.

Para um navegador remoto, avalie tanto a acessibilidade do proxy quanto a da aplicação a partir da máquina desse navegador.

Artigos relacionados