Behalten Sie den normalen Treiber der Suite und registrieren Sie einen zweiten Chrome-Treiber für die Route über den 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

Wählen Sie ihn für die Arbeit aus, die die Route benötigt:

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

RSpec kann einen registrierten Treiber auch über Treiber-Metadaten auswählen; folgen Sie der bestehenden Integration der Suite. Die Proxy-Einstellung ist ein Argument beim Erstellen des Browsers, daher ändert die Registrierung dieses Treibers keinen Browser, der bereits unter einem anderen Treiber läuft. Ein Treiberwechsel überträgt auch weder die Cookies noch die offenen Verbindungen dieses Browsers.

Das Beispiel verwendet einen nicht authentifizierten HTTP-Proxy; öffentliche Kandidaten finden Sie in der HTTP-Proxy-Liste. Ein authentifizierter Proxy erfordert eine unterstützte Browser-Authentifizierung. Wenn der Testbrowser eine lokale Anwendung direkt erreichen muss, legen Sie die gewünschte Ausnahme in der unterstützten Bypass-Konfiguration des Browsers fest.

Bei einem entfernten Browser prüfen Sie sowohl die Erreichbarkeit des Proxys als auch der Anwendung von dem Rechner dieses Browsers aus.

Ähnliche Artikel