Class: Capybara::Poltergeist::Driver
- Inherits:
-
Driver::Base
- Object
- Driver::Base
- Capybara::Poltergeist::Driver
- Defined in:
- lib/capybara/poltergeist/driver.rb
Constant Summary collapse
- DEFAULT_TIMEOUT =
30
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
-
#app_server ⇒ Object
readonly
Returns the value of attribute app_server.
-
#browser ⇒ Object
readonly
Returns the value of attribute browser.
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#server ⇒ Object
readonly
Returns the value of attribute server.
Instance Method Summary collapse
- #body ⇒ Object
- #client_pid ⇒ Object
- #current_url ⇒ Object
- #debug ⇒ Object
- #evaluate_script(script) ⇒ Object
- #execute_script(script) ⇒ Object
- #find(selector) ⇒ Object
-
#initialize(app, options = {}) ⇒ Driver
constructor
A new instance of Driver.
- #inspector ⇒ Object
- #invalid_element_errors ⇒ Object
-
#logger ⇒ Object
logger should be an object that responds to puts, or nil.
- #pause ⇒ Object
- #quit ⇒ Object
- #render(path, options = {}) ⇒ Object
- #reset! ⇒ Object
- #resize(width, height) ⇒ Object
- #restart ⇒ Object
- #source ⇒ Object
- #timeout ⇒ Object
- #timeout=(sec) ⇒ Object
- #visit(path) ⇒ Object
- #wait? ⇒ Boolean
- #within_frame(id, &block) ⇒ Object
Constructor Details
#initialize(app, options = {}) ⇒ Driver
Returns a new instance of Driver.
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/capybara/poltergeist/driver.rb', line 7 def initialize(app, = {}) @app = app @options = @browser = nil @inspector = nil @server = nil @client = nil @app_server = Capybara::Server.new(app) @app_server.boot if Capybara.run_server end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
5 6 7 |
# File 'lib/capybara/poltergeist/driver.rb', line 5 def app @app end |
#app_server ⇒ Object (readonly)
Returns the value of attribute app_server.
5 6 7 |
# File 'lib/capybara/poltergeist/driver.rb', line 5 def app_server @app_server end |
#browser ⇒ Object (readonly)
Returns the value of attribute browser.
5 6 7 |
# File 'lib/capybara/poltergeist/driver.rb', line 5 def browser @browser end |
#client ⇒ Object (readonly)
Returns the value of attribute client.
5 6 7 |
# File 'lib/capybara/poltergeist/driver.rb', line 5 def client @client end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/capybara/poltergeist/driver.rb', line 5 def @options end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
5 6 7 |
# File 'lib/capybara/poltergeist/driver.rb', line 5 def server @server end |
Instance Method Details
#body ⇒ Object
69 70 71 |
# File 'lib/capybara/poltergeist/driver.rb', line 69 def body browser.body end |
#client_pid ⇒ Object
35 36 37 |
# File 'lib/capybara/poltergeist/driver.rb', line 35 def client_pid client.pid end |
#current_url ⇒ Object
65 66 67 |
# File 'lib/capybara/poltergeist/driver.rb', line 65 def current_url browser.current_url end |
#debug ⇒ Object
106 107 108 109 |
# File 'lib/capybara/poltergeist/driver.rb', line 106 def debug inspector.open pause end |
#evaluate_script(script) ⇒ Object
81 82 83 |
# File 'lib/capybara/poltergeist/driver.rb', line 81 def evaluate_script(script) browser.evaluate(script) end |
#execute_script(script) ⇒ Object
85 86 87 88 |
# File 'lib/capybara/poltergeist/driver.rb', line 85 def execute_script(script) browser.execute(script) nil end |
#find(selector) ⇒ Object
77 78 79 |
# File 'lib/capybara/poltergeist/driver.rb', line 77 def find(selector) browser.find(selector).map { |page_id, id| Capybara::Poltergeist::Node.new(self, page_id, id) } end |
#inspector ⇒ Object
23 24 25 |
# File 'lib/capybara/poltergeist/driver.rb', line 23 def inspector @inspector ||= [:inspector] && Inspector.new([:inspector]) end |
#invalid_element_errors ⇒ Object
120 121 122 |
# File 'lib/capybara/poltergeist/driver.rb', line 120 def invalid_element_errors [Capybara::Poltergeist::ObsoleteNode] end |
#logger ⇒ Object
logger should be an object that responds to puts, or nil
57 58 59 |
# File 'lib/capybara/poltergeist/driver.rb', line 57 def logger [:logger] || ([:debug] && STDERR) end |
#pause ⇒ Object
111 112 113 114 |
# File 'lib/capybara/poltergeist/driver.rb', line 111 def pause STDERR.puts "Poltergeist execution paused. Press enter to continue." STDIN.gets end |
#quit ⇒ Object
51 52 53 54 |
# File 'lib/capybara/poltergeist/driver.rb', line 51 def quit server.stop client.stop end |
#render(path, options = {}) ⇒ Object
98 99 100 |
# File 'lib/capybara/poltergeist/driver.rb', line 98 def render(path, = {}) browser.render(path, ) end |
#reset! ⇒ Object
94 95 96 |
# File 'lib/capybara/poltergeist/driver.rb', line 94 def reset! browser.reset end |
#resize(width, height) ⇒ Object
102 103 104 |
# File 'lib/capybara/poltergeist/driver.rb', line 102 def resize(width, height) browser.resize(width, height) end |
#restart ⇒ Object
47 48 49 |
# File 'lib/capybara/poltergeist/driver.rb', line 47 def restart browser.restart end |
#source ⇒ Object
73 74 75 |
# File 'lib/capybara/poltergeist/driver.rb', line 73 def source browser.source.to_s end |
#timeout ⇒ Object
39 40 41 |
# File 'lib/capybara/poltergeist/driver.rb', line 39 def timeout server.timeout end |
#timeout=(sec) ⇒ Object
43 44 45 |
# File 'lib/capybara/poltergeist/driver.rb', line 43 def timeout=(sec) server.timeout = sec end |
#visit(path) ⇒ Object
61 62 63 |
# File 'lib/capybara/poltergeist/driver.rb', line 61 def visit(path) browser.visit app_server.url(path) end |
#wait? ⇒ Boolean
116 117 118 |
# File 'lib/capybara/poltergeist/driver.rb', line 116 def wait? true end |
#within_frame(id, &block) ⇒ Object
90 91 92 |
# File 'lib/capybara/poltergeist/driver.rb', line 90 def within_frame(id, &block) browser.within_frame(id, &block) end |