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. Determines if two instances are equal. One instance to compare. The other instance to compare. if the two instances are equal; otherwise, . Determines if two instances are unequal. s One instance to compare. The other instance to compare. if the two instances are not equal; otherwise, . 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. Gets the command-line arguments for 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. Setting this parameter to will allow the script to run indefinitely. A self reference Specifies the amount of time the driver should wait for a page to load when setting the property. A structure defining the amount of time to wait. Setting this parameter to will allow the page to load indefinitely. 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. A version of the Android mobile 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. 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 with the desired options. The used to initialize the driver. Initializes a new instance of the InternetExplorerDriver class using the specified path to the directory containing IEDriverServer.exe. The full path to the directory containing IEDriverServer.exe. Initializes a new instance of the InternetExplorerDriver class using the specified path to the directory containing IEDriverServer.exe and command timeout. The full path to the directory containing IEDriverServer.exe. The used to initialize the driver. Initializes a new instance of the InternetExplorerDriver class using the specified path to the directory containing IEDriverServer.exe and command timeout. The full path to the directory containing IEDriverServer.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. Represents the valid values of logging levels available with the IEDriverServer.exe. Represents the Trace value, the most detailed logging level available. Represents the Debug value Represents the Info value Represents the Warn value Represents the Error value Represents the Fatal value, the least detailed logging level available. Exposes the service provided by the native IEDriverServer executable. Initializes a new instance of the InternetExplorerDriverService class. The full path to the IEDriverServer executable. The port on which the IEDriverServer 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 IEDriverServer executable. The directory containing the IEDriverServer executable. A InternetExplorerDriverService using a random port. Gets or sets the value of the host adapter on which the IEDriverServer should listen for connections. Gets or sets the location of the log file written to by the IEDriverServer. Gets or sets the logging level used by the IEDriverServer. Gets the executable file name of the driver service. Gets the command-line arguments for the driver service. Specifies the scroll behavior of elements scrolled into view in the IE driver. Scrolls elements to align with the top of the viewport. Scrolls elements to align with the bottom of the viewport. 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 ignore the zoom level of Internet Explorer . Gets or sets a value indicating whether to use native events in interacting with elements. Gets or sets the initial URL displayed when IE is launched. If not set, the browser launches with the internal startup page for the WebDriver server. By setting the to and this property to a correct URL, you can launch IE in the Internet Protected Mode zone. This can be helpful to avoid the flakiness introduced by ignoring the Protected Mode settings. Nevertheless, setting Protected Mode zone settings to the same value in the IE configuration is the preferred method. Gets or sets the value for describing how elements are scrolled into view in the IE driver. Defaults to scrolling the element to the top of the viewport. 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. 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 SetTimeout 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. Setting this parameter to will allow the script to run indefinitely. A self reference Specifies the amount of time the driver should wait for a page to load when setting the property. A structure defining the amount of time to wait. Setting this parameter to will allow the page to load indefinitely. 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. Creates a WebSockets command message according to the SafariDriver specification. Initializes a new instance of the class. The to wrap. Gets the origin of the WebSocket message. Gets the type of the WebSocket message. Gets the wrapped command for transport. 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. Initializes a new instance of the class. The port on which the executor communicates with the extension. The locatoin of the Safari exectuable 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. Creates a WebSockets response message according to the SafariDriver specification. 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. Gets or sets the origin of the response message. Gets or sets the type of the response message. Gets or sets the internal response for the given 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.