Class: Browserctl::Client
- Inherits:
-
Object
- Object
- Browserctl::Client
- Defined in:
- lib/browserctl/client.rb
Instance Method Summary collapse
- #call(cmd, **params) ⇒ Object
- #click(name, selector) ⇒ Object
- #close_page(name) ⇒ Object
- #evaluate(name, expression) ⇒ Object
- #fill(name, selector, val) ⇒ Object
- #goto(name, url) ⇒ Object
-
#initialize(socket_path = SOCKET_PATH) ⇒ Client
constructor
A new instance of Client.
- #list_pages ⇒ Object
-
#open_page(name, url: nil) ⇒ Object
Convenience wrappers matching CLI command vocabulary.
- #ping ⇒ Object
- #screenshot(name, path: nil, full: false) ⇒ Object
- #shutdown ⇒ Object
- #snapshot(name, format: "ai") ⇒ Object
- #url(name) ⇒ Object
- #wait_for(name, selector, timeout: 10) ⇒ Object
Constructor Details
#initialize(socket_path = SOCKET_PATH) ⇒ Client
Returns a new instance of Client.
9 10 11 |
# File 'lib/browserctl/client.rb', line 9 def initialize(socket_path = SOCKET_PATH) @socket_path = socket_path end |
Instance Method Details
#call(cmd, **params) ⇒ Object
13 14 15 16 17 |
# File 'lib/browserctl/client.rb', line 13 def call(cmd, **params) communicate(JSON.generate({ cmd: cmd }.merge(params))) rescue Errno::ENOENT, Errno::ECONNREFUSED raise "browserd is not running — start it with: browserd" end |
#click(name, selector) ⇒ Object
26 |
# File 'lib/browserctl/client.rb', line 26 def click(name, selector) = call("click", name: name, selector: selector) |
#close_page(name) ⇒ Object
22 |
# File 'lib/browserctl/client.rb', line 22 def close_page(name) = call("close_page", name: name) |
#evaluate(name, expression) ⇒ Object
31 |
# File 'lib/browserctl/client.rb', line 31 def evaluate(name, expression) = call("evaluate", name: name, expression: expression) |
#fill(name, selector, val) ⇒ Object
25 |
# File 'lib/browserctl/client.rb', line 25 def fill(name, selector, val) = call("fill", name: name, selector: selector, value: val) |
#goto(name, url) ⇒ Object
24 |
# File 'lib/browserctl/client.rb', line 24 def goto(name, url) = call("goto", name: name, url: url) |
#list_pages ⇒ Object
23 |
# File 'lib/browserctl/client.rb', line 23 def list_pages = call("list_pages") |
#open_page(name, url: nil) ⇒ Object
Convenience wrappers matching CLI command vocabulary
21 |
# File 'lib/browserctl/client.rb', line 21 def open_page(name, url: nil) = call("open_page", name: name, url: url) |
#ping ⇒ Object
32 |
# File 'lib/browserctl/client.rb', line 32 def ping = call("ping") |
#screenshot(name, path: nil, full: false) ⇒ Object
27 |
# File 'lib/browserctl/client.rb', line 27 def screenshot(name, path: nil, full: false) = call("screenshot", name: name, path: path, full: full) |
#shutdown ⇒ Object
33 |
# File 'lib/browserctl/client.rb', line 33 def shutdown = call("shutdown") |
#snapshot(name, format: "ai") ⇒ Object
28 |
# File 'lib/browserctl/client.rb', line 28 def snapshot(name, format: "ai") = call("snapshot", name: name, format: format) |
#url(name) ⇒ Object
30 |
# File 'lib/browserctl/client.rb', line 30 def url(name) = call("url", name: name) |
#wait_for(name, selector, timeout: 10) ⇒ Object
29 |
# File 'lib/browserctl/client.rb', line 29 def wait_for(name, selector, timeout: 10) = call("wait_for", name: name, selector: selector, timeout: timeout) |