Class: Infrataster::Contexts::CapybaraContext
- Inherits:
-
BaseContext
- Object
- BaseContext
- Infrataster::Contexts::CapybaraContext
- Defined in:
- lib/infrataster/contexts/capybara_context.rb
Instance Attribute Summary
Attributes inherited from BaseContext
Class Method Summary collapse
Instance Method Summary collapse
- #after_each(example) ⇒ Object
- #before_each(example) ⇒ Object
-
#initialize(*args) ⇒ CapybaraContext
constructor
A new instance of CapybaraContext.
- #page ⇒ Object
- #session ⇒ Object
Constructor Details
#initialize(*args) ⇒ CapybaraContext
Returns a new instance of CapybaraContext.
25 26 27 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 25 def initialize(*args) super(*args) end |
Class Method Details
.prepare_session ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 12 def self.prepare_session = :infrataster_driver proxy = BrowsermobProxy.proxy Capybara.register_driver do |app| Capybara::Poltergeist::Driver.new( app, phantomjs_options: ["--proxy=http://#{proxy.host}:#{proxy.port}"], ) end Capybara::Session.new() end |
.session ⇒ Object
8 9 10 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 8 def self.session @session ||= prepare_session end |
Instance Method Details
#after_each(example) ⇒ Object
48 49 50 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 48 def after_each(example) @gateway_finalize_proc.call if @gateway_finalize_proc end |
#before_each(example) ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 37 def before_each(example) example.example_group_instance.extend(Capybara::RSpecMatchers) proxy = BrowsermobProxy.proxy proxy.header({"Host" => resource.uri.host}) address, port, @gateway_finalize_proc = server.open_gateway_on_from_server(resource.uri.port) Capybara.app_host = "http://#{address}:#{port}" end |
#page ⇒ Object
33 34 35 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 33 def page session end |
#session ⇒ Object
29 30 31 |
# File 'lib/infrataster/contexts/capybara_context.rb', line 29 def session self.class.session end |