Conservez le pilote habituel de la suite et enregistrez un second pilote Chrome pour l'itinéraire via le 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

Sélectionnez-le autour du travail qui a besoin de cet itinéraire :

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

RSpec peut aussi sélectionner un pilote enregistré via les métadonnées du pilote ; suivez l'intégration existante de la suite. Le réglage du proxy est un argument de création du navigateur, donc enregistrer ce pilote ne modifie pas un navigateur déjà lancé sous un autre pilote. Changer de pilote ne transfère pas non plus les cookies ni les connexions ouvertes de ce navigateur.

L'exemple utilise un proxy HTTP non authentifié, avec des candidats publics dans la liste de proxys HTTP. Un proxy authentifié nécessite un dispositif d'authentification du navigateur pris en charge. Si le navigateur de test doit joindre directement une application locale, définissez l'exception voulue dans la configuration de contournement prise en charge du navigateur.

Pour un navigateur distant, évaluez l'accessibilité du proxy et de l'application depuis la machine de ce navigateur.

Articles similaires