class Client
A client for the WebDriver protocol.
If you have a running web driver server, you can connect to it like so (assuming it is running on port 4444):
begin
client = Async::WebDriver::Client.open(Async::HTTP::Endpoint.parse("http://localhost:4444"))
session = client.session
ensure
client&.close
end
Definitions
def self.open(endpoint, **options)
Open a new session.
Signature
-
parameter
endpoint
Async::HTTP::Endpoint
The endpoint to connect to.
-
yields
{|client| ...}
The client will be closed automatically if you provide a block.
-
parameter
client
Client
The client.
-
parameter
-
returns
Client
The client if no block is given.
Implementation
def self.open(endpoint, **options)
client = self.new(
Async::HTTP::Client.open(endpoint, **options)
)
return client unless block_given?
begin
yield client
ensure
client.close
end
end
def initialize(delegate)
Initialize the client.
Signature
-
parameter
delegate
Protocol::HTTP::Middleware
The underlying HTTP client (or wrapper).
Implementation
def initialize(delegate)
@delegate = delegate
end
def close
Close the client.
Implementation
def close
@delegate.close
end
def session(capabilities, &block)
Request a new session.
Signature
-
returns
Session
The session if no block is given.
-
yields
{|session| ...}
The session will be closed automatically if you provide a block.
-
parameter
session
Session
The session.
-
parameter
Implementation
def session(capabilities, &block)
reply = post("session", {capabilities: capabilities})
session = Session.new(@delegate, reply["sessionId"], reply["capabilities"])
return session unless block_given?
begin
yield session
ensure
session.close
end
end