Залиште звичайний драйвер набору та зареєструйте другий драйвер Chrome для маршруту через проксі:

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

Вибирайте його навколо роботи, якій потрібен цей маршрут:

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

RSpec також може вибирати зареєстрований драйвер за метаданими драйвера; дотримуйтеся наявної інтеграції набору. Налаштування проксі — це аргумент створення браузера, тому реєстрація цього драйвера не змінює браузер, який уже працює під іншим драйвером. Перемикання драйверів також не переносить файли cookie чи відкриті з'єднання цього браузера.

У прикладі використовується HTTP-проксі без автентифікації, а публічні кандидати доступні в списку HTTP-проксі. Проксі з автентифікацією потребує підтримуваного способу автентифікації в браузері. Якщо тестовий браузер має напряму звертатися до локального застосунку, задайте потрібний виняток у підтримуваній конфігурації обходу браузера.

Для віддаленого браузера оцінюйте доступність і проксі, і застосунку з машини цього браузера.

Схожі статті