WebDriver
Provides a mechanism by which to find elements within a document.
It is possible to create your own locating mechanisms for finding documents.
In order to do this,subclass this class and override the protected methods. However,
it is expected that that all subclasses rely on the basic finding mechanisms provided
through static methods of this class. An example of this can be found in OpenQA.Support.ByIdOrName
Initializes a new instance of the class.
Initializes a new instance of the class using the given functions to find elements.
A function that takes an object implementing
and returns the found .
A function that takes an object implementing
and returns a of the foundIWebElements.
IWebElements/>.
Gets a mechanism to find elements by their ID.
The ID to find.
A object the driver can use to find the elements.
Gets a mechanism to find elements by their link text.
The link text to find.
A object the driver can use to find the elements.
Gets a mechanism to find elements by their name.
The name to find.
A object the driver can use to find the elements.
Gets a mechanism to find elements by an XPath query.
The XPath query to use.
A object the driver can use to find the elements.
Gets a mechanism to find elements by their CSS class.
The CSS class to find.
A object the driver can use to find the elements.
If an element has many classes then this will match against each of them.
For example if the value is "one two onone", then the following values for the
className parameter will match: "one" and "two".
Gets a mechanism to find elements by a partial match on their link text.
The partial link text to find.
A object the driver can use to find the elements.
Gets a mechanism to find elements by their tag name.
The tag name to find.
A object the driver can use to find the elements.
Gets a mechanism to find elements by their cascading stylesheet (CSS) selector.
The CSS selector to find.
A object the driver can use to find the elements.
Finds the first element matching the criteria.
An object to use to search for the elements.
The first matching on the current context.
Finds all elements matching the criteria.
An object to use to search for the elements.
A of all WebElements
matching the current criteria, or an empty list if nothing matches.
Gets a string representation of the finder.
The string displaying the finder content.
Determines whether the specified Object is equal
to the current Object.
The Object to compare with the
current Object.
if the specified Object
is equal to the current Object; otherwise,
.
Serves as a hash function for a particular type.
A hash code for the current Object.
Gets or sets the value of the description for this class instance.
Gets or sets the method used to find a single element matching specified criteria.
Gets or sets the method used to find all elements matching specified criteria.
Represents a cookie in the browser.
Initializes a new instance of the class with a specific name,
value, domain, path and expiration date.
The name of the cookie.
The value of the cookie.
The domain of the cookie.
The path of the cookie.
The expiration date of the cookie.
If the name is or an empty string,
or if it contains a semi-colon.
If the value is .
Initializes a new instance of the class with a specific name,
value, path and expiration date.
The name of the cookie.
The value of the cookie.
The path of the cookie.
The expiration date of the cookie.
If the name is or an empty string,
or if it contains a semi-colon.
If the value is .
Initializes a new instance of the class with a specific name,
value, and path.
The name of the cookie.
The value of the cookie.
The path of the cookie.
If the name is or an empty string,
or if it contains a semi-colon.
If the value is .
Initializes a new instance of the class with a specific name and value.
The name of the cookie.
The value of the cookie.
If the name is or an empty string,
or if it contains a semi-colon.
If the value is .
Creates and returns a string representation of the cookie.
A string representation of the cookie.
Determines whether the specified Object is equal
to the current Object.
The Object to compare with the
current Object.
if the specified Object
is equal to the current Object; otherwise,
.
Serves as a hash function for a particular type.
A hash code for the current Object.
Gets the name of the cookie.
Gets the value of the cookie.
Gets the domain of the cookie.
Gets the path of the cookie.
Gets a value indicating whether the cookie is secure.
Gets the expiration date of the cookie.
Exposes the service provided by a native WebDriver server executable.
Initializes a new instance of the DriverService class.
The full path to the executable providing the service to drive the browser.
The port on which the driver executable should listen.
Releases all resources associated with this .
Starts the DriverService.
Releases all resources associated with this .
if the Dispose method was explicitly called; otherwise, .
Stops the DriverService.
Gets the Uri of the service.
Gets a value indicating whether the service is running.
Gets the executable file name of the driver service.
The exception that is thrown when an element is not visible.
Represents exceptions that are thrown when an error occurs during actions.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when an element is not visible.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Defines the interface through which the user can manipulate JavaScript alerts.
Dismisses the alert.
Accepts the alert.
Sends keys to the alert.
The keystrokes to send.
Gets the text of the alert.
Capabilities of the browser that you are going to use
Gets a value indicating whether the browser has a given capability.
The capability ot get.
Returns if the browser has the capability; otherwise, .
Gets a capability of the browser.
The capability to get.
An object associated with the capability, or
if the capability is not set on the browser.
Gets the browser name
Gets the platform
Gets the browser version
Gets a value indicating whether the browser is JavaScript enabled
Defines an interface allowing the user to manipulate cookies on the current page.
Adds a cookie to the current page.
The object to be added.
Gets a cookie with the specified name.
The name of the cookie to retrieve.
The containing the name. Returns
if no cookie with the specified name is found.
Deletes the specified cookie from the page.
The to be deleted.
Deletes the cookie with the specified name from the page.
The name of the cookie to be deleted.
Deletes all cookies from the page.
Gets all cookies defined for the current page.
Defines the interface through which the user can determine the capabilities of a driver.
Gets the object describing the driver's capabilities.
Provides access to input devices for advanced user interactions.
Gets an object for sending keystrokes to the browser.
Gets an object for sending mouse commands to the browser.
Defines the interface through which the user can execute JavaScript.
Executes JavaScript in the context of the currently selected frame or window.
The JavaScript code to execute.
The arguments to the script.
The value returned by the script.
The method executes JavaScript in the context of
the currently selected frame or window. This means that "document" will refer
to the current document. If the script has a return value, then the following
steps will be taken:
- For an HTML element, this method returns a
- For a number, a is returned
- For a boolean, a is returned
- For all other cases a is returned.
- For an array,we check the first element, and attempt to return a
of that type, following the rules above. Nested lists are not
supported.
- If the value is null or there is no return value,
is returned.
Arguments must be a number (which will be converted to a ),
a , a or a .
An exception will be thrown if the arguments do not meet these criteria.
The arguments will be made available to the JavaScript via the "arguments" magic
variable, as if the function were called via "Function.apply"
Executes JavaScript asynchronously in the context of the currently selected frame or window.
The JavaScript code to execute.
The arguments to the script.
The value returned by the script.
Provides methods representing basic keyboard actions.
Sends a sequence of keystrokes to the target.
A string representing the keystrokes to send.
Presses a key.
The key value representing the key to press.
The key value must be one of the values from the class.
Releases a key.
The key value representing the key to release.
The key value must be one of the values from the class.
The exception that is thrown when an attempt is made to locate an item using invalid criteria.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Defines the interface through which the user can discover where an element is on the screen.
Gets the location of an element on the screen, scrolling it into view
if it is not currently on the screen.
Gets the coordinates identifying the location of this element using
various frames of reference.
Provides methods representing basic mouse actions.
Clicks at a set of coordinates using the primary mouse button.
An describing where to click.
Double-clicks at a set of coordinates.
A describing where to double-click.
Presses the primary mouse button at a set of coordinates.
A describing where to press the mouse button down.
Releases the primary mouse button at a set of coordinates.
A describing where to release the mouse button.
Moves the mouse to the specified set of coordinates.
A describing where to move the mouse to.
Moves the mouse to the specified set of coordinates.
A describing where to click.
A horizontal offset from the coordinates specified in .
A vertical offset from the coordinates specified in .
Clicks at a set of coordinates using the secondary mouse button.
A describing where to click.
Defines an interface allowing the user to access the browser's history and to
navigate to a given URL.
Move back a single entry in the browser's history.
Move a single "item" forward in the browser's history.
Does nothing if we are on the latest page viewed.
Load a new web page in the current browser window.
The URL to load. It is best to use a fully qualified URL
Calling the method will load a new web page in the current browser window.
This is done using an HTTP GET operation, and the method will block until the
load is complete. This will follow redirects issued either by the server or
as a meta-redirect from within the returned HTML. Should a meta-redirect "rest"
for any duration of time, it is best to wait until this timeout is over, since
should the underlying page change while your test is executing the results of
future calls against this interface will be against the freshly loaded page.
Load a new web page in the current browser window.
The URL to load.
Calling the method will load a new web page in the current browser window.
This is done using an HTTP GET operation, and the method will block until the
load is complete. This will follow redirects issued either by the server or
as a meta-redirect from within the returned HTML. Should a meta-redirect "rest"
for any duration of time, it is best to wait until this timeout is over, since
should the underlying page change while your test is executing the results of
future calls against this interface will be against the freshly loaded page.
Refreshes the current page.
The exception that is thrown when the users attempts to set a cookie with an invalid domain.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when a reference to an element is no longer valid.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when an element is not visible.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Defines an interface allowing the user to set options on the browser.
Provides access to the timeouts defined for this driver.
An object implementing the interface.
Gets an object allowing the user to manipulate cookies on the page.
Gets an object allowing the user to manipulate the currently-focused browser window.
"Currently-focused" is defined as the browser window having the window handle
returned when IWebDriver.CurrentWindowHandle is called.
Represents rotation of the browser view for orientation-sensitive devices.
When using this with a real device, the device should not be moved so that
the built-in sensors do not interfere.
Gets or sets the screen orientation of the browser on the device.
Defines the interface used to search for elements.
Finds the first using the given method.
The locating mechanism to use.
The first matching on the current context.
If no element matches the criteria.
Finds all IWebElements within the current context
using the given mechanism.
The locating mechanism to use.
A of all WebElements
matching the current criteria, or an empty list if nothing matches.
Defines the interface used to take screen shot images of the screen.
Gets a object representing the image of the page on the screen.
A object containing the image.
Defines the interface through which the user can locate a given frame or window.
Select a frame by its (zero-based) index.
The zero-based index of the frame to select.
An instance focused on the specified frame.
If the frame cannot be found.
Select a frame by its name or ID.
The name of the frame to select.
An instance focused on the specified frame.
If the frame cannot be found.
Select a frame using its previously located
The frame element to switch to.
An instance focused on the specified frame.
If the element is neither a FRAME nor an IFRAME element.
If the element is no longer valid.
Switches the focus of future commands for this driver to the window with the given name.
The name of the window to select.
An instance focused on the given window.
If the window cannot be found.
Selects either the first frame on the page or the main document when a page contains iframes.
An instance focused on the default frame.
Switches to the element that currently has the focus, or the body element
if no element with focus can be detected.
An instance representing the element
with the focus, or the body element if no element with focus can be detected.
Switches to the currently active modal dialog for this particular driver instance.
A handle to the dialog.
Defines the interface through which the user can define timeouts.
Specifies the amount of time the driver should wait when searching for an
element if it is not immediately present.
A structure defining the amount of time to wait.
A self reference
When searching for a single element, the driver should poll the page
until the element has been found, or this timeout expires before throwing
a . When searching for multiple elements,
the driver should poll the page until at least one element has been found
or this timeout has expired.
Increasing the implicit wait timeout should be used judiciously as it
will have an adverse effect on test run time, especially when used with
slower location strategies like XPath.
Specifies the amount of time the driver should wait when executing JavaScript asynchronously.
A structure defining the amount of time to wait.
A self reference
Defines the interface through which the user controls the browser.
The interface is the main interface to use for testing, which
represents an idealised web browser. The methods in this class fall into three categories:
- Control of the browser itself
- Selection of IWebElements
- Debugging aids
Key properties and methods are , which is used to
load a new web page by setting the property, and the various methods similar
to , which is used to find IWebElements.
You use the interface by instantiate drivers that implement of this interface.
You should write your tests against this interface so that you may "swap in" a
more fully featured browser when there is a requirement for one.
Close the current window, quitting the browser if it is the last window currently open.
Quits this driver, closing every associated window.
Instructs the driver to change its settings.
An object allowing the user to change
the settings of the driver.
Instructs the driver to navigate the browser to another location.
An object allowing the user to access
the browser's history and to navigate to a given URL.
Instructs the driver to send future commands to a different frame or window.
An object which can be used to select
a frame or window.
Gets or sets the URL the browser is currently displaying.
Setting the property will load a new web page in the current browser window.
This is done using an HTTP GET operation, and the method will block until the
load is complete. This will follow redirects issued either by the server or
as a meta-redirect from within the returned HTML. Should a meta-redirect "rest"
for any duration of time, it is best to wait until this timeout is over, since
should the underlying page change while your test is executing the results of
future calls against this interface will be against the freshly loaded page.
Gets the title of the current browser window.
Gets the source of the page last loaded by the browser.
If the page has been modified after loading (for example, by JavaScript)
there is no guarentee that the returned text is that of the modified page.
Please consult the documentation of the particular driver being used to
determine whether the returned text reflects the current state of the page
or the text last sent by the web server. The page source returned is a
representation of the underlying DOM: do not expect it to be formatted
or escaped in the same way as the response sent from the web server.
Gets the current window handle, which is an opaque handle to this
window that uniquely identifies it within this driver instance.
Gets the window handles of open browser windows.
Defines the interface through which the user controls elements on the page.
The interface represents an HTML element.
Generally, all interesting operations to do with interacting with a page will
be performed through this interface.
Clears the content of this element.
If this element is a text entry element, the
method will clear the value. It has no effect on other elements. Text entry elements
are defined as elements with INPUT or TEXTAREA tags.
Thrown when the target element is no longer valid in the document DOM.
Simulates typing text into the element.
The text to type into the element.
The text to be typed may include special characters like arrow keys,
backspaces, function keys, and so on. Valid special keys are defined in
.
Thrown when the target element is not enabled.
Thrown when the target element is not visible.
Thrown when the target element is no longer valid in the document DOM.
Submits this element to the web server.
If this current element is a form, or an element within a form,
then this will be submitted to the web server. If this causes the current
page to change, then this method will block until the new page is loaded.
Thrown when the target element is no longer valid in the document DOM.
Clicks this element.
Click this element. If the click causes a new page to load, the
method will attempt to block until the page has loaded. After calling the
method, you should discard all references to this
element unless you know that the element and the page will still be present.
Otherwise, any further operations performed on this element will have an undefined.
behavior.
If this element is not clickable, then this operation is ignored. This allows you to
simulate a users to accidentally missing the target when clicking.
Thrown when the target element is not visible.
Thrown when the target element is no longer valid in the document DOM.
Gets the value of the specified attribute for this element.
The name of the attribute.
The attribute's current value. Returns a if the
value is not set.
The method will return the current value
of the attribute, even if the value has been modified after the page has been
loaded. Note that the value of the following attributes will be returned even if
there is no explicit attribute on the element:
Attribute name
Value returned if not explicitly specified
Valid element types
-
checked
checked
Check Box
-
selected
selected
Options in Select elements
-
disabled
disabled
Input and other UI elements
Thrown when the target element is no longer valid in the document DOM.
Gets the value of a CSS property of this element.
The name of the CSS property to get the value of.
The value of the specified CSS property.
The value returned by the
method is likely to be unpredictable in a cross-browser environment.
Color values should be returned as hex strings. For example, a
"background-color" property set as "green" in the HTML source, will
return "#008000" for its value.
Thrown when the target element is no longer valid in the document DOM.
Gets the tag name of this element.
The property returns the tag name of the
element, not the value of the name attribute. For example, it will return
"input" for an element specifiedby the HTML markup <input name="foo" />.
Thrown when the target element is no longer valid in the document DOM.
Gets the innerText of this element, without any leading or trailing whitespace,
and with other whitespace collapsed.
Thrown when the target element is no longer valid in the document DOM.
Gets a value indicating whether or not this element is enabled.
The property will generally
return for everything except explicitly disabled input elements.
Thrown when the target element is no longer valid in the document DOM.
Gets a value indicating whether or not this element is selected.
This operation only applies to input elements such as checkboxes,
options in a select element and radio buttons.
Thrown when the target element is no longer valid in the document DOM.
Gets a object containgin the coordinates of the upper-left corner
of this element relative to the upper-left corner of the page.
Thrown when the target element is no longer valid in the document DOM.
Gets a object containing the height and width of this element.
Thrown when the target element is no longer valid in the document DOM.
Gets a value indicating whether or not this element is displayed.
The property avoids the problem
of having to parse an element's "style" attribute to determine
visibility of an element.
Thrown when the target element is no longer valid in the document DOM.
Provides methods for getting and setting the size and position of the browser window.
Maximizes the current window if it is not already maximized.
Gets or sets the position of the browser window relative to the upper-left corner of the screen.
When setting this property, it should act as the JavaScript window.moveTo() method.
Gets or sets ths size of the outer browser window, including title bars and window borders.
When setting this property, it should act as the JavaScript window.resizeTo() method.
Representations of pressable keys that are not text keys for sending to the browser.
Represents the NUL keystroke.
Represents the Cancel keystroke.
Represents the Help keystroke.
Represents the Backspace key.
Represents the Tab key.
Represents the Clear keystroke.
Represents the Return key.
Represents the Enter key.
Represents the Shift key.
Represents the Shift key.
Represents the Control key.
Represents the Control key.
Represents the Alt key.
Represents the Alt key.
Represents the Pause key.
Represents the Escape key.
Represents the Spacebar key.
Represents the Page Up key.
Represents the Page Down key.
Represents the End key.
Represents the Home key.
Represents the left arrow key.
Represents the left arrow key.
Represents the up arrow key.
Represents the up arrow key.
Represents the right arrow key.
Represents the right arrow key.
Represents the Left arrow key.
Represents the Left arrow key.
Represents the Insert key.
Represents the Delete key.
Represents the semi-colon key.
Represents the equal sign key.
Represents the number pad 0 key.
Represents the number pad 1 key.
Represents the number pad 2 key.
Represents the number pad 3 key.
Represents the number pad 4 key.
Represents the number pad 5 key.
Represents the number pad 6 key.
Represents the number pad 7 key.
Represents the number pad 8 key.
Represents the number pad 9 key.
Represents the number pad multiplication key.
Represents the number pad addition key.
Represents the number pad thousands separator key.
Represents the number pad subtraction key.
Represents the number pad decimal separator key.
Represents the number pad division key.
Represents the function key F1.
Represents the function key F2.
Represents the function key F3.
Represents the function key F4.
Represents the function key F5.
Represents the function key F6.
Represents the function key F7.
Represents the function key F8.
Represents the function key F9.
Represents the function key F10.
Represents the function key F12.
Represents the function key F12.
Represents the function key META.
Represents the function key COMMAND.
The exception that is thrown when an alert is not found.
The exception that is thrown when an item is not found.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when an element is not found.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when a frame is not found.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when a window is not found.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Represents the known and supported Platforms that WebDriver runs on.
The class maps closely to the Operating System,
but differs slightly, because this class is used to extract information such as
program locations and line endings.
Any platform. This value is never returned by a driver, but can be used to find
drivers with certain capabilities.
Any version of Microsoft Windows. This value is never returned by a driver,
but can be used to find drivers with certain capabilities.
Any Windows NT-based version of Microsoft Windows. This value is never returned
by a driver, but can be used to find drivers with certain capabilities. This value
is equivalent to PlatformType.Windows.
Versions of Microsoft Windows that are compatible with Windows XP.
Versions of Microsoft Windows that are compatible with Windows Vista.
Any version of the Macintosh OS
Any version of the Unix operating system.
Any version of the Linux operating system.
Represents the platform on which tests are to be run.
Initializes a new instance of the class for a specific platform type.
The platform type.
Compares the platform to the specified type.
A value to compare to.
if the platforms match; otherwise .
Gets the current platform.
Gets the major version of the platform operating system.
Gets the major version of the platform operating system.
Gets the type of the platform.
Describes the kind of proxy.
Keep these in sync with the Firefox preferences numbers:
http://kb.mozillazine.org/Network.proxy.type
Direct connection, no proxy (default on Windows).
Manual proxy settings (e.g., for httpProxy).
Proxy autoconfiguration from URL.
Use proxy autodetection.
Use the system values for proxy settings (default on Linux).
No proxy type is specified.
Describes proxy settings to be used with a driver instance.
Initializes a new instance of the class.
Initializes a new instance of the class with the given proxy settings.
A dictionary of settings to use with the proxy.
Gets or sets the type of proxy.
Gets or sets a value indicating whether the proxy uses autodetection.
Gets or sets the value of the proxy for the FTP protocol.
Gets or sets the value of the proxy for the HTTP protocol.
Gets or sets the value for when no proxy is specified.
Gets or sets the URL used for proxy autoconfiguration.
Gets or sets the value of the proxy for the SSL protocol.
Represents possible screen orientations.
Represents a portrait mode, where the screen is vertical.
Represents Landscape mode, where the screen is horizontal.
Represents an image of the page currently loaded in the browser.
Initializes a new instance of the class.
The image of the page as a Base64-encoded string.
Saves the screenshot to a file, overwriting the file if it already exists.
The full path and file name to save the screenshot to.
A object indicating the format
to save the image to.
Returns a String that represents the current Object.
A String that represents the current Object.
Gets the value of the screenshot image as a Base64-encoded string.
Gets the value of the screenshot image as an array of bytes.
The exception that is thrown when a reference to an element is no longer valid.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when the user is unable to set a cookie.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
The exception that is thrown when an unhandled alert is present.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Specifies return values for actions in the driver.
The action was successful.
The index specified for the action was out of the acceptable range.
No collection was specified.
No string was specified.
No string length was specified.
No string wrapper was specified.
No driver matching the criteria exists.
No element matching the criteria exists.
No frame matching the criteria exists.
The functionality is not supported.
The specified element is no longer valid.
The specified element is not displayed.
The specified element is not enabled.
An unhandled error occurred.
An error occurred, but it was expected.
The specified element is not selected.
No document matching the criteria exists.
An unexpected JavaScript error occurred.
No result is available from the JavaScript execution.
The result from the JavaScript execution is not recognized.
No collection matching the criteria exists.
A timeout occurred.
A null pointer was received.
No window matching the criteria exists.
An illegal attempt was made to set a cookie under a different domain than the current page.
A request to set a cookie's value could not be satisfied.
An alert was found open unexpectedly.
A request was made to switch to an alert, but no alert is currently open.
An asynchronous JavaScript execution timed out.
The coordinates of the element are invalid.
The selector used (CSS/XPath) was invalid.
The exception that is thrown when an error occurs during an XPath lookup.
Initializes a new instance of the class.
Initializes a new instance of the class with
a specified error message.
The message that describes the error.
Initializes a new instance of the class with
a specified error message and a reference to the inner exception that is the
cause of this exception.
The error message that explains the reason for the exception.
The exception that is the cause of the current exception,
or if no inner exception is specified.
Initializes a new instance of the class with serialized data.
The that holds the serialized
object data about the exception being thrown.
The that contains contextual
information about the source or destination.
Provides a mechanism to write tests against an Android device
[TestFixture]
public class Testing
{
private IWebDriver driver;
[SetUp]
public void SetUp()
{
driver = new AndroidDriver();
}
[Test]
public void TestGoogle()
{
driver.Navigate().GoToUrl("http://www.google.co.uk");
/*
* Rest of the test
*/
}
[TearDown]
public void TearDown()
{
driver.Quit();
}
}
Using the Android driver requires the Android device or emulator
to be running, and the WebDriver application be active on the device.
Provides a way to use the driver through
///
[TestFixture]
public class Testing
{
private IWebDriver driver;
[SetUp]
public void SetUp()
{
driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer());
}
[Test]
public void TestGoogle()
{
driver.Navigate().GoToUrl("http://www.google.co.uk");
/*
* Rest of the test
*/
}
[TearDown]
public void TearDown()
{
driver.Quit();
}
}
Defines the interface through which the user finds elements by their ID.
Finds the first element matching the specified id.
The id to match.
The first matching the criteria.
Finds all elements matching the specified id.
The id to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by their CSS class.
Finds the first element matching the specified CSS class.
The CSS class to match.
The first matching the criteria.
Finds all elements matching the specified CSS class.
The CSS class to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by their link text.
Finds the first element matching the specified link text.
The link text to match.
The first matching the criteria.
Finds all elements matching the specified link text.
The link text to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by their name.
Finds the first element matching the specified name.
The name to match.
The first matching the criteria.
Finds all elements matching the specified name.
The name to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by their tag name.
Finds the first element matching the specified tag name.
The tag name to match.
The first matching the criteria.
Finds all elements matching the specified tag name.
The tag name to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by XPath.
Finds the first element matching the specified XPath query.
The XPath query to match.
The first matching the criteria.
Finds all elements matching the specified XPath query.
The XPath query to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by a partial match on their link text.
Finds the first element matching the specified partial link text.
The partial link text to match.
The first matching the criteria.
Finds all elements matching the specified partial link text.
The partial link text to match.
A containing all
IWebElements matching the criteria.
Defines the interface through which the user finds elements by their cascading stylesheet (CSS) selector.
Finds the first element matching the specified CSS selector.
The id to match.
The first matching the criteria.
Finds all elements matching the specified CSS selector.
The CSS selector to match.
A containing all
IWebElements matching the criteria.
Initializes a new instance of the RemoteWebDriver class
An object which executes commands for the driver.
An object containing the desired capabilities of the browser.
Initializes a new instance of the RemoteWebDriver class. This constructor defaults proxy to http://127.0.0.1:4444/wd/hub
An object containing the desired capabilities of the browser.
Initializes a new instance of the RemoteWebDriver class
URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub).
An object containing the desired capabilities of the browser.
Initializes a new instance of the RemoteWebDriver class using the specified remote address, desired capabilties, and command timeout.
URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub).
An object containing the desired capabilities of the browser.
The maximum amount of time to wait for each command.
Finds the first element in the page that matches the object
By mechanism to find the object
IWebElement object so that you can interction that object
IWebDriver driver = new InternetExplorerDriver();
IWebElement elem = driver.FindElement(By.Name("q"));
Finds the elements on the page by using the object and returns a ReadOnlyCollection of the Elements on the page
By mechanism to find the element
ReadOnlyCollection of IWebElement
IWebDriver driver = new InternetExplorerDriver();
ReadOnlyCollection]]> classList = driver.FindElements(By.ClassName("class"));
Closes the Browser
Close the Browser and Dispose of WebDriver
Method For getting an object to set the Speen
Returns an IOptions object that allows the driver to set the speed and cookies and getting cookies
IWebDriver driver = new InternetExplorerDriver();
driver.Manage().GetCookies();
Method to allow you to Navigate with WebDriver
Returns an INavigation Object that allows the driver to navigate in the browser
IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.google.co.uk");
Method to give you access to switch frames and windows
Returns an Object that allows you to Switch Frames and Windows
IWebDriver driver = new InternetExplorerDriver();
driver.SwitchTo().Frame("FrameName");
Executes JavaScript in the context of the currently selected frame or window
The JavaScript code to execute.
The arguments to the script.
The value returned by the script.
Executes JavaScript asynchronously in the context of the currently selected frame or window.
The JavaScript code to execute.
The arguments to the script.
The value returned by the script.
Finds the first element in the page that matches the ID supplied
ID of the element
IWebElement object so that you can interction that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementById("id")
Finds the first element in the page that matches the ID supplied
ID of the Element
ReadOnlyCollection of Elements that match the object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsById("id")
Finds the first element in the page that matches the CSS Class supplied
className of the
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementByClassName("classname")
Finds a list of elements that match the classname supplied
CSS class Name on the element
ReadOnlyCollection of IWebElement object so that you can interact with those objects
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname")
Finds the first of elements that match the link text supplied
Link text of element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByLinkText("linktext")
Finds a list of elements that match the link text supplied
Link text of element
ReadOnlyCollection]]> object so that you can interact with those objects
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname")
Finds the first of elements that match the part of the link text supplied
part of the link text
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByPartialLinkText("partOfLink")
Finds a list of elements that match the classname supplied
part of the link text
ReadOnlyCollection]]> objects so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByPartialLinkText("partOfTheLink")
Finds the first of elements that match the name supplied
Name of the element on the page
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
elem = driver.FindElementsByName("name")
Finds a list of elements that match the name supplied
Name of element
ReadOnlyCollect of IWebElement objects so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByName("name")
Finds the first of elements that match the DOM Tag supplied
DOM tag Name of the element being searched
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByTagName("tag")
Finds a list of elements that match the DOM Tag supplied
DOM tag Name of element being searched
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByTagName("tag")
Finds the first of elements that match the XPath supplied
xpath to the element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByXPath("//table/tbody/tr/td/a");
Finds a list of elements that match the XPath supplied
xpath to the element
ReadOnlyCollection of IWebElement objects so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByXpath("//tr/td/a")
Finds the first element matching the specified CSS selector.
The CSS selector to match.
The first matching the criteria.
Finds all elements matching the specified CSS selector.
The CSS selector to match.
A containing all
IWebElements matching the criteria.
Dispose the RemoteWebDriver Instance
Executes commands with the driver
Command that needs executing
Parameters needed for the command
WebDriver Response
Find the element in the response
Reponse from the browser
Element from the page
Finds the elements that are in the response
Response from the browser
Collection of elements
Stops the client from running
if its in the process of disposing
Starts a session with the driver
Capabilities of the browser
Executes a command with this driver .
A value representing the command to execute.
A containing the names and values of the parameters of the command.
A containing information about the success or failure of the command and any data returned by the command.
Starts the command executor, enabling communication with the browser.
Stops the command executor, ending further communication with the browser.
Finds an element matching the given mechanism and value.
The mechanism by which to find the element.
The value to use to search for the element.
The first matching the given criteria.
Finds all elements matching the given mechanism and value.
The mechanism by which to find the elements.
The value to use to search for the elements.
A collection of all of the IWebElements matchings the given criteria.
Creates a with the specified ID.
The ID of this element.
A with the specified ID.
Gets or sets the URL the browser is currently displaying.
Gets the title of the current browser window.
Gets the source of the page last loaded by the browser.
Gets the current window handle, which is an opaque handle to this
window that uniquely identifies it within this driver instance.
Gets the window handles of open browser windows.
Gets an object for sending keystrokes to the browser.
Gets an object for sending mouse commands to the browser.
Gets the capabilities that the RemoteWebDriver instance is currently using
Gets the which executes commands for this driver.
Gets the for the current session of this driver.
Initializes a new instance of the class.
Initializes a new instance of the class,
communicating with the device at a specific URL.
The URL of the WebDriver application on the Android device.
Initializes a new instance of the class,
communicating with the device at a specific URL.
The URL of the WebDriver application on the Android device.
Gets a object representing the image of the page on the screen.
A object containing the image.
Gets or sets the screen orientation of the browser on the device.
Provides a mechanism to execute commands on the browser
Provides a way of executing Commands over HTTP
Provides a way to send commands to the remote server
Executes a command
The command you wish to execute
A response from the browser
Initializes a new instance of the HttpCommandExecutor class
Address of the WebDriver Server
The timeout within which the server must respond.
Executes a command
The command you wish to execute
A response from the browser
Initializes a new instance of the class.
The that drives the browser.
The maximum amount of time to wait for each command.
Executes a command with the ChromeDriver.
The command you wish to execute
A response from the browser
Provides a mechanism to write tests against Chrome
[TestFixture]
public class Testing
{
private IWebDriver driver;
[SetUp]
public void SetUp()
{
driver = new ChromeDriver();
}
[Test]
public void TestGoogle()
{
driver.Navigate().GoToUrl("http://www.google.co.uk");
/*
* Rest of the test
*/
}
[TearDown]
public void TearDown()
{
driver.Quit();
}
}
Accept untrusted SSL Certificates
Initializes a new instance of the ChromeDriver class.
Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe.
The full path to the directory containing ChromeDriver.exe.
Initializes a new instance of the ChromeDriver class using the specified options.
The to be used with the Chrome driver.
Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe and options.
The full path to the directory containing ChromeDriver.exe.
The to be used with the Chrome driver.
Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe, command timeout, and options.
The full path to the directory containing ChromeDriver.exe.
The to be used with the Chrome driver.
The maximum amount of time to wait for each command.
Initializes a new instance of the ChromeDriver class using the specified .
The to use.
The to be used with the Chrome driver.
The maximum amount of time to wait for each command.
Gets a object representing the image of the page on the screen.
A object containing the image.
Exposes the service provided by the native ChromeDriver executable.
Initializes a new instance of the ChromeDriverService class.
The full path to the ChromeDriver executable.
The port on which the ChromeDriver executable should listen.
Creates a default instance of the ChromeDriverService.
A ChromeDriverService that implements default settings.
Creates a default instance of the ChromeDriverService using a specified path to the ChromeDriver executable.
The directory containing the ChromeDriver executable.
A ChromeDriverService using a random port.
Gets the executable file name of the driver service.
Class to manage options specific to
Used with ChromeDriver.exe v17.0.963.0 and higher.
ChromeOptions options = new ChromeOptions();
options.AddExtensions("\path\to\extension.crx");
options.BinaryLocation = "\path\to\chrome";
For use with ChromeDriver:
ChromeDriver driver = new ChromeDriver(options);
For use with RemoteWebDriver:
DesiredCapabilities capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability(ChromeOptions.Capability, options);
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capabilities);
Gets the name of the capability used to store Chrome options in
a object.
Adds a single argument to the list of arguments to be appended to the Chrome.exe command line.
The argument to add.
Adds arguments to be appended to the Chrome.exe command line.
An array of arguments to add.
Adds arguments to be appended to the Chrome.exe command line.
An object of arguments to add.
Adds a path to a packed Chrome extension (.crx file) to the list of extensions
to be installed in the instance of Chrome.
The full path to the extension to add.
Adds a list of paths to packed Chrome extensions (.crx files) to be installed
in the instance of Chrome.
An array of full paths to the extensions to add.
Adds a list of paths to packed Chrome extensions (.crx files) to be installed
in the instance of Chrome.
An of full paths to the extensions to add.
Returns DesiredCapabiliites for Chrome with these options included as
capabilities. This does not copy the options. Further changes will be
reflected in the returned capabilities.
The DesiredCapabilities for Chrome with these options.
Gets or sets the location of the Chrome browser's binary executable file.
Gets the list of arguments appended to the Chrome command line as a string array.
Gets the list of extensions to be installed as an array of base64-encoded strings.
Provides a mechanism to get elements off the page for test
RemoteWebElement allows you to have access to specific items that are found on the page
Defines the interface through which the user can access the driver used to find an element.
Gets the used to find this element.
Initializes a new instance of the class.
The instance hosting this element.
The ID assigned to the element.
Clears the content of this element.
If this element is a text entry element, the
method will clear the value. It has no effect on other elements. Text entry elements
are defined as elements with INPUT or TEXTAREA tags.
Thrown when the target element is no longer valid in the document DOM.
Simulates typing text into the element.
The text to type into the element.
The text to be typed may include special characters like arrow keys,
backspaces, function keys, and so on. Valid special keys are defined in
.
Thrown when the target element is not enabled.
Thrown when the target element is not visible.
Thrown when the target element is no longer valid in the document DOM.
Submits this element to the web server.
If this current element is a form, or an element within a form,
then this will be submitted to the web server. If this causes the current
page to change, then this method will attempt to block until the new page
is loaded.
Thrown when the target element is no longer valid in the document DOM.
Clicks this element.
Click this element. If the click causes a new page to load, the
method will attempt to block until the page has loaded. After calling the
method, you should discard all references to this
element unless you know that the element and the page will still be present.
Otherwise, any further operations performed on this element will have an undefined
behavior.
Thrown when the target element is not enabled.
Thrown when the target element is not visible.
Thrown when the target element is no longer valid in the document DOM.
Gets the value of the specified attribute for this element.
The name of the attribute.
The attribute's current value. Returns a if the
value is not set.
The method will return the current value
of the attribute, even if the value has been modified after the page has been
loaded. Note that the value of the following attributes will be returned even if
there is no explicit attribute on the element:
Attribute name
Value returned if not explicitly specified
Valid element types
-
checked
checked
Check Box
-
selected
selected
Options in Select elements
-
disabled
disabled
Input and other UI elements
Thrown when the target element is no longer valid in the document DOM.
Gets the value of a CSS property of this element.
The name of the CSS property to get the value of.
The value of the specified CSS property.
The value returned by the
method is likely to be unpredictable in a cross-browser environment.
Color values should be returned as hex strings. For example, a
"background-color" property set as "green" in the HTML source, will
return "#008000" for its value.
Thrown when the target element is no longer valid in the document DOM.
Finds all IWebElements within the current context
using the given mechanism.
The locating mechanism to use.
A of all WebElements
matching the current criteria, or an empty list if nothing matches.
Finds the first using the given method.
The locating mechanism to use.
The first matching on the current context.
If no element matches the criteria.
Finds the first of elements that match the link text supplied
Link text of element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementByLinkText("linktext")
Finds the first of elements that match the link text supplied
Link text of element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByLinkText("linktext")
Finds the first element in the page that matches the ID supplied
ID of the element
IWebElement object so that you can interction that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementById("id")
Finds the first element in the page that matches the ID supplied
ID of the Element
ReadOnlyCollection of Elements that match the object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsById("id")
Finds the first of elements that match the name supplied
Name of the element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
elem = driver.FindElementsByName("name")
Finds a list of elements that match the name supplied
Name of element
ReadOnlyCollect of IWebElement objects so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByName("name")
Finds the first of elements that match the DOM Tag supplied
tag name of the element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByTagName("tag")
Finds a list of elements that match the DOM Tag supplied
DOM Tag of the element on the page
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByTagName("tag")
Finds the first element in the page that matches the CSS Class supplied
className of the
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementByClassName("classname")
Finds a list of elements that match the classname supplied
CSS class name of the elements on the page
ReadOnlyCollection of IWebElement object so that you can interact with those objects
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname")
Finds the first of elements that match the XPath supplied
xpath to the element
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByXPath("//table/tbody/tr/td/a");
Finds a list of elements that match the XPath supplied
xpath to element on the page
ReadOnlyCollection of IWebElement objects so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByXpath("//tr/td/a")
Finds the first of elements that match the part of the link text supplied
part of the link text
IWebElement object so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
IWebElement elem = driver.FindElementsByPartialLinkText("partOfLink")
Finds a list of elements that match the classname supplied
part of the link text
ReadOnlyCollection]]> objects so that you can interact that object
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox());
ReadOnlyCollection]]> elem = driver.FindElementsByPartialLinkText("partOfTheLink")
Finds the first element matching the specified CSS selector.
The id to match.
The first matching the criteria.
Finds all elements matching the specified CSS selector.
The CSS selector to match.
A containing all
IWebElements matching the criteria.
Method to get the hash code of the element
Interger of the hash code for the element
Compares if two elements are equal
Object to compare against
A boolean if it is equal or not
Finds a child element matching the given mechanism and value.
The mechanism by which to find the element.
The value to use to search for the element.
The first matching the given criteria.
Finds all child elements matching the given mechanism and value.
The mechanism by which to find the elements.
The value to use to search for the elements.
A collection of all of the IWebElements matchings the given criteria.
Executes a command on this element using the specified parameters.
The to execute against this element.
A containing names and values of the parameters for the command.
The object containing the result of the command execution.
Gets the used to find this element.
Gets the tag name of this element.
The property returns the tag name of the
element, not the value of the name attribute. For example, it will return
"input" for an element specifiedby the HTML markup <input name="foo" />.
Thrown when the target element is no longer valid in the document DOM.
Gets the innerText of this element, without any leading or trailing whitespace,
and with other whitespace collapsed.
Thrown when the target element is no longer valid in the document DOM.
Gets a value indicating whether or not this element is enabled.
The property will generally
return for everything except explicitly disabled input elements.
Thrown when the target element is no longer valid in the document DOM.
Gets a value indicating whether or not this element is selected.
This operation only applies to input elements such as checkboxes,
options in a select element and radio buttons.
Thrown when the target element is no longer valid in the document DOM.
Gets a object containgin the coordinates of the upper-left corner
of this element relative to the upper-left corner of the page.
Thrown when the target element is no longer valid in the document DOM.
Gets a object containing the height and width of this element.
Thrown when the target element is no longer valid in the document DOM.
Gets a value indicating whether or not this element is displayed.
The property avoids the problem
of having to parse an element's "style" attribute to determine
visibility of an element.
Thrown when the target element is no longer valid in the document DOM.
Gets the point where the element would be when scrolled into view.
Gets the coordinates identifying the location of this element using
various frames of reference.
Gets the ID of the element.
This property is internal to the WebDriver instance, and is
not intended to be used in your code. The element's ID has no meaning
outside of internal WebDriver usage, so it would be improper to scope
it as public. However, both subclasses of
and the parent driver hosting the element have a need to access the
internal element ID. Therefore, we have two properties returning the
same value, one scoped as internal, the other as protected.
Gets the ID of the element
This property is internal to the WebDriver instance, and is
not intended to be used in your code. The element's ID has no meaning
outside of internal WebDriver usage, so it would be improper to scope
it as public. However, both subclasses of
and the parent driver hosting the element have a need to access the
internal element ID. Therefore, we have two properties returning the
same value, one scoped as internal, the other as protected.
Initializes a new instance of the ChromeWebElement class
Driver in use
Id of the element
Returns the HashCode of the Element
Hashcode of the element
Compares current element against another
element to compare against
A value indicating whether they are the same
Represents the binary associated with Firefox.
The class is responsible for instantiating the
Firefox process, and the operating system environment in which it runs.
Initializes a new instance of the class.
Initializes a new instance of the class located at a specific file location.
Full path and file name to the Firefox executable.
Starts Firefox using the specified profile and command-line arguments.
The to use with this instance of Firefox.
The command-line arguments to use in starting Firefox.
Sets a variable to be used in the Firefox execution environment.
The name of the environment variable to set.
The value of the environment variable to set.
Creates a named profile for Firefox.
The name of the profile to create.
Waits for the process to complete execution.
Intializes the binary with the specified profile.
The to use to initialize the binary.
Stops the execution of this , terminating the process if necessary.
Returns a String that represents the current Object.
A String that represents the current Object.
Starts the Firefox process.
A object used to start Firefox.
Gets or sets the timeout (in milliseconds) to wait for command execution.
Gets all console output of the binary.
Output retrieval is non-destructive and non-blocking.
Gets the associated with this .
Gets a value indicating whether the current operating system is Linux.
Gets a containing string key-value pairs
representing any operating system environment variables beyond the defaults.
Provides a way to access Firefox to run tests.
When the FirefoxDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and
start your test.
In the case of the FirefoxDriver, you can specify a named profile to be used, or you can let the
driver create a temporary, anonymous profile. A custom extension allowing the driver to communicate
to the browser will be installed into the profile.
[TestFixture]
public class Testing
{
private IWebDriver driver;
[SetUp]
public void SetUp()
{
driver = new FirefoxDriver();
}
[Test]
public void TestGoogle()
{
driver.Navigate().GoToUrl("http://www.google.co.uk");
/*
* Rest of the test
*/
}
[TearDown]
public void TearDown()
{
driver.Quit();
}
}
The name of the ICapabilities setting to use to define a custom Firefox profile.
The name of the ICapabilities setting to use to define a custom location for the
Firefox executable.
The default port on which to communicate with the Firefox extension.
Indicates whether native events is enabled by default for this platform.
Indicates whether the driver will accept untrusted SSL certificates.
Initializes a new instance of the class.
Initializes a new instance of the class for a given profile.
A object representing the profile settings
to be used in starting Firefox.
Initializes a new instance of the class for a given set of capabilities.
The object containing the desired
capabilities of this FirefoxDriver.
Initializes a new instance of the class for a given profile and binary environment.
A object representing the operating system
environmental settings used when running Firefox.
A object representing the profile settings
to be used in starting Firefox.
Initializes a new instance of the class for a given profile, binary environment, and timeout value.
A object representing the operating system
environmental settings used when running Firefox.
A object representing the profile settings
to be used in starting Firefox.
The maximum amount of time to wait for each command.
Gets a object representing the image of the page on the screen.
A object containing the image.
Starts the command executor, enabling communication with the browser.
Stops the command executor, ending further communication with the browser.
In derived classes, the method prepares the environment for test execution.
Creates a with the specified ID.
The ID of this element.
A with the specified ID. For the FirefoxDriver this will be a .
Gets the FirefoxBinary and its details for subclasses
Gets the FirefoxProfile that is currently in use by subclasses
Provides the ability to install extensions into a .
Initializes a new instance of the class.
The name of the file containing the Firefox extension.
WebDriver attempts to resolve the parameter
by looking first for the specified file in the directory of the calling assembly,
then using the full path to the file, if a full path is provided.
Initializes a new instance of the class.
The name of the file containing the Firefox extension.
The ID of the resource within the assembly containing the extension
if the file is not present in the file system.
WebDriver attempts to resolve the parameter
by looking first for the specified file in the directory of the calling assembly,
then using the full path to the file, if a full path is provided. If the file is
not found in the file system, WebDriver attempts to locate a resource in the
executing assembly with the name specified by the
parameter.
Installs the extension into a profile directory.
The Firefox profile directory into which to install the extension.
Provides the ability to edit the preferences associated with a Firefox profile.
Initializes a new instance of the class.
Initializes a new instance of the class using a
specific profile directory.
The directory containing the profile.
Initializes a new instance of the class using a
specific profile directory.
The directory containing the profile.
Delete the source directory of the profile upon cleaning.
Converts a base64-encoded string into a .
The base64-encoded string containing the profile contents.
The constructed .
Adds a Firefox Extension to this profile
The path to the new extension
Sets a preference in the profile.
The name of the preference to add.
A value to add to the profile.
Sets a preference in the profile.
The name of the preference to add.
A value to add to the profile.
Sets a preference in the profile.
The name of the preference to add.
A value to add to the profile.
Set proxy preferences for this profile.
The object defining the proxy
preferences for the profile.
Writes this in-memory representation of a profile to disk.
Cleans this Firefox profile.
If this profile is a named profile that existed prior to
launching Firefox, the method removes the WebDriver
Firefox extension. If the profile is an anonymous profile, the profile
is deleted.
Converts the profile into a base64-encoded string.
A base64-encoded string containing the contents of the profile.
Adds the WebDriver extension for Firefox to the profile.
Adds a preference to the profile.
The preferences dictionary.
The name of the preference.
The value of the preference.
Generates a random directory name for the profile.
A random directory name for the profile.
Deletes the lock files for a profile.
Installs all extensions in the profile in the directory on disk.
Deletes the cache of extensions for this profile, if the cache exists.
If the extensions cache does not exist for this profile, the
method performs no operations, but
succeeds.
Writes the user preferences to the profile.
Reads the existing preferences from the profile.
A containing key-value pairs representing the preferences.
Assumes that we only really care about the preferences, not the comments
Writes the specified preferences to the user preferences file.
A containing key-value pairs
representing the preferences to write.
Sets a preference for a manually specified proxy.
The protocol for which to set the proxy.
The setting for the proxy.
Gets or sets the port on which the profile connects to the WebDriver extension.
Gets the directory containing the profile.
Gets or sets a value indicating whether native events are enabled.
Gets or sets a value indicating whether to always load the library for allowing Firefox
to execute commands without its window having focus.
The property is only used on Linux.
Gets or sets a value indicating whether Firefox should accept untrusted certificates.
Gets a value indicating whether Firefox is currently running with this profile loaded.
Allows the user to enumerate and access existing named Firefox profiles.
Initializes a new instance of the class.
Gets a with a given name.
The name of the profile to get.
A with a given name.
Returns if no profile with the given name exists.
Gets a containing FirefoxProfiles
representing the existing named profiles for Firefox.
Allows the user to control elements on a page in Firefox.
Initializes a new instance of the class.
The instance hosting this element.
The ID assigned to the element.
Determines whether two instances are equal.
The to compare with the current .
if the specified is equal to the
current ; otherwise, .
Serves as a hash function for a .
A hash code for the current .
Defines the interface by which a driver connects to the WebDriver extension.
Starts the connection to the extension.
Closes the connection to the extension.
Represents the preferences used by a profile in Firefox.
Sets a preference.
The name of the preference to set.
A value give the preference.
Sets a preference.
The name of the preference to set.
A value give the preference.
Sets a preference.
The name of the preference to set.
A value give the preference.
Appends this set of preferences to the specified set of preferences.
A dictionary containing the preferences to which to
append these values.
If the preference already exists in ,
the value will be updated.
Represents the executable file for Firefox.
Initializes a new instance of the class.
The path and file name to the Firefox executable.
Sets the library path for the Firefox executable environment.
The used to execute the binary.
Locates the Firefox binary by platform.
The full path to the binary.
Retrieves an environment variable
Name of the variable.
Default value of the variable.
The value of the variable. If no variable with that name is set, returns the default.
Retrieves the platform specific environment property name which contains the library path.
The platform specific environment property name which contains the library path.
Walk a PATH to locate binaries with a specified name. Binaries will be searched for in the
order they are provided.
The binary names to search for.
The first binary found matching that name.
Gets the full path to the executable.
Represents the connection to the WebDriver Firefox extension.
Initializes a new instance of the class.
The on which to make the connection.
The creating the connection.
The name of the host on which to connect to the Firefox extension (usually "localhost").
The maximum amount of time to wait for each command.
Starts the connection to the extension.
Closes the connection to the extension.
Executes a command
The command you wish to execute
A response from the browser
Gets the associated with this connection.
Defines the interface through which the mutex port for establishing communication
with the WebDriver extension can be locked.
Locks the mutex port.
The amount of time (in milliseconds) to wait for
the mutex port to become available.
Unlocks the mutex port.
Parses and reads an INI file.
Initializes a new instance of the class.
The full path to the .INI file to be read.
Gets a value from the .INI file.
The section in which to find the key-value pair.
The key of the key-value pair.
The value associated with the given section and key.
Gets a containing the names of the sections in the .INI file.
Provides a mutex-like lock on a socket.
Initializes a new instance of the class.
Port to use to acquire the lock.
The class will attempt to acquire the
specified port number, and wait for it to become free.
Locks the mutex port.
The amount of time (in milliseconds) to wait for
the mutex port to become available.
Unlocks the mutex port.
Releases all resources associated with this
Provides a way to access Internet Explorer to run your tests by creating a InternetExplorerDriver instance
When the WebDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and
start your test.
[TestFixture]
public class Testing
{
private IWebDriver driver;
[SetUp]
public void SetUp()
{
driver = new InternetExplorerDriver();
}
[Test]
public void TestGoogle()
{
driver.Navigate().GoToUrl("http://www.google.co.uk");
/*
* Rest of the test
*/
}
[TearDown]
public void TearDown()
{
driver.Quit();
driver.Dispose();
}
}
Initializes a new instance of the InternetExplorerDriver class.
Initializes a new instance of the InternetExplorerDriver class for the specified port.
The port to use to communicate with the IE server.
Initializes a new instance of the InternetExplorerDriver class with the desired options.
The used to initialize the driver.
Initializes a new instance of the InternetExplorerDriver class for the specified port and desired capabilities.
The port to use to communicate with the IE server.
The used to initialize the driver.
Initializes a new instance of the InternetExplorerDriver class for the specified port, options, and command timeout.
The port to use to communicate with the IE server.
The used to initialize the driver.
The maximum amount of time to wait for each command.
Initializes a new instance of the InternetExplorerDriver class using the specified path to the directory containing InternetExplorerDriver.exe.
The full path to the directory containing InternetExplorerDriver.exe.
Initializes a new instance of the InternetExplorerDriver class using the specified path to the directory containing InternetExplorerDriver.exe and command timeout.
The full path to the directory containing InternetExplorerDriver.exe.
The used to initialize the driver.
Initializes a new instance of the InternetExplorerDriver class using the specified path to the directory containing InternetExplorerDriver.exe and command timeout.
The full path to the directory containing InternetExplorerDriver.exe.
The used to initialize the driver.
The maximum amount of time to wait for each command.
Initializes a new instance of the InternetExplorerDriver class using the specified .
The to use.
The used to initialize the driver.
The maximum amount of time to wait for each command.
Gets a object representing the image of the page on the screen.
A object containing the image.
Starts the command executor, enabling communication with the browser.
Stops the command executor, ending further communication with the browser.
Provides a wrapper for the native-code Internet Explorer driver library.
Initializes a new instance of the class.
Starts the server, communicating on the specified port, if it is not already running
The port on which the server should listen for requests.
The port on which the server is actually listening for requests.
If the server has already been started, there is no need to start it
again. We can leverage the already-running server, and the port it is listening
on.
Releases all resources used by this InternetExplorerDriverServer.
Releases all resources used by this InternetExplorerDriverServer.
to dispose of managed and unmanaged resources;
to only dispose of unmanaged resources.
Gets a value indicating whether the unmanaged native code library has been loaded.
Gets a value indicating whether the Internet Explorer driver server is running.
Exposes the service provided by the native ChromeDriver executable.
Initializes a new instance of the InternetExplorerDriverService class.
The full path to the InternetExplorerDriver executable.
The port on which the InternetExplorerDriver executable should listen.
Creates a default instance of the InternetExplorerDriverService.
A InternetExplorerDriverService that implements default settings.
Creates a default instance of the InternetExplorerDriverService using a specified path to the ChromeDriver executable.
The directory containing the InternetExplorerDriver executable.
A InternetExplorerDriverService using a random port.
Gets the executable file name of the driver service.
Class to manage options specific to
InternetExplorerOptions options = new InternetExplorerOptions();
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
For use with InternetExplorerDriver:
InternetExplorerDriver driver = new InternetExplorerDriver(options);
For use with RemoteWebDriver:
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), options.ToCapabilities());
Returns DesiredCapabiliites for IE with these options included as
capabilities. This copies the options. Further changes will not be
reflected in the returned capabilities.
The DesiredCapabilities for IE with these options.
Gets or sets a value indicating whether to ignore the settings of the Internet Explorer Protected Mode.
Gets or sets a value indicating whether to use the internal remote InternetExplorerDriverServer class.
This property is only transitional. It is designed to allow people to migrate to the downloadable
standalone IE driver server executable. Once that method is in widespread use, this property will
be removed.
InternetExplorerWebElement allows you to have access to specific items that are found on the page.
[Test]
public void TestGoogle()
{
driver = new InternetExplorerDriver();
InternetExplorerWebElement elem = driver.FindElement(By.Name("q"));
elem.SendKeys("Cheese please!");
}
Initializes a new instance of the InternetExplorerWebElement class.
Driver in use.
ID of the element.
Provides a mechanism for building advanced interactions with the browser.
Initializes a new instance of the class.
The object on which the actions built will be performed.
Sends a modifier key down message to the browser.
The key to be sent.
A self-reference to this .
If the key sent is not is not one
of , , or .
Sends a modifier key down message to the specified element in the browser.
The element to which to send the key command.
The key to be sent.
A self-reference to this .
If the key sent is not is not one
of , , or .
Sends a modifier key up message to the browser.
The key to be sent.
A self-reference to this .
If the key sent is not is not one
of , , or .
Sends a modifier up down message to the specified element in the browser.
The element to which to send the key command.
The key to be sent.
A self-reference to this .
If the key sent is not is not one
of , , or .
Sends a sequence of keystrokes to the browser.
The keystrokes to send to the browser.
A self-reference to this .
Sends a sequence of keystrokes to the specified element in the browser.
The element to which to send the keystrokes.
The keystrokes to send to the browser.
A self-reference to this .
Clicks and holds the mouse button down on the specified element.
The element on which to click and hold.
A self-reference to this .
Clicks and holds the mouse button at the last known mouse coordinates.
A self-reference to this .
Releases the mouse button on the specified element.
The element on which to release the button.
A self-reference to this .
Releases the mouse button at the last known mouse coordinates.
A self-reference to this .
Clicks the mouse on the specified element.
The element on which to click.
A self-reference to this .
Clicks the mouse at the last known mouse coordinates.
A self-reference to this .
Double-clicks the mouse on the specified element.
The element on which to double-click.
A self-reference to this .
Double-clicks the mouse at the last known mouse coordinates.
A self-reference to this .
Moves the mouse to the specified element.
The element to which to move the mouse.
A self-reference to this .
Moves the mouse to the specified offset of the top-left corner of the specified element.
The element to which to move the mouse.
The horizontal offset to which to move the mouse.
The vertical offset to which to move the mouse.
A self-reference to this .
Moves the mouse to the specified offset of the last known mouse coordinates.
The horizontal offset to which to move the mouse.
The vertical offset to which to move the mouse.
A self-reference to this .
Right-clicks the mouse on the specified element.
The element on which to right-click.
A self-reference to this .
Performs a drag-and-drop operation from one element to another.
The element on which the drag operation is started.
The element on which the drop is performed.
A self-reference to this .
Performs a drag-and-drop operation on one element to a specified offset.
The element on which the drag operation is started.
The horizontal offset to which to move the mouse.
The vertical offset to which to move the mouse.
A self-reference to this .
Builds the sequence of actions.
A composite which can be used to perform the actions.
Performs the currently built action.
Adds an action to current list of actions to be performed.
The to be added.
Defines an action for releasing the currently held mouse button.
This action can be called for an element different than the one
ClickAndHoldAction was called for. However, if this action is
performed out of sequence (without holding down the mouse button,
for example) the results will be different.
Defines an action for mouse interaction with the browser.
Defines an action for keyboard and mouse interaction with the browser.
Initializes a new instance of the class for the given element.
An object tha provides coordinates for this action.
Initializes a new instance of the class.
This action will take place in the context of the previous action's coordinates.
Gets the target of the action providing coordinates of the action.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Moves the mouse to the location at which to perform the action.
Gets the coordinates at which to perform the mouse action.
Gets the mouse with which to perform the action.
Provides methods by which an interaction with the browser can be performed.
Performs this action on the browser.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Performs this action.
Defines an action for clicking on an element.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Performs this action.
Defines an action for clicking and holding the mouse button on an element.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Performs this action.
Defines an action that consists of a list of other actions to be performed in the browser.
Adds an action to the list of actions to be performed.
An to be appended to the
list of actions to be performed.
A self reference.
Performs the actions defined in this list of actions.
Defines an action for clicking the secondary mouse button on an element, displaying a context menu.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Performs this action.
Defines an action for double-clicking on an element.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Performs this action.
Provides location of the element using various frames of reference.
Gets the location of an element in absolute screen coordinates.
Gets the location of an element relative to the origin of the view port.
Gets the location of an element's position within the HTML DOM.
Gets a locator providing a user-defined location for this element.
Defines an action for keyboard interaction with the browser.
Initializes a new instance of the class.
The to use in performing the action.
The to use in setting focus to the element on which to perform the action.
An object providing the element on which to perform the action.
Focuses on the element on which the action is to be performed.
Gets the keyboard with which to perform the action.
Defines an action for pressing a modifier key (Shift, Alt, or Control) on the keyboard.
Defines an action for keyboard interaction with the browser using a single modifier key.
Initializes a new instance of the class.
The to use in performing the action.
The to use in setting focus to the element on which to perform the action.
An object providing the element on which to perform the action.
The modifier key (, , ) to use in the action.
Gets the key with which to perform the action.
Initializes a new instance of the class.
The to use in performing the action.
The to use in setting focus to the element on which to perform the action.
An object providing the element on which to perform the action.
The modifier key (, , ) to use in the action.
Performs this action.
Defines an action for releasing a modifier key (Shift, Alt, or Control) on the keyboard.
Initializes a new instance of the class.
The to use in performing the action.
The to use in setting focus to the element on which to perform the action.
An object providing the element on which to perform the action.
The modifier key (, , ) to use in the action.
Performs this action.
Defines an action for moving the mouse to a specified location.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
Performs this action.
Defines an action for moving the mouse to a specified offset from its current location.
Initializes a new instance of the class.
The with which the action will be performed.
An describing an element at which to perform the action.
The horizontal offset from the origin of the target to which to move the mouse.
The vertical offset from the origin of the target to which to move the mouse.
Performs this action.
Defines an action for sending a sequence of keystrokes to an element.
Initializes a new instance of the class.
The to use in performing the action.
The to use in setting focus to the element on which to perform the action.
An object providing the element on which to perform the action.
The key sequence to send.
Performs this action.
Utility class used to execute "asynchronous" scripts. This class should
only be used by browsers that do not natively support asynchronous
script execution.
Warning: this class is intended for internal use
only. This class will be removed without warning after all
native asynchronous implemenations have been completed.
Initializes a new instance of the class.
An object capable of executing JavaScript.
Executes a JavaScript script asynchronously.
The script to execute.
An array of objects used as arguments in the script.
The object which is the return value of the script.
if the object executing the function doesn't support JavaScript.
if the page reloads during the JavaScript execution.
if the timeout expires during the JavaScript execution.
Gets or sets the timeout for the script executor.
Encapsulates methods for working with files.
Recursively copies a directory.
The source directory to copy.
The destination directory.
if the copy is completed; otherwise .
Recursively deletes a directory, retrying on error until a timeout.
The directory to delete.
This method does not throw an exception if the delete fails.
Defines the interface through which the user can discover if there is an underlying element to be used.
Gets the wrapped by this object.
Utility class to wrap an unmanaged DLL and be responsible for freeing it.
This is a managed wrapper over the native LoadLibrary, GetProcAddress,
and FreeLibrary calls.
Initializes a new instance of the class.
full path name of dll to load
If fileName can't be found
This constructor loads a DLL and makes this class responible for
freeing it. Throws exceptions on failure. Most common failure would be
file-not-found, or that the file is not a loadable image.
Dynamically lookup a function in the dll via kernel32!GetProcAddress.
The name of the function in the export table.
The Type of the delegate to be returned.
A delegate to the unmanaged function. Returns
if the function is not found.
GetProcAddress results are valid as long as the dll is not yet
unloaded. This is very very dangerous to use since you need to
ensure that the dll is not unloaded until after you're done with any
objects implemented by the dll. For example, if you get a delegate
that then gets an IUnknown implemented by this dll, you can not
dispose this library until that IUnknown is collected. Else, you may
free the library and then the CLR may call release on that IUnknown
and it will crash.
Call FreeLibrary on the unmanaged dll. All function pointers handed
out from this class become invalid after this.
This is very dangerous because it suddenly invalidate everything
retrieved from this dll. This includes any functions handed out via
GetProcAddress, and potentially any objects returned from those
functions (which may have an implemention in the dll).
Represents a wrapper class for the handle to a native library.
Initializes a new instance of the class.
Releases the native library handle.
if the library was released, otherwise .
The handle is released by calling the FreeLibrary API.
Provides entry points into needed unmanaged APIs.
Values for flags for setting information about a native operating system handle.
No flags are to be set for the handle.
If this flag is set, a child process created with the bInheritHandles
parameter of CreateProcess set to TRUE will inherit the object handle.
If this flag is set, calling the CloseHandle function will not close the
object handle.
Encapsulates methods for working with ports.
Finds a random, free port to be listened on.
A random, free port to be listened on.
Encapsulates methods for finding and extracting WebDriver resources.
Gets a that contains the resource to use.
A file name in the file system containing the resource to use.
A string representing the resource name embedded in the
executing assembly, if it is not found in the file system.
A Stream from which the resource can be read.
Thrown if neither the file nor the embedded resource can be found.
The GetResourceStream method searches for the specified resource using the following
algorithm:
- In the same directory as the calling assembly.
- In the full path specified by the argument.
- Inside the calling assembly as an embedded resource.
Represents a cookie returned to the driver by the browser.
Initializes a new instance of the class with a specific name,
value, domain, path and expiration date.
The name of the cookie.
The value of the cookie.
The domain of the cookie.
The path of the cookie.
The expiration date of the cookie.
if the cookie is secure; otherwise
The current the browser is viewing.
If the name is or an empty string,
or if it contains a semi-colon.
If the value or currentUrl is .
Creates and returns a string representation of the current cookie.
A string representation of the current cookie.
Gets the current URL the browser is viewing.
Gets a value determining if the cookie is secure.
Provides types of capabilities for the DesiredCapabilities object.
Capability name used for the browser name.
Capability name used for the browser platform.
Capability name used for the browser version.
Capability name used to indicate whether JavaScript is enabled for the browser.
Capability name used to indicate whether the browser can take screenshots.
Capability name used to indicate whether the browser can handle alerts.
Capability name used to indicate whether the browser can find elements via CSS selectors.
Capability name used for the browser proxy.
Capability name used to indicate whether the browser supports rotation.
Capability name used to indicate whether the browser accepts SSL certificates.
Capability name used to indicate whether the browser uses native events.
Provides a way to send commands to the remote server
Initializes a new instance of the Command class using a command name and a JSON-encoded string for the parameters.
Name of the command
Parameters for the command as a JSON-encoded string.
Initializes a new instance of the Command class for a Session
Session ID the driver is using
Name of the command
Parameters for that command
Returns a string of the Command object
A string representation of the Command Object
Gets the command parameters as a , with a string key, and an object value.
The JSON-encoded string representing the command parameters.
A with a string keys, and an object value.
Gets the SessionID of the command
Gets the command name
Gets the parameters of the command
Gets the parameters of the command as a JSON-encoded string.
Provides the execution information for a .
POST verb for the command info
GET verb for the command info
DELETE verb for the command info
Initializes a new instance of the CommandInfo class
Method of the Command
Relative URL path to the resource used to execute the command
Creates a webrequest for your command
Uri that will have the command run against
Command to execute
A web request of what has been run
Gets the URL representing the path to the resource.
Gets the HTTP method associated with the command.
Holds the information about all commands specified by the JSON wire protocol.
Prevents a default instance of the class from being created.
Gets the for a .
The for which to get the information.
The for the specified command.
Gets the singleton instance of the .
Class to Create the capabilities of the browser you require for .
If you wish to use default values use the static methods
Initializes a new instance of the DesiredCapabilities class
Name of the browser e.g. firefox, internet explorer, safari
Version of the browser
The platform it works on
Initializes a new instance of the DesiredCapabilities class
Initializes a new instance of the DesiredCapabilities class
Dictionary of items for the remotedriver
DesiredCapabilities capabilities = new DesiredCapabilities(new Dictionary]]>(){["browserName","firefox"],["version",string.Empty],["javaScript",true]});
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilites for use with Firefox
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with Internet Explorer
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with HTMLUnit
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with HTMLUnit with JS
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with iPhone
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with iPad
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with Chrome
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with Android
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with Opera
Method to return a new DesiredCapabilities using defaults
New instance of DesiredCapabilities for use with Safari
Gets a value indicating whether the browser has a given capability.
The capability ot get.
Returns if the browser has the capability; otherwise, .
Gets a capability of the browser.
The capability to get.
An object associated with the capability, or
if the capability is not set on the browser.
Sets a capability of the browser.
The capability to get.
The value for the capability.
Return HashCode for the DesiredCapabilties that has been created
Integer of HashCode generated
Return a string of capabilies being used
String of capabilites being used
Compare two DesiredCapabilities and will return either true or false
DesiredCapabities you wish to compare
true if they are the same or false if they are not
Gets the browser name
Gets or sets the platform
Gets the browser version
Gets or sets a value indicating whether the browser is javascript enabled
Gets the internal capabilities dictionary.
Values describing the list of commands understood by a remote server using the JSON wire protocol.
Represents the Define Driver Mapping command
Represents the Status command.
Represents a New Session command
Represents the Get Session List command
Represents the Get Session Capabilities command
Represents a Browser close command
Represents a browser quit command
Represents a GET command
Represents a Browser going back command
Represents a Browser going forward command
Represents a Browser refreshing command
Represents adding a cookie command
Represents getting all cookies command
Represents deleting a cookie command
Represents Deleting all cookies command
Represents findelement command
Represents findelements command
Represents findchildelements command
Represents findchildelements command
Describes an element
Represents clearelements command
Represents clickelements command
Represents SendKeysToElements command
Represents SubmitElement command
Represents findchildelements command
Represents GetWindowHandles command
Represents SwitchToWindow command
Represents SwitchToFrame command
Represents GetActiveElement command
Represents GetCurrentUrl command
Represents GetPageSource command
Represents GetTitle command
Represents ExecuteScript command
Represents ExecuteAsyncScript command
Represents GetElementText command
Represents GetElementTagName command
Represents IsElementSelected command
Represents IsElementEnabled command
Represents IsElementDisplayed command
Represents GetElementLocation command
Represents GetElementLocationOnceScrolledIntoView command
Represents GetElementSize command
Represents GetElementAttribute command
Represents GetElementValueOfCssProperty command
Represents ElementEquals command
Represents Screenshot command
Represents GetOrientation command
Represents SetOrientation command
Represents GetWindowSize command
Represents SetWindowSize command
Represents GetWindowPosition command
Represents SetWindowPosition command
Represents MaximizeWindow command
Represents the DismissAlert command
Represents the AcceptAlert command
Represents the GetAlertText command
Represents the SetAlertValue command
Represents the ImplicitlyWait command
Represents the SetAsyncScriptTimeout command
Represents the MouseClick command.
Represents the MouseDoubleClick command.
Represents the MouseDown command.
Represents the MouseUp command.
Represents the MouseMoveTo command.
Represents the SendKeysToActiveElement command.
Provides a mechanism to execute commands on the browser
Initializes a new instance of the class.
The that drives the browser.
The maximum amount of time to wait for each command.
Executes a command with the ChromeDriver.
The command you wish to execute
A response from the browser
Provides a way to store errors from a repsonse
Initializes a new instance of the class.
Initializes a new instance of the class using the specified values.
A containing names and values of
the properties of this .
Gets or sets the message from the reponse
Gets or sets the class name that threw the error
Gets or sets the screenshot of the error
Gets or sets the stack trace of the error
Defines the interface through which the user can manipulate JavaScript alerts.
Initializes a new instance of the class.
The for which the alerts will be managed.
Dismisses the alert.
Accepts the alert.
Sends keys to the alert.
The keystrokes to send.
Gets the text of the alert.
Defines an interface allowing the user to manipulate cookies on the current page.
Initializes a new instance of the class.
The driver that is currently in use
Method for creating a cookie in the browser
that represents a cookie in the browser
Delete the cookie by passing in the name of the cookie
The name of the cookie that is in the browser
Delete a cookie in the browser by passing in a copy of a cookie
An object that represents a copy of the cookie that needs to be deleted
Delete All Cookies that are present in the browser
Method for returning a getting a cookie by name
name of the cookie that needs to be returned
A Cookie from the name
Method for getting a Collection of Cookies that are present in the browser
ReadOnlyCollection of Cookies in the browser
Gets all cookies defined for the current page.
Defines the interface through which the user can discover where an element is on the screen.
Initializes a new instance of the class.
The to be located.
Gets the location of an element in absolute screen coordinates.
Gets the location of an element relative to the origin of the view port.
Gets the location of an element's position within the HTML DOM.
Gets a locator providing a user-defined location for this element.
Defines the interface through which the user can execute advanced keyboard interactions.
Initializes a new instance of the class.
The for which the keyboard will be managed.
Sends a sequence of keystrokes to the target.
A string representing the keystrokes to send.
Presses a key.
The key value representing the key to press.
The key value must be one of the values from the class.
Releases a key.
The key value representing the key to release.
The key value must be one of the values from the class.
Defines the interface through which the user can execute advanced mouse interactions.
Initializes a new instance of the class.
The for which the mouse will be managed.
Clicks at a set of coordinates using the primary mouse button.
An describing where to click.
Double-clicks at a set of coordinates.
A describing where to double-click.
Presses the primary mouse button at a set of coordinates.
A describing where to press the mouse button down.
Releases the primary mouse button at a set of coordinates.
A describing where to release the mouse button.
Moves the mouse to the specified set of coordinates.
A describing where to move the mouse to.
Moves the mouse to the specified set of coordinates.
A describing where to click.
A horizontal offset from the coordinates specified in .
A vertical offset from the coordinates specified in .
Clicks at a set of coordinates using the secondary mouse button.
A describing where to click.
Provides a mechanism for Navigating with the driver.
Initializes a new instance of the RemoteNavigator class
Driver in use
Move the browser back
Move the browser forward
Navigate to a url for your test
String of where you want the browser to go to
Navigate to a url for your test
Uri object of where you want the browser to go to
Refresh the browser
Provides a mechanism for setting options needed for the driver during the test.
Initializes a new instance of the RemoteOptions class
Instance of the driver currently in use
Provides access to the timeouts defined for this driver.
An object implementing the interface.
Gets an object allowing the user to manipulate cookies on the page.
Gets an object allowing the user to manipulate the currently-focused browser window.
"Currently-focused" is defined as the browser window having the window handle
returned when IWebDriver.CurrentWindowHandle is called.
Provides a mechanism for finding elements on the page with locators.
Initializes a new instance of the RemoteTargetLocator class
The driver that is currently in use
Move to a different frame using its index
The index of the
A WebDriver instance that is currently in use
Move to different frame using its name
name of the frame
A WebDriver instance that is currently in use
Move to a frame element.
a previously found FRAME or IFRAME element.
A WebDriver instance that is currently in use.
Change to the Window by passing in the name
name of the window that you wish to move to
A WebDriver instance that is currently in use
Change the active frame to the default
Element of the default
Finds the active element on the page and returns it
Element that is active
Switches to the currently active modal dialog for this particular driver instance.
A handle to the dialog.
Defines the interface through which the user can define timeouts.
Initializes a new instance of the RemoteTimeouts class
The driver that is currently in use
Specifies the amount of time the driver should wait when searching for an
element if it is not immediately present.
A structure defining the amount of time to wait.
A self reference
When searching for a single element, the driver should poll the page
until the element has been found, or this timeout expires before throwing
a . When searching for multiple elements,
the driver should poll the page until at least one element has been found
or this timeout has expired.
Increasing the implicit wait timeout should be used judiciously as it
will have an adverse effect on test run time, especially when used with
slower location strategies like XPath.
Specifies the amount of time the driver should wait when executing JavaScript asynchronously.
A structure defining the amount of time to wait.
A self reference
Defines the interface through which the user can manipulate the browser window.
Initializes a new instance of the class.
Instance of the driver currently in use
Maximizes the current window if it is not already maximized.
Gets or sets the position of the browser window relative to the upper-left corner of the screen.
When setting this property, it should act as the JavaScript window.moveTo() method.
Gets or sets ths size of the outer browser window, including title bars and window borders.
When setting this property, it should act as the JavaScript window.resizeTo() method.
Handles reponses from the browser
Initializes a new instance of the Response class
Initializes a new instance of the Response class
Session ID in use
Returns a new from a JSON-encoded string.
The JSON string to deserialize into a .
A object described by the JSON string.
Returns this object as a JSON-encoded string.
A JSON-encoded string representing this object.
Returns the object as a string.
A string with the Session ID, status value, and the value from JSON.
Gets or sets the value from JSON.
Gets or sets the session ID.
Gets or sets the status value of the response.
Provides a mechanism for maintaining a session for a test
Initializes a new instance of the SessionId class
Key for the session in use
Get the value of the key
The key in use
Get the hashcode of the key
The hashcode of the key
Compares two Sessions
Session to compare
True if they are equal or False if they are not
Gives properties to get a stack trace
Initializes a new instance of the class.
Initializes a new instance of the class using the given property values.
A containing the names and values for the properties of this .
Gets a string representation of the object.
A string representation of the object.
Gets or sets the value of the filename in the stack
Gets or sets the value of the Class name in the stack trace
Gets or sets the line number
Gets or sets the Method name in the stack trace
Provides a way to convert a Char arry to JSON
Checks if the object can be converted
Type of the object to see if can be converted
True if can be converted else false
Writes the Object to JSON
A JSON Writer object
Object to be converted
JSON Serializer object instance
Method not implemented
JSON Reader instance
Object type being read
Existing Value to be read
JSON Serializer instance
Object from JSON
Provides a way to convert Cookies to JSON and back
Checks if the object can be converted
Type of the object
A value indicating if it can be converted
Get the platform from the JSON reader
JSON Reader instance
Object type being read
The exisiting value of the object
JSON Serializer instance
Platform from JSON reader
Created a cookie from the JSON string
The JSON writer with a string
Value of the string
JSON serializer instance
Provides a way to convert DesiredCapabilities objects to JSON and back
Checks if the object can be converted
Type of the object
A value indicating if it can be converted
Get the capabilities from the JSON reader
JSON Reader instance
Object type being read
The exisiting value of the object
JSON Serializer instance
Platform from JSON reader
Creates a JSON string representing the DesiredCapabilities object
The JSON writer with a string
Value of the string
JSON serializer instance
Provides a mechanism to get the platform from JSON and write the platform
Checks if the type can be converted
Object type to be converted
A value indicating if it can be converted
Get the platform from the JSON reader
JSON Reader instance
Object type being read
The exisiting value of the object
JSON Serializer instance
Platform from JSON reader
Writes the platform to JSON
JSON Writer instance
the platform
JSON Serializer Instance
Provides a way to convert a arry to JSON
Checks if the object can be converted
Type of the object
A value indicating if it can be converted
Get the platform from the JSON reader
JSON Reader instance
Object type being read
The exisiting value of the object
JSON Serializer instance
Platform from JSON reader
Create a JSON string representation of the Proxy
The JSON writer with a string
Value of the string
JSON serializer instance
Converts the response to JSON
Checks if the object can be converted
The object to be converted
True if it can be converted or false if can't be
Pricess the reader to return an object from JSON
A JSON reader
Type of the object
The existing value of the object
JSON Serializer
Object created from JSON
Writes objects to JSON. Currently not implemented
JSON Writer Object
Value to be written
JSON Serializer
Wraps a commmand object to give it a unique ID as required by the Safari extension.
Initializes a new instance of the class.
The object used as a base for this .
Gets the ID of the command.
Provides a way to access Safari to run your tests by creating a SafariDriver instance
When the WebDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and
start your test.
[TestFixture]
public class Testing
{
private IWebDriver driver;
[SetUp]
public void SetUp()
{
driver = new SafariDriver();
}
[Test]
public void TestGoogle()
{
driver.Navigate().GoToUrl("http://www.google.co.uk");
/*
* Rest of the test
*/
}
[TearDown]
public void TearDown()
{
driver.Quit();
driver.Dispose();
}
}
Initializes a new instance of the class.
Starts the command executor, enabling communication with the browser.
Stops the command executor, ending further communication with the browser.
Provides a way of executing Commands using the SafariDriver.
Initializes a new instance of the class.
The port on which the executor communicates with the extension.
Starts the command executor.
Executes a command
The command you wish to execute
A response from the browser
Releases all resources used by the .
Releases all resources associated with this .
if the Dispose method was explicitly called; otherwise, .
Represents a connection to an instance of the Safari browser.
Initializes a new instance of the class.
An representing a
connection using the WebSockets protocol.
Sends a command to the SafariDriver and waits for a response.
The to send to the driver.
The from the command.
Provides the WebSockets server for communicating with the Safari extension.
Initializes a new instance of the class.
Initializes a new instance of the class using a specific port for communication.
The port to use to communicate.
Starts the server.
Stops the server.
Waits for a connection to be established with the server by the Safari browser extension.
A containing the amount of time to wait for the connection.
A representing the connection to the browser.
Releases all resources used by the .
Releases the unmanaged resources used by the and optionally
releases the managed resources.
to release managed and resources;
to only release unmanaged resources.
Gets the URI of the server.
Wraps a response object to give it a unique ID as required by the Safari extension.
Returns a new from a JSON-encoded string.
The JSON string to deserialize into a .
A object described by the JSON string.
Gets or sets the ID of the command.
Provides arguments for handling the event for accepting connections.
Initializes a new instance of the class.
The to use in the event.
Gets the object to use in handling the event.
Provides arguments for handling the event for receiving a binary message.
Initializes a new instance of the class.
The binary data in the message.
Gets the binary data of the message.
Provides arguments for handling events associated with connections to the server.
Initializes a new instance of the class.
The representing the
connection to the client.
Gets the connection to the client.
Provides arguments for handling events associated with errors.
Initializes a new instance of the class.
The thrown for the error condition.
Gets the associated with the error condition.
Enumerates the types of frames described by the WebSocket protocol.
Indicates a continuation frame.
Indicates a text frame.
Indicates a binary frame.
Indicates a close frame.
Indicates a ping frame.
Indicates a ping response frame.
Provides a factory for creating handlers for the different versions of the WebSocket protocol.
Prevents a default instance of the class from being created.
Creates a handler to handle a .
The to create the handler for.
An object that can handle the specific protocol version
of the request.
Gets the version of an .
The to get the protocol version of.
A string containing the version of the protocol of the request.
Provides an exception for handshake errors in the protocol connection.
Initializes a new instance of the class.
Initializes a new instance of the class with a specified error message.
The message for the exception.
Initializes a new instance of the class with a specified error message
and a reference to the inner exception that is the cause of this exception.
The message for the exception.
The inner exception that is the cause of this exception.
Initializes a new instance of the class with serialized data.
The object that holds the serialized object data.
The contextual information about the source or destination.
Provides an interface for handling communication over the WebSocket connection.
Processes data received by the connection.
The data to be processed.
Creates a handshake message for initiating connections.
A byte array containing the handshake message.
Creates a frame for text messages in the WebSocket protocol.
The text of the message.
A byte array containing the message frame.
Creates a frame for binary messages in the WebSocket protocol.
The binary data of the message.
A byte array containing the message frame.
Creates a frame for close messages in the WebSocket protocol.
The connection close code of the message.
A byte array containing the message frame.
Event raised when a text message is processed by the handler.
Event raised when a binary message is processed by the handler.
Event raised when a close message is processed by the handler.
Provides extension methods for converting integers.
Converts a to a big-endian byte array.
The value to convert.
A byte array containing a big-endian representation of the value.
Converts a to a big-endian byte array.
The value to convert.
A byte array containing a big-endian representation of the value.
Converts a byte array to a little-endian value.
The byte array to convert.
The little-endian representation of the array as a .
Provides an interface for parsing requests.
Parses the specified data into a .
The data to be parsed.
The parsed .
Parses the specified data into a for the given scheme.
The data to be parsed.
The scheme to use in parsing the data.
The parsed .
Provides an interface simplifying the use of asynchronous communication using a socket.
Accepts a connection for the socket.
Sends data over the socket.
The data to be sent.
Receives data over the socket.
The buffer into which the data will be read.
The offset into the buffer at which the data will be read.
Authenticates over the socket.
An that specifies authentication information.
Closes the socket connection.
Binds the socket to a local end point.
The local end point to which to bind the socket.
Starts listening to data received over the socket.
The number of pending connections to process.
Event raised when a connection is accepted by the socket.
Event raised when an error occurs accepting a connection.
Event raised when data is sent through the socket.
Event raised when there is an error sending data.
Event raised when data is received by the socket.
Event raised when there is an error receiving data.
Event raised when authentication is completed over the socket.
Event raised when there is an error authenticating over the socket.
Gets a value indicating whether the socket is connected.
Gets the remote IP address of the socket connection.
Gets a stream for reading and writing data.
Provides an interface describing a connection to a WebSocket.
Sends a text message over the connection.
The text message to send.
Sends a binary message over the connection.
The binary message to send.
Sends raw text over the connection, without passing through a handler.
The message to send.
Closes the connection.
Event raised when a connection is opened.
Event raised when a connection is closed.
Event raised when a text message is received via the connection.
Event raised when a binary message is received via the connection.
Event raised when a non-WebSocket message is received.
Event raised when an error occurs via the connection.
Event raised when data is sent via the connection.
Gets an object describing the connection.
Provides an interface describing information about the WebSocket connection.
Gets the subprotocol of the connection.
Gets the origin of the connection.
Gets the host for the connection.
Gets the path for the connection.
Gets the IP address of the client for the connection.
Gets the collection of cookies for the connection.
Provides an interface for the server.
Starts the server.
Represents the state of a connection.
Initializes a new instance of the class.
Clears the current state.
Gets the data of the current state.
Gets or sets the frame type of the current state.
Provides arguments for handling the event for when data is received.
Initializes a new instance of the class.
The number of bytes read.
A byte array containing the data read.
Gets the number of bytes read.
Gets the data read by the connection.
Parses a request.
Initializes a new instance of the class.
Parses the specified data into a .
The data to be parsed.
The parsed .
Parses the specified data into a for the given scheme.
The data to be parsed.
The scheme to use in parsing the data.
The parsed .
Provides a wrapper around a .
Initializes a new instance of the class.
The to wrap.
Accepts a connection for the socket.
Sends data over the socket.
The data to be sent.
Receives data over the socket.
The buffer into which the data will be read.
The offset into the buffer at which the data will be read.
Authenticates over the socket.
An that specifies authentication information.
Closes the socket connection.
Binds the socket to a local end point.
The local end point to which to bind the socket.
Starts listening to data received over the socket.
The number of pending connections to process.
Releases all resources used by the .
Raises the Accepted event.
An that contains the event data.
Raises the AcceptError event.
An that contains the event data.
Raises the Sent event.
An that contains the event data.
Raises the SendError event.
An that contains the event data.
Raises the Received event.
A that contains the event data.
Raises the ReceiveError event.
An that contains the event data.
Raises the Authenticated event.
An that contains the event data.
Raises the AuthenticateError event.
An that contains the event data.
Releases the unmanaged resources used by the and optionally
releases the managed resources.
to release managed and resources;
to only release unmanaged resources.
Event raised when a connection is accepted by the socket.
Event raised when an error occurs accepting a connection.
Event raised when data is sent through the socket.
Event raised when there is an error sending data.
Event raised when data is received by the socket.
Event raised when there is an error receiving data.
Event raised when authentication is completed over the socket.
Event raised when there is an error authenticating over the socket.
Gets a value indicating whether the socket is connected.
Gets the remote IP address of the socket connection.
Gets a stream for reading and writing data.
Provides arguments for handling events associated with connections to the server.
Initializes a new instance of the class.
The representing the
connection to the client.
Gets the connection to the client.
Gets or sets a value indicating whether to the event was processed.
Provides arguments for handling the event for receiving a text message.
Initializes a new instance of the class.
The text message received.
Gets the text message received.
Represents a connection to a WebSocket.
Initializes a new instance of the class.
The used in the connection.
The scheme used to parse requests.
Sends a text message over the connection.
The text message to send.
Sends a binary message over the connection.
The binary message to send.
Sends raw text over the connection, without passing through a handler.
The message to send.
Closes the connection.
Starts the connection receiving requests.
Fires the MessageReceived event.
A that contains the event data.
Fires the BinaryMessageReceived event.
A that contains the event data.
Fires the Opened event.
A that contains the event data.
Fires the Closed event.
A that contains the event data.
Fires the StandardHttpRequestReceived event.
A that contains the event data.
Fires the Sent event.
An that contains the event data.
Fires the ErrorReceived event.
An that contains the event data.
Event raised when a connection is opened.
Event raised when a connection is closed.
Event raised when a text message is received via the connection.
Event raised when a binary message is received via the connection.
Event raised when a non-WebSocket message is received.
Event raised when an error occurs via the connection.
Event raised when data is sent via the connection.
Gets or sets the implementation used for communication.
Gets or sets the implementation used for parsing and handling requests.
Gets an object describing the connection.
Provides information about a WebSocket connection.
Prevents a default instance of the class from being created.
Creates a for a given request and IP address.
The to get the connection information for.
The IP address of the client connection.
The created .
Gets the subprotocol of the connection.
Gets the origin of the connection.
Gets the host for the connection.
Gets the path for the connection.
Gets the IP address of the client for the connection.
Gets the collection of cookies for the connection.
Provides a base exception for WebSocket errors.
Initializes a new instance of the class.
Initializes a new instance of the class with a specified error message.
The message for the exception.
Initializes a new instance of the class with a specified error message
and a reference to the inner exception that is the cause of this exception.
The message for the exception.
The inner exception that is the cause of this exception.
Initializes a new instance of the class with a specified status code.
The status code of the exception.
Initializes a new instance of the class with a specified status code
and error message.
The status code of the exception.
The message for the exception.
Initializes a new instance of the class with a specified status code,
error message, and a reference to the inner exception that is the cause of this exception.
The status code for the exception.
The message for the exception.
The inner exception that is the cause of this exception.
Initializes a new instance of the class with serialized data.
The object that holds the serialized object data.
The contextual information about the source or destination.
Sets the with information about the exception.
The that holds the serialized object data about the exception being thrown.
The that contains contextual information about the source or destination.
Gets the status code.
Defines an HTTP request via the WebSocket protocol.
Gets or sets the HTTP method of the request.
Gets or sets the path of the request.
Gets or sets the body of the request
Gets or sets the scheme of the request.
Gets or sets the WebSocket payload of the request.
Gets the headers for the request.
Gets or sets the value associated with the specified header.
The name of the header.
The value of the header, if it exists. If it does not exist, returns an empty string.
Provides an implementation of a WebSocket server.
Initializes a new instance of the class.
The location at which to listen for connections.
Initializes a new instance of the class.
The port on which to listen for connections.
The location at which to listen for connections.
Starts the server.
Releases all resources used by the .
Raises the ConnectionOpened event.
A that contains the event data.
Raises the ConnectionClosed event.
A that contains the event data.
Raises the StandardHttpRequestReceived event.
A that contains the event data.
Raises the MessageReceived event.
A that contains the event data.
Raises the ErrorOccurred event.
An that contains the event data.
Releases the unmanaged resources used by the and optionally
releases the managed resources.
to release managed and resources;
to only release unmanaged resources.
Event raised when a message is received from the WebSocket.
Event raised when a connection is opened.
Event raised when a connection is closed.
Event raised when an error occurs.
Event raised when a non-WebSocket message is received.
Gets or sets the on which communication occurs.
Gets the location the server is listening on for connections.
Gets the port the server is listening on for connections.
Gets or sets the certificate used for authentication.
Gets a value indicating whether the connection is secure.
Provides status codes for the WebSocket protocol
Indicates a normal closure status.
Indicates a notification that the socket is closing.
Indicates an error in the protocol.
Indicates an attempt to transmit an unsupported data type.
Indicates no status information received.
Represens an abnormal closure of the socket.
Indicates invalid data in the frame.
Indicates a policy violation.
Indicates that the message is too big.
Indicates a mandatory extension.
Indicates an internal server error.
Indicates a TLS handshake.
Indicates an application error.
A collection of all of the status codes indicating a valid closing of the connection.
Provides a request handler for the Hixie76 or Hybi00 version of the WebSocket protocol.
Provides the base class for handling WebSocket protocol requests.
Processes data received by the connection.
The data to be processed.
Creates a handshake message for initiating connections.
A byte array containing the handshake message.
Creates a frame for text messages in the WebSocket protocol.
The text of the message.
A byte array containing the message frame.
Creates a frame for binary messages in the WebSocket protocol.
The binary data of the message.
A byte array containing the message frame.
Creates a frame for close messages in the WebSocket protocol.
The connection close code of the message.
A byte array containing the message frame.
Receives the data from the protocol.
Gets the handshake for WebSocket protocol.
A byte array representing the handshake in the WebSocket protocol.
Prepares a text frame for the given text.
The text for which to prepare the frame
A byte array representing the frame in the WebSocket protocol.
Prepares a binary frame for the given binary data.
The binary data for which to prepare the frame.
A byte array representing the frame in the WebSocket protocol.
Prepares a close frame for the given connection.
The code to use in closing the connection.
A byte array representing the frame in the WebSocket protocol.
Raises the TextMessageHandled event.
A that contains the event data.
Raises the BinaryMessageHandled event.
A that contains the event data.
Raises the CloseHandled event.
An that contains the event data.
Event raised when a text message is processed by the handler.
Event raised when a binary message is processed by the handler.
Event raised when a close message is processed by the handler.
Gets the data to be handled by this handler.
Initializes a new instance of the class.
The to handle.
Creates a new instance of the .
The to handle.
A to perform handling of subsequent requests.
Gets the handshake for WebSocket protocol.
A byte array representing the handshake in the WebSocket protocol.
Prepares a text frame for the given text.
The text for which to prepare the frame.
A byte array representing the frame in the WebSocket protocol.
Receives the data from the protocol.
Provides a handler for the RFC 6455 version of the WebSocket protocol.
Initializes a new instance of the class.
The to handle.
Creates a new instance of the handler.
The request to handle.
A to perform handling of subsequent requests.
Receives data from the protocol.
Prepares a text frame for the given text.
The text for which to prepare the frame.
A byte array representing the frame in the WebSocket protocol.
Prepares a close frame for the given connection.
The code to use in closing the connection.
A byte array representing the frame in the WebSocket protocol.
Gets the handshake for WebSocket protocol.
A byte array representing the handshake in the WebSocket protocol.
Prepares a binary frame for the given binary data.
The binary data for which to prepare the frame.
A byte array representing the frame in the WebSocket protocol.