all_text(page_id, id)
click to toggle source
def all_text(page_id, id)
command 'all_text', page_id, id
end
attribute(page_id, id, name)
click to toggle source
def attribute(page_id, id, name)
command 'attribute', page_id, id, name.to_s
end
body()
click to toggle source
def body
command 'body'
end
clear_network_traffic()
click to toggle source
def clear_network_traffic
command('clear_network_traffic')
end
click(page_id, id)
click to toggle source
def click(page_id, id)
command 'click', page_id, id
end
click_coordinates(x, y)
click to toggle source
def click_coordinates(x, y)
command 'click_coordinates', x, y
end
command(name, *args)
click to toggle source
def command(name, *args)
message = { 'name' => name, 'args' => args }
log message.inspect
json = JSON.load(server.send(JSON.dump(message)))
log json.inspect
if json['error']
klass = ERROR_MAPPINGS[json['error']['name']] || BrowserError
raise klass.new(json['error'])
else
json['response']
end
rescue DeadClient
restart
raise
end
cookies()
click to toggle source
def cookies
Hash[command('cookies').map { |cookie| [cookie['name'], Cookie.new(cookie)] }]
end
cookies_enabled=(flag)
click to toggle source
def cookies_enabled=(flag)
command 'cookies_enabled', !!flag
end
current_url()
click to toggle source
def current_url
command 'current_url'
end
debug=(val)
click to toggle source
def debug=(val)
@debug = val
command 'set_debug', !!val
end
delete_text(page_id, id)
click to toggle source
def delete_text(page_id, id)
command 'delete_text', page_id, id
end
disabled?(page_id, id)
click to toggle source
def disabled?(page_id, id)
command 'disabled', page_id, id
end
double_click(page_id, id)
click to toggle source
def double_click(page_id, id)
command 'double_click', page_id, id
end
drag(page_id, id, other_id)
click to toggle source
def drag(page_id, id, other_id)
command 'drag', page_id, id, other_id
end
equals(page_id, id, other_id)
click to toggle source
def equals(page_id, id, other_id)
command('equals', page_id, id, other_id)
end
evaluate(script)
click to toggle source
def evaluate(script)
command 'evaluate', script
end
execute(script)
click to toggle source
def execute(script)
command 'execute', script
end
extensions=(names)
click to toggle source
def extensions=(names)
Array(names).each do |name|
command 'add_extension', name
end
end
find(method, selector)
click to toggle source
def find(method, selector)
result = command('find', method, selector)
result['ids'].map { |id| [result['page_id'], id] }
end
find_within(page_id, id, method, selector)
click to toggle source
def find_within(page_id, id, method, selector)
command 'find_within', page_id, id, method, selector
end
go_back()
click to toggle source
def go_back
command 'go_back'
end
go_forward()
click to toggle source
def go_forward
command 'go_forward'
end
hover(page_id, id)
click to toggle source
def hover(page_id, id)
command 'hover', page_id, id
end
js_errors=(val)
click to toggle source
def js_errors=(val)
command 'set_js_errors', !!val
end
network_traffic()
click to toggle source
def network_traffic
command('network_traffic').values.map do |event|
NetworkTraffic::Request.new(
event['request'],
event['responseParts'].map { |response| NetworkTraffic::Response.new(response) }
)
end
end
remove_cookie(name)
click to toggle source
def remove_cookie(name)
command 'remove_cookie', name
end
render(path, options = {})
click to toggle source
def render(path, options = {})
check_render_options!(options)
command 'render', path.to_s, !!options[:full], options[:selector]
end
render_base64(format, options = {})
click to toggle source
def render_base64(format, options = {})
check_render_options!(options)
command 'render_base64', format.to_s, !!options[:full], options[:selector]
end
reset()
click to toggle source
def reset
command 'reset'
end
resize(width, height)
click to toggle source
def resize(width, height)
command 'resize', width, height
end
restart()
click to toggle source
def restart
server.restart
client.restart
self.debug = @debug if @debug
end
select(page_id, id, value)
click to toggle source
def select(page_id, id, value)
command 'select', page_id, id, value
end
select_file(page_id, id, value)
click to toggle source
def select_file(page_id, id, value)
command 'select_file', page_id, id, value
end
send_keys(page_id, id, keys)
click to toggle source
def send_keys(page_id, id, keys)
command 'send_keys', page_id, id, normalize_keys(keys)
end
set(page_id, id, value)
click to toggle source
def set(page_id, id, value)
command 'set', page_id, id, value
end
set_cookie(cookie)
click to toggle source
def set_cookie(cookie)
if cookie[:expires]
cookie[:expires] = cookie[:expires].to_i * 1000
end
command 'set_cookie', cookie
end
set_http_auth(user, password)
click to toggle source
def set_http_auth(user, password)
command 'set_http_auth', user, password
end
set_paper_size(size)
click to toggle source
def set_paper_size(size)
command 'set_paper_size', size
end
source()
click to toggle source
def source
command 'source'
end
status_code()
click to toggle source
def status_code
command 'status_code'
end
tag_name(page_id, id)
click to toggle source
def tag_name(page_id, id)
command('tag_name', page_id, id).downcase
end
title()
click to toggle source
def title
command 'title'
end
trigger(page_id, id, event)
click to toggle source
def trigger(page_id, id, event)
command 'trigger', page_id, id, event.to_s
end
value(page_id, id)
click to toggle source
def value(page_id, id)
command 'value', page_id, id
end
visible?(page_id, id)
click to toggle source
def visible?(page_id, id)
command 'visible', page_id, id
end
visible_text(page_id, id)
click to toggle source
def visible_text(page_id, id)
command 'visible_text', page_id, id
end
visit(url)
click to toggle source
def visit(url)
command 'visit', url
end
window_handles()
click to toggle source
def window_handles
command 'pages'
end
within_frame(handle) { || ... }
click to toggle source
def within_frame(handle, &block)
if handle.is_a?(Capybara::Node::Base)
command 'push_frame', handle[:name] || handle[:id]
else
command 'push_frame', handle
end
yield
ensure
command 'pop_frame'
end
within_window(name) { || ... }
click to toggle source
def within_window(name, &block)
command 'push_window', name
yield
ensure
command 'pop_window'
end