Class: Speedos::Page
- Inherits:
-
Object
- Object
- Speedos::Page
- Defined in:
- lib/speedos/page.rb
Instance Method Summary collapse
- #driver ⇒ Object
- #firefox_profile ⇒ Object
- #get_har ⇒ Object
- #is(value) ⇒ Object
- #new_har ⇒ Object
- #reset_driver ⇒ Object
- #server ⇒ Object
- #server_proxy ⇒ Object
Instance Method Details
#driver ⇒ Object
34 35 36 |
# File 'lib/speedos/page.rb', line 34 def driver @driver ||= reset_driver end |
#firefox_profile ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/speedos/page.rb', line 26 def firefox_profile profile = Selenium::WebDriver::Firefox::Profile.new profile.proxy = server_proxy.selenium_proxy profile["network.proxy.ssl"] = server_proxy.host profile["network.proxy.ssl_port"] = server_proxy.port profile end |
#get_har ⇒ Object
18 19 20 |
# File 'lib/speedos/page.rb', line 18 def get_har server_proxy.har end |
#is(value) ⇒ Object
51 52 53 54 55 |
# File 'lib/speedos/page.rb', line 51 def is value raise "Page name cannot be empty" if value.empty? server_proxy.new_page value yield end |
#new_har ⇒ Object
22 23 24 |
# File 'lib/speedos/page.rb', line 22 def new_har server_proxy.new_har "", capture_headers: true end |
#reset_driver ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/speedos/page.rb', line 38 def reset_driver Capybara.register_driver :selenium do |app| http_client = Selenium::WebDriver::Remote::Http::Default.new http_client.timeout = 300 Capybara::Selenium::Driver.new(app, :profile => firefox_profile, :http_client => http_client, ) end Capybara.default_driver = :selenium @driver = Capybara::Session.new(:selenium) end |
#server ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/speedos/page.rb', line 3 def server if !@server @server = BrowserMob::Proxy::Server.new(File.join(File.dirname(__FILE__), '..', '..', 'bin', 'browsermob-proxy-2.0-beta-8', 'bin', 'browsermob-proxy')) @server.start end @server end |
#server_proxy ⇒ Object
11 12 13 14 15 16 |
# File 'lib/speedos/page.rb', line 11 def server_proxy if !@proxy @proxy = server.create_proxy end @proxy end |