Table of Contents

Namespace WebDriverBiDi.Protocol

Classes

CanceledCommandInfo

Describes a command that the local end stopped waiting for, so that a response arriving afterward can be recognized as belonging to a canceled command rather than being treated as an unknown message or an unexpected error.

Command

Object containing data about a WebDriver BiDi command.

CommandResponseMessage

Base class for the result of a command.

CommandResponseMessage<T>

Base class for the result of a command where the concrete type of the response data is known.

Connection

Represents a connection to a WebDriver BiDi remote end.

ConnectionDataReceivedEventArgs

Object containing event data for events raised when data is received from a WebDriver BiDi connection.

ConnectionDisconnectedEventArgs

Object containing event data for events raised when the remote end gracefully closes a WebDriver BiDi connection.

ConnectionErrorEventArgs

Object containing event data for events raised when an error occurs on a WebDriver BiDi connection.

ConnectionLostEventArgs

Object containing event data for the event raised when an established WebDriver BiDi connection ends without the client stopping it: the remote end closed it, or it failed.

ErrorReceivedEventArgs

Object containing event data for events raised when a protocol error is received from a WebDriver BiDi connection.

ErrorResponseMessage

Response class that contains the result of a command when an error is encountered.

EventInvoker

Object containing data about a WebDriver BiDi event.

EventInvoker<T>

Object containing data about a WebDriver BiDi event where the data type is specifically known.

EventMessage

Deserializes a message that represents an event as defined by the WebDriver BiDi protocol.

EventMessage<T>

Deserializes a message that represents an event as defined by the WebDriver BiDi protocol where the event data type is known.

EventReceivedEventArgs

Object containing event data for events raised when a protocol event is received from a WebDriver BiDi connection.

IncomingMessage

Represents a message being received over the wire from the WebDriverBiDi protocol.

Message

Object containing data about a WebDriver BiDi message. This class is not thread-safe. Instances are created and consumed on the single message-processing loop and should not be shared across threads.

MessageBuffer

Accumulates the pieces of a message that arrives in more than one read (WebSocket frames, or pipe reads that do not end on a message terminator) in memory rented from Shared, so that the completed message can be handed to an IncomingMessage as-is rather than being copied into a second buffer.

PendingCommandCollection

Object containing a thread-safe collection of pending commands.

PipeConnection

Represents a connection to a WebDriver BiDi remote end over anonymous pipes. This is used with Chromium's --remote-debugging-pipe flag, which on non-Windows systems communicates via file descriptors 3 (browser reads) and 4 (browser writes).

Transport

The transport object used for serializing and deserializing JSON data used in the WebDriver BiDi protocol. It uses a Connection object to communicate with the remote end, and does no further processing of the objects serialized or deserialized. Consumers of this class are expected to handle things like awaiting the response of a WebDriver BiDi command message.

UnhandledError

An unhandled error received during execution of transport functions.

UnhandledErrorCollection

The collection of unhandled errors in the protocol transport during execution of a WebDriver BiDi session.

UnknownMessageReceivedEventArgs

Object containing event data for events raised when an unknown protocol message is received from a WebDriver BiDi connection.

WebSocketConnection

Represents a connection to a WebDriver BiDi remote end over a WebSocket.

Interfaces

IPipeServerProcessProvider

Defines an interface for providing a process that hosts a pipe server. This allows for dependency injection and testing of components that rely on a pipe server process.

ITransportConfiguration

Interface for the settings of a Transport that a consumer may tune. It is implemented by Transport and reached from TransportConfiguration, so that a driver created with the parameterless constructor can be tuned without constructing a transport by hand.

ITransportDiagnostics

Interface for the observable state of a Transport. It is implemented by Transport and reached from TransportDiagnostics, so that a driver created with the parameterless constructor can be observed without constructing a transport by hand.

Enums

CommandCancellationReason

Enumerated value describing why the local end stopped waiting for the response to a command.

ConnectionKind

Enumerated value indicating the type of connection used when communicating with a WebDriver BiDi remote end.

IncomingMessageKind

Enumerated value indicating the kind of incoming message dictated by the shape of the received data.

TransportErrorBehavior

The enumerated value specifying what the Transport should do upon encountering an error that no command call can report: a message it cannot process, an error response not caused by a command, or an unhandled exception in an event handler.

TransportState

Enumerated value indicating the lifecycle state of a Transport with respect to its connection to a WebDriver BiDi remote end.

UnhandledErrorKind

The enumerated types of unhandled errors by the protocol transport.