Vælg en proxybrowser til én Capybara-test
Registrer en navngivet Selenium-driver, og brug den derefter til de tests, der har brug for en anden rute, uden at ændre en eksisterende browsers opstartsindstillinger.
Behold suite'ens almindelige driver, og registrer en ekstra Chrome-driver til proxy-ruten:
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
)
endVælg den omkring det arbejde, der har brug for ruten:
Capybara.using_driver(:chrome_via_proxy) do
visit 'https://www.example.com/'
endRSpec kan også vælge en registreret driver via drivermetadata; følg suite'ens eksisterende integration. Proxyindstillingen er et argument til oprettelse af browseren, så registrering af denne driver ændrer ikke en browser, der allerede kører under en anden driver. Skift af drivere overfører heller ikke den browsers cookies eller åbne forbindelser.
Eksemplet bruger en uautentificeret HTTP-proxy, med offentlige kandidater i HTTP-proxy-listen. En autentificeret proxy kræver en understøttet løsning til browserautentificering. Hvis testbrowseren skal nå en lokal applikation direkte, skal du angive den tilsigtede undtagelse i browserens understøttede omgåelseskonfiguration.
For en fjernbrowser skal du vurdere både proxyens og applikationens tilgængelighed fra den browsers maskine.