Class: Capybara::Poltergeist::Browser
- Inherits:
-
Object
- Object
- Capybara::Poltergeist::Browser
- Defined in:
- lib/capybara/poltergeist/browser.rb
Constant Summary collapse
- DEFAULT_TIMEOUT =
30
Instance Attribute Summary collapse
-
#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
- #attribute(id, name) ⇒ Object
- #body ⇒ Object
- #click(id) ⇒ Object
- #command(name, *args) ⇒ Object
- #current_url ⇒ Object
- #drag(id, other_id) ⇒ Object
- #evaluate(script) ⇒ Object
- #execute(script) ⇒ Object
- #find(selector, id = nil) ⇒ Object
-
#initialize(options = {}) ⇒ Browser
constructor
A new instance of Browser.
- #log(message) ⇒ Object
- #logger ⇒ Object
- #render(path, options = {}) ⇒ Object
- #reset ⇒ Object
- #resize(width, height) ⇒ Object
- #restart ⇒ Object
- #select(id, value) ⇒ Object
- #select_file(id, value) ⇒ Object
- #set(id, value) ⇒ Object
- #source ⇒ Object
- #tag_name(id) ⇒ Object
- #text(id) ⇒ Object
- #timeout ⇒ Object
- #timeout=(sec) ⇒ Object
- #trigger(id, event) ⇒ Object
- #value(id) ⇒ Object
- #visible?(id) ⇒ Boolean
- #visit(url, attributes = {}) ⇒ Object
- #within_frame(id, &block) ⇒ Object
Constructor Details
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
5 6 7 |
# File 'lib/capybara/poltergeist/browser.rb', line 5 def client @client end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/capybara/poltergeist/browser.rb', line 5 def @options end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
5 6 7 |
# File 'lib/capybara/poltergeist/browser.rb', line 5 def server @server end |
Instance Method Details
#attribute(id, name) ⇒ Object
52 53 54 |
# File 'lib/capybara/poltergeist/browser.rb', line 52 def attribute(id, name) command 'attribute', id, name end |
#body ⇒ Object
36 37 38 |
# File 'lib/capybara/poltergeist/browser.rb', line 36 def body command 'body' end |
#click(id) ⇒ Object
94 95 96 |
# File 'lib/capybara/poltergeist/browser.rb', line 94 def click(id) command 'click', id end |
#command(name, *args) ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/capybara/poltergeist/browser.rb', line 130 def command(name, *args) = { 'name' => name, 'args' => args } log .inspect json = JSON.parse(server.send(JSON.generate())) log json.inspect if json['error'] raise BrowserError.new(json['error']) else json['response'] end rescue DeadClient restart raise end |
#current_url ⇒ Object
32 33 34 |
# File 'lib/capybara/poltergeist/browser.rb', line 32 def current_url command 'current_url' end |
#drag(id, other_id) ⇒ Object
98 99 100 |
# File 'lib/capybara/poltergeist/browser.rb', line 98 def drag(id, other_id) command 'drag', id, other_id end |
#evaluate(script) ⇒ Object
76 77 78 |
# File 'lib/capybara/poltergeist/browser.rb', line 76 def evaluate(script) command 'evaluate', script end |
#execute(script) ⇒ Object
80 81 82 |
# File 'lib/capybara/poltergeist/browser.rb', line 80 def execute(script) command 'execute', script end |
#find(selector, id = nil) ⇒ Object
44 45 46 |
# File 'lib/capybara/poltergeist/browser.rb', line 44 def find(selector, id = nil) command 'find', selector, id end |
#log(message) ⇒ Object
126 127 128 |
# File 'lib/capybara/poltergeist/browser.rb', line 126 def log() logger.puts if logger end |
#logger ⇒ Object
122 123 124 |
# File 'lib/capybara/poltergeist/browser.rb', line 122 def logger [:logger] end |
#render(path, options = {}) ⇒ Object
114 115 116 |
# File 'lib/capybara/poltergeist/browser.rb', line 114 def render(path, = {}) command 'render', path, !![:full] end |
#reset ⇒ Object
90 91 92 |
# File 'lib/capybara/poltergeist/browser.rb', line 90 def reset visit('about:blank') end |
#resize(width, height) ⇒ Object
118 119 120 |
# File 'lib/capybara/poltergeist/browser.rb', line 118 def resize(width, height) command 'resize', width, height end |
#restart ⇒ Object
23 24 25 26 |
# File 'lib/capybara/poltergeist/browser.rb', line 23 def restart server.restart client.restart end |
#select(id, value) ⇒ Object
102 103 104 |
# File 'lib/capybara/poltergeist/browser.rb', line 102 def select(id, value) command 'select', id, value end |
#select_file(id, value) ⇒ Object
64 65 66 |
# File 'lib/capybara/poltergeist/browser.rb', line 64 def select_file(id, value) command 'select_file', id, value end |
#set(id, value) ⇒ Object
60 61 62 |
# File 'lib/capybara/poltergeist/browser.rb', line 60 def set(id, value) command 'set', id, value end |
#source ⇒ Object
40 41 42 |
# File 'lib/capybara/poltergeist/browser.rb', line 40 def source command 'source' end |
#tag_name(id) ⇒ Object
68 69 70 |
# File 'lib/capybara/poltergeist/browser.rb', line 68 def tag_name(id) command('tag_name', id).downcase end |
#text(id) ⇒ Object
48 49 50 |
# File 'lib/capybara/poltergeist/browser.rb', line 48 def text(id) command 'text', id end |
#timeout ⇒ Object
15 16 17 |
# File 'lib/capybara/poltergeist/browser.rb', line 15 def timeout server.timeout end |
#timeout=(sec) ⇒ Object
19 20 21 |
# File 'lib/capybara/poltergeist/browser.rb', line 19 def timeout=(sec) server.timeout = sec end |
#trigger(id, event) ⇒ Object
106 107 108 |
# File 'lib/capybara/poltergeist/browser.rb', line 106 def trigger(id, event) command 'trigger', id, event end |
#value(id) ⇒ Object
56 57 58 |
# File 'lib/capybara/poltergeist/browser.rb', line 56 def value(id) command 'value', id end |
#visible?(id) ⇒ Boolean
72 73 74 |
# File 'lib/capybara/poltergeist/browser.rb', line 72 def visible?(id) command 'visible', id end |
#visit(url, attributes = {}) ⇒ Object
28 29 30 |
# File 'lib/capybara/poltergeist/browser.rb', line 28 def visit(url, attributes = {}) command 'visit', url end |
#within_frame(id, &block) ⇒ Object
84 85 86 87 88 |
# File 'lib/capybara/poltergeist/browser.rb', line 84 def within_frame(id, &block) command 'push_frame', id yield command 'pop_frame' end |