Полтергейст переключает прокси во время выполнения теста

Мы просто переходим с capybara-webkit на полтергейст. Ранее мы использовали capybara-webkit с puffing billy, как вы можете видеть. здесь:

def use_proxy_with_vcr cassettes_name = nil, cassettes_options = {}
  page.driver.browser.set_proxy(:host => Billy.proxy.host, :port => Billy.proxy.port)
  page.driver.browser.ignore_ssl_errors
  Billy.proxy.strategy.use_cassette cassettes_name, cassettes_options
  yield
  Billy.proxy.strategy.reset
  page.driver.browser.clear_proxy
end

Это происходит во время выполнения, и я хотел бы сделать то же самое с Полтергейстом. Я понял, что можно установить прокси и игнорировать ошибки ssl, передав параметры CLI через настройку драйвера капибары с помощью phantomjs_options (https://github.com/jonleighton/poltergeist#customization).

Можно ли включить/отключить ошибки прокси и ssl во время выполнения? Если да, то как?


person Nils Blum-Oeste    schedule 26.02.2013    source источник


Ответы (1)


Невозможно отключить / включить параметры phantomjs во время выполнения через полтергейст (хотя IIRC в целом возможен, так что эту функцию можно добавить в полтергейст).

Я думаю, что самый простой способ добиться этого — зарегистрировать новый драйвер Capybara. Например.

Capybara.register_driver :proxied_poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, phantomjs_options: [...])
end

Затем вы можете использовать драйвер, где это применимо, установив Capybara.current_driver = :proxied_poltergeist. Это запустит отдельный экземпляр phantomjs с указанными вами параметрами CLI.

person jonleighton    schedule 26.02.2013
comment
Есть ли планы добавить это? Разве не в возможности делать что-то во время выполнения весь смысл? - person pguardiario; 31.07.2015