Een proxybrowser kiezen voor één Capybara-test
Registreer een benoemde Selenium-driver en gebruik die voor de tests die een andere route nodig hebben, zonder de opstartopties van een bestaande browser te wijzigen.
Behoud de gewone driver van de suite en registreer een tweede Chrome-driver voor de proxyroute:
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
)
endKies die rond het werk dat de route nodig heeft:
Capybara.using_driver(:chrome_via_proxy) do
visit 'https://www.example.com/'
endRSpec kan een geregistreerde driver ook via driver-metadata kiezen; volg de bestaande integratie van de suite. De proxyinstelling is een argument bij het aanmaken van de browser, dus het registreren van deze driver wijzigt een browser niet die al onder een andere driver draait. Van driver wisselen draagt ook de cookies of open verbindingen van die browser niet over.
Het voorbeeld gebruikt een niet-geauthenticeerde HTTP-proxy, met openbare kandidaten in de HTTP-proxylijst. Een geauthenticeerde proxy vereist een ondersteunde regeling voor browserauthenticatie. Als de testbrowser een lokale applicatie rechtstreeks moet bereiken, stel je de bedoelde uitzondering in de ondersteunde bypass-configuratie van de browser in.
Beoordeel voor een externe browser zowel de bereikbaarheid van de proxy als van de applicatie vanaf de machine van die browser.