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. When searching within a WebElement using xpath be aware that WebDriver follows standard conventions: a search prefixed with "//" will search the entire document, not just the children of this current node. Use ".//" to limit your search to the children of this WebElement. 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 style sheet (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. Defines an object responsible for detecting sequences of keystrokes representing file paths and names. Returns a value indicating whether a specified key sequence represents a file name and path. The sequence to test for file existence. if the key sequence represents a file; otherwise, . Represents the default file detector for determining whether a file must be uploaded to a remote server. Returns a value indicating whether a specified key sequence represents a file name and path. The sequence to test for file existence. This method always returns in this implementation. Exposes the service provided by a native WebDriver server executable. Initializes a new instance of the DriverService class. The full path to the directory containing the executable providing the service to drive the browser. The port on which the driver executable should listen. The file name of the driver service executable. A URL at which the driver service executable may be downloaded. If the path specified is or an empty string. If the specified driver service executable does not exist in the specified directory. Releases all resources associated with this . Starts the DriverService. Finds the specified driver service executable. The file name of the executable to find. A URL at which the driver service executable may be downloaded. The directory containing the driver service executable. If the specified driver service executable does not exist in the current directory or in a directory on the system path. Releases all resources associated with this . if the Dispose method was explicitly called; otherwise, . Stops the DriverService. Gets the Uri of the service. Gets or sets the port of the service. Gets or sets a value indicating whether the initial diagnostic information is suppressed when starting the driver server executable. Defaults to , meaning diagnostic information should be shown by the driver server executable. 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. 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. 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. 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. Interface determining whether the driver implementation allows detection of files when sending keystrokes to a file upload element. Gets or sets the responsible for detecting sequences of keystrokes representing file paths and names. Capabilities of the browser that you are going to use Gets a value indicating whether the browser has a given capability. The capability to 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. Interface implemented by each driver that allows access to touch screen capabilities. Gets the device representing the touch screen. 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 Interface representing basic touch screen operations. Allows the execution of single tap on the screen, analogous to click using a Mouse. The object representing the location on the screen, usually an . Allows the execution of the gesture 'down' on the screen. It is typically the first of a sequence of touch gestures. The x coordinate relative to the view port. The y coordinate relative to the view port. Allows the execution of the gesture 'up' on the screen. It is typically the last of a sequence of touch gestures. The x coordinate relative to the view port. The y coordinate relative to the view port. Allows the execution of the gesture 'move' on the screen. The x coordinate relative to the view port. The y coordinate relative to the view port. Creates a scroll gesture that starts on a particular screen location. The object representing the location on the screen where the scroll starts, usually an . The x coordinate relative to the view port. The y coordinate relative to the view port. Creates a scroll gesture for a particular x and y offset. The horizontal offset relative to the view port. The vertical offset relative to the view port. Allows the execution of double tap on the screen, analogous to click using a Mouse. The object representing the location on the screen, usually an . Allows the execution of a long press gesture on the screen. The object representing the location on the screen, usually an . Creates a flick gesture for the current view. The horizontal speed in pixels per second. The vertical speed in pixels per second. Creates a flick gesture for the current view starting at a specific location. The object representing the location on the screen where the scroll starts, usually an . The x offset relative to the viewport. The y offset relative to the viewport. The speed in pixels per second. Defines the interface through which the user controls the browser. The interface is the main interface to use for testing, which represents an idealized web browser. The methods in this class fall into three categories: Control of the browser itselfSelection of IWebElementsDebugging 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 guarantee 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 nameValue returned if not explicitly specifiedValid element typescheckedcheckedCheck BoxselectedselectedOptions in Select elementsdisableddisabledInput 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 specified by 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 containing 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 the 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 keys able to be pressed 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 F11. Represents the function key F12. Represents the function key META. Represents the function key COMMAND. 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. The exception that is thrown when an alert 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 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 automatic configuration from URL. Use proxy automatic detection. 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 the type of proxy as a string for JSON serialization. Gets or sets a value indicating whether the proxy uses automatic detection. 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 bypass proxy addresses. Gets or sets the URL used for proxy automatic configuration. Gets or sets the value of the proxy for the SSL protocol. Gets or sets the value of the proxy for the SOCKS protocol. Gets or sets the value of username for the SOCKS proxy. Gets or sets the value of password for the SOCKS proxy. 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 alert text. The message that describes the error. The text of the unhandled alert. 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. Populates a SerializationInfo with the data needed to serialize the target object. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Gets the that has not been handled. Gets the text of the unhandled alert. 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. 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. 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. 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 style sheet (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. 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(); } } The default command timeout for HTTP requests in a RemoteWebDriver instance. 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 capabilities, 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 interact with 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 Speed 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 interact with 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 class name 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 class name 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 Response 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 matching 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 or sets the responsible for detecting sequences of keystrokes representing file paths and names. Gets the which executes commands for this driver. Gets the for the current session of this driver. 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. 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 the device representing the touch screen. Gets or sets the screen orientation of the browser on the device. Provides a way to send commands to the remote server Executes a command The command you wish to execute A response from the browser Provides a way of executing Commands over HTTP Initializes a new instance of the HttpCommandExecutor class Address of the WebDriver Server The timeout within which the server must respond. Initializes a new instance of the HttpCommandExecutor class Address of the WebDriver Server The timeout within which the server must respond. if the KeepAlive header should be sent with HTTP requests; otherwise, . Executes a command The command you wish to execute A response from the browser 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 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 class. Initializes a new instance of the class using the specified options. The to be used with the Chrome driver. Initializes a new instance of the 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 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 class using the specified path to the directory containing ChromeDriver.exe, options, and command timeout. 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 class using the specified and options. The to use. The used to initialize the driver. Initializes a new instance of the 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. Gets or sets the responsible for detecting sequences of keystrokes representing file paths and names. The Chrome driver does not allow a file detector to be set, as the server component of the Chrome driver (ChromeDriver.exe) only allows uploads from the local computer environment. Attempting to set this property has no effect, but does not throw an exception. If you are attempting to run the Chrome driver remotely, use in conjunction with a standalone WebDriver server. 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 or sets the location of the log file written to by the ChromeDriver executable. Gets or sets the base URL path prefix for commands (e.g., "wd/url"). Gets or sets the address of a server to contact for reserving a port. Gets or sets the port on which the Android Debug Bridge is listening for commands. Gets or sets a value indicating whether to enable verbose logging for the ChromeDriver executable. Defaults to . Gets the command-line arguments for 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. Adds a base64-encoded string representing a Chrome extension to the list of extensions to be installed in the instance of Chrome. A base64-encoded string representing the extension to add. Adds a list of base64-encoded strings representing Chrome extensions to the list of extensions to be installed in the instance of Chrome. An array of base64-encoded strings representing the extensions to add. Adds a list of base64-encoded strings representing Chrome extensions to be installed in the instance of Chrome. An of base64-encoded strings representing the extensions to add. Adds a preference for the user-specific profile or "user data directory." If the specified preference already exists, it will be overwritten. The name of the preference to set. The value of the preference to set. Adds a preference for the local state file in the user's data directory for Chrome. If the specified preference already exists, it will be overwritten. The name of the preference to set. The value of the preference to set. Provides a means to add additional capabilities not yet added as type safe options for the Chrome driver. The name of the capability to add. The value of the capability to add. thrown when attempting to add a capability for which there is already a type safe option, or when is or the empty string. Calling where has already been added will overwrite the existing value with the new value in Returns DesiredCapabilities 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 or sets a value indicating whether Chrome should be left running after the ChromeDriver instance is exited. Defaults to . Gets or sets the proxy to use with this instance of Chrome. 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. Defines the interface through which the user can access the driver used to find an element. Gets the used to find this element. RemoteWebElement allows you to have access to specific items that are found on the page 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 nameValue returned if not explicitly specifiedValid element typescheckedcheckedCheck BoxselectedselectedOptions in Select elementsdisableddisabledInput 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 interact with 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 CSS class name of the element on the page 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 class name 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 link text 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 Integer 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 matching 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 specified by 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 containing 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. Provides a mechanism to get elements off the page for test Initializes a new instance of the ChromeWebElement class Driver in use Id of the element 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. Initializes 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 or sets the timeout to wait for Firefox to be available 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 or sets the responsible for detecting sequences of keystrokes representing file paths and names. The Firefox driver does not allow a file detector to be set, as the server component of the Firefox driver only allows uploads from the local computer environment. Attempting to set this property has no effect, but does not throw an exception. If you are attempting to run the Firefox driver remotely, use in conjunction with a standalone WebDriver server. 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. If the preference already exists in the currently-set list of preferences, the value will be updated. Sets a preference. The name of the preference to set. A value give the preference. If the preference already exists in the currently-set list of preferences, the value will be updated. Sets a preference. The name of the preference to set. A value give the preference. If the preference already exists in the currently-set list of preferences, the value will be updated. 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. Locks the mutex port. The describing the amount of time 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 describing the amount of time to wait for the mutex port to become available. 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 class with the desired options. The used to initialize the driver. Initializes a new instance of the 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 class using the specified path to the directory containing IEDriverServer.exe and options. The full path to the directory containing IEDriverServer.exe. The used to initialize the driver. Initializes a new instance of the class using the specified path to the directory containing IEDriverServer.exe, options, 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 class using the specified and options. The to use. The used to initialize the driver. Initializes a new instance of the class using the specified , , and command timeout. 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. Gets or sets the responsible for detecting sequences of keystrokes representing file paths and names. The IE driver does not allow a file detector to be set, as the server component of the IE driver (IEDriverServer.exe) only allows uploads from the local computer environment. Attempting to set this property has no effect, but does not throw an exception. If you are attempting to run the IE driver remotely, use in conjunction with a standalone WebDriver server. 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 or sets the path to which the supporting library of the IEDriverServer.exe is extracted. Defaults to the temp directory if this property is not set. The IEDriverServer.exe requires extraction of a supporting library to perform some of its functions. Setting This library is extracted to the temp directory if this property is not set. If the property is set, it must be set to a valid directory. 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. Specifies the behavior of handling unexpected alerts in the IE driver. Indicates the behavior is not set. Ignore unexpected alerts, such that the user must handle them. Accept unexpected alerts. Dismiss unexpected alerts. 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()); Provides a means to add additional capabilities not yet added as type safe options for the Internet Explorer driver. The name of the capability to add. The value of the capability to add. thrown when attempting to add a capability for which there is already a type safe option, or when is or the empty string. Calling where has already been added will overwrite the existing value with the new value in Returns DesiredCapabilities 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 a value indicating whether to require the browser window to have focus before 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. Gets or sets the value for describing how unexpected alerts are to be handled in the IE driver. Defaults to . Gets or sets a value indicating whether to enable persistently sending WM_MOUSEMOVE messages to the IE window during a mouse hover. Gets or sets the amount of time the driver will attempt to look for a newly launched instance of Internet Explorer. Gets or sets a value indicating whether to force the use of the Windows CreateProcess API when launching Internet Explorer. The default value is . Gets or sets the command line arguments used in launching Internet Explorer when the Windows CreateProcess API is used. This property only has an effect when the is . Gets or sets the to be used with Internet Explorer. By default, will install the specified proxy to be the system proxy, used by all instances of Internet Explorer. To change this default behavior, change the property. Gets or sets a value indicating whether to use the supplied settings on a per-process basis, not updating the system installed proxy setting. This property is only valid when setting a , where the property is either , , or , and is otherwise ignored. Defaults to . Gets or sets a value indicating whether to clear the Internet Explorer cache before launching the browser. When set to , clears the system cache for all instances of Internet Explorer, even those already running when the driven instance is launched. Defaults to . 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 . Right-clicks the mouse at the last known mouse coordinates. 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. Gets the instance of the specified . The to get the location of. The of the . Adds an action to current list of actions to be performed. The to be added. Defines an action for keyboard and mouse interaction with the browser. Initializes a new instance of the class for the given element. An object that 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. Defines an action for mouse interaction with 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. 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. 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. 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. Defines an action for keyboard interaction with the browser. Initializes a new instance of the class. The to use in performing the action. An object providing the element on which to perform the action. Gets the touch screen with which to perform the action. Gets the location at which to perform the action. Creates a double tap gesture on a touch screen. 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 the action. Creates a flick gesture on a touch screen. Initializes a new instance of the class. The with which the action will be performed. The horizontal speed in pixels per second. The vertical speed in pixels per second. Initializes a new instance of the class for use with the specified element. The with which the action will be performed. An describing an element at which to perform the action. The x offset relative to the viewport. The y offset relative to the viewport. The speed in pixels per second. Performs the 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 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. Defines an action for pressing 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 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. Creates a long press gesture on a touch screen. 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 the 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. Presses a touch screen at a given location. Initializes a new instance of the class. The with which the action will be performed. The x coordinate relative to the view port. The y coordinate relative to the view port. Performs the action. Presses a touch screen at a given location. Initializes a new instance of the class. The with which the action will be performed. The x coordinate relative to the view port. The y coordinate relative to the view port. Performs the action. Presses a touch screen at a given location. Initializes a new instance of the class. The with which the action will be performed. The x coordinate relative to the view port. The y coordinate relative to the view port. Performs the action. Creates a double tap gesture on a touch screen. Initializes a new instance of the class. The with which the action will be performed. The horizontal offset relative to the view port. The vertical offset relative to the view port. Initializes a new instance of the class for use with the specified element. The with which the action will be performed. An describing an element at which to perform the action. The x coordinate relative to the view port. The y coordinate relative to the view port. Performs the 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. Creates a single tap gesture on a touch screen. 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 the action. 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. Taps the touch screen on the specified element. The element on which to tap. A self-reference to this . Presses down at the specified location on the screen. The x coordinate relative to the view port. The y coordinate relative to the view port. A self-reference to this . Releases a press at the specified location on the screen. The x coordinate relative to the view port. The y coordinate relative to the view port. A self-reference to this . Moves to the specified location on the screen. The x coordinate relative to the view port. The y coordinate relative to the view port. A self-reference to this . Scrolls the touch screen beginning at the specified element. The element on which to begin scrolling. The x coordinate relative to the view port. The y coordinate relative to the view port. A self-reference to this . Double-taps the touch screen on the specified element. The element on which to double-tap. A self-reference to this . Presses and holds on the touch screen on the specified element. The element on which to press and hold A self-reference to this . Scrolls the touch screen to the specified offset. The horizontal offset relative to the view port. The vertical offset relative to the view port. A self-reference to this . Flicks the current view. The horizontal speed in pixels per second. The vertical speed in pixels per second. A self-reference to this . Flicks the current view starting at a specific location. The element at which to start the flick. The x offset relative to the viewport. The y offset relative to the viewport. The speed in pixels per second. A self-reference to this . 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 implementations 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. Searches for a file with the specified name. The name of the file to find. The full path to the directory where the file can be found, or an empty string if the file does not exist in the locations searched. This method looks first in the directory of the currently executing assembly. If the specified file is not there, the method then looks in each directory on the PATH environment variable, in order. Gets the directory of the currently executing assembly. The directory of the currently executing assembly. Generates the full path to a random directory name in the temporary directory, following a naming pattern.. The pattern to use in creating the directory name, following standard .NET string replacement tokens. The full path to the random directory name in the temporary directory. 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. 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. Allows the user to specify the name of an argument to be used on the command line for PhantomJS. Initializes a new instance of the class. The name of the argument to be used in the PhantomJS command line. Gets the name of the argument to be used in the PhantomJS command line. Provides a way to access PhantomJS to run your tests by creating a PhantomJSDriver 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 PhantomJSDriver(); } [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. Initializes a new instance of the class with the desired options. The used to initialize the driver. Initializes a new instance of the class using the specified driver service. The used to initialize the driver. Initializes a new instance of the class using the specified path to the directory containing PhantomJS.exe. The full path to the directory containing PhantomJS.exe. Initializes a new instance of the class using the specified path to the directory containing PhantomJS.exe and options. The full path to the directory containing PhantomJS.exe. The used to initialize the driver. Initializes a new instance of the class using the specified path to the directory containing PhantomJS.exe, options, and command timeout. The full path to the directory containing PhantomJS.exe. The used to initialize the driver. The maximum amount of time to wait for each command. Initializes a new instance of the class using the specified and options. The to use. The used to initialize the driver. Initializes a new instance of the PhantomJSDriver 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. Gets or sets the responsible for detecting sequences of keystrokes representing file paths and names. The PhantomJS driver does not allow a file detector to be set, as PhantomJS only allows uploads from the local computer environment. Attempting to set this property has no effect, but does not throw an exception. If you are attempting to run the PhantomJS driver remotely, use in conjunction with a standalone WebDriver server. Exposes the service provided by the native PhantomJS executable and GhostDriver JavaScript library. Prevents a default instance of the class from being created. This constructor is only used by the unit tests. It should not be used in any other circumstances. Initializes a new instance of the PhantomJSDriverService class. The full path to the PhantomJS executable. The port on which the IEDriverServer executable should listen. Creates a default instance of the PhantomJSDriverService. A PhantomJSDriverService that implements default settings. Creates a default instance of the PhantomJSDriverService using a specified path to the PhantomJS executable. The directory containing the PhantomJS executable. A PhantomJSDriverService using a random port. Adds a single argument to the list of arguments to be appended to the PhantomJS.exe command line. The argument to add. Adds arguments to be appended to the PhantomJS.exe command line. An array of arguments to add. Adds arguments to be appended to the PhantomJS.exe command line. An object of arguments to add. Serializes the service options to JSON to be used as a configuration file for PhantomJS.exe (via the --config argument). The JSON representation of the configured service options. Gets or sets the file name used to store the persistent cookies. Gets or sets a value indicating whether the disk cache is enabled (at desktop services cache storage location, default is no). Gets or sets a value indicating whether SSL errors are ignored, such as expired or self-signed certificate errors (default is no). Gets or sets a value indicating whether all inlined images are loaded (default is yes). Gets or sets the path to save LocalStorage content and WebSQL content. Gets or sets the maximum size to allow for data. Gets or sets a value indicating whether local content is allowed to access remote URL (default is no). Gets or sets the size limit of the disk cache in KB. Gets or sets the encoding used for terminal output (default is "utf8"). Gets or sets the proxy server information (in the format of {address} or {address}:{port}). Gets or sets the type of the proxy server ('http', 'socks5' or 'none'). Gets or sets the encoding used for the starting script (default is "utf8"). Gets or sets the SSL protocol for secure connections ('sslv3' (default), 'sslv2', 'tlsv1' or 'any'). Gets or sets a value indicating whether web security is enabled and forbids cross-domain XHR (default is yes). Gets or sets the location where the GhostDriver JavaScript file is located. This allows the use of an external implementation of GhostDriver instead of the implementation embedded inside the PhantomJS executable. Gets or sets the location of the log file to which PhantomJS will write log output. If this value is or an empty string, the log output will be written to the console window. Gets the list of arguments appended to the PhantomJS command line as a string array. Gets or sets the path to the JSON configuration file (in lieu of providing any other parameters). If a instance is serialized to JSON, it can be saved to a file and used as a JSON configuration source for the PhantomJS.exe process. var configOptions = PhantomJSDriverService.CreateDefaultService() { CookiesFile = "cookiesFile", DiskCache = true, IgnoreSslErrors = true, LoadImages = true, LocalToRemoteUrlAccess = true, MaxDiskCacheSize = 1000, OutputEncoding = "abc", Proxy = "address:999", ProxyType = "socks5", ScriptEncoding = "def", SslProtocol = "sslv2", WebSecurity = true, }; string json = configOptions.ToJson(); File.WriteAllText(@"C:\temp\myconfig.json", json); var driverService = PhantomJSDriver.CreateDefaultService(); driverService.ConfigFile = @"C:\temp\myconfig.json"; var driver = new PhantomJSDriver(driverService); // Launches PhantomJS.exe using JSON configuration file. Gets the command-line arguments for the driver service. Class to manage options specific to PhantomJSOptions options = new PhantomJSOptions(); For use with PhantomJSDriver: PhantomJSDriver driver = new PhantomJSDriver(options); For use with RemoteWebDriver: RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), options.ToCapabilities()); Provides a means to add additional capabilities not yet added as type safe options for the PhantomJS driver. The name of the capability to add. The value of the capability to add. thrown when attempting to add a capability for which there is already a type safe option, or when is or the empty string. Calling where has already been added will overwrite the existing value with the new value in Returns DesiredCapabilities for PhantomJS with these options included as capabilities. This copies the options. Further changes will not be reflected in the returned capabilities. The DesiredCapabilities for PhantomJS with these options. PhantomJSWebElement allows you to have access to specific items that are found on the page. [Test] public void TestGoogle() { driver = new PhantomJSDriver(); PhantomJSWebElement elem = driver.FindElement(By.Name("q")); elem.SendKeys("Cheese please!"); } Initializes a new instance of the PhantomJSWebElement class. Driver in use. ID of the element. 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. Capability name used to indicate how the browser handles unexpected alerts. 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 web request 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 remote driver DesiredCapabilities capabilities = new DesiredCapabilities(new Dictionary]]>(){["browserName","firefox"],["version",string.Empty],["javaScript",true]}); Method to return a new DesiredCapabilities using defaults New instance of DesiredCapabilities for use with Firefox Method to return a new DesiredCapabilities using defaults New instance of DesiredCapabilities 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 to 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 DesiredCapabilities that has been created Integer of HashCode generated Return a string of capabilities being used String of capabilities being used Compare two DesiredCapabilities and will return either true or false DesiredCapabilities 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 FindChildElement command Represents FindChildElements command Describes an element Represents ClearElement command Represents ClickElement command Represents SendKeysToElements command Represents SubmitElement command Represents GetCurrentWindowHandle 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. Represents the UploadFile command. Represents the TouchSingleTap command. Represents the TouchPress command. Represents the TouchRelease command. Represents the TouchMove command. Represents the TouchScroll command. Represents the TouchDoubleTap command. Represents the TouchLongPress command. Represents the TouchFlick 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. Initializes a new instance of the class. The that drives the browser. The maximum amount of time to wait for each command. if the KeepAlive header should be sent with HTTP requests; otherwise, . Executes a command with the Driver. The command you wish to execute A response from the browser Provides a way to store errors from a response 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 response 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 Represents a file detector for determining whether a file must be uploaded to a remote server. Returns a value indicating whether a specified key sequence represents a file name and path. The sequence to test for file existence. if the key sequence represents a file; otherwise, . 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 execute advanced touch screen interactions. Initializes a new instance of the class. The for which the touch screen will be managed. Allows the execution of single tap on the screen, analogous to click using a Mouse. The object representing the location on the screen, usually an . Allows the execution of the gesture 'down' on the screen. It is typically the first of a sequence of touch gestures. The x coordinate relative to the view port. The y coordinate relative to the view port. Allows the execution of the gesture 'up' on the screen. It is typically the last of a sequence of touch gestures. The x coordinate relative to the view port. The y coordinate relative to the view port. Allows the execution of the gesture 'move' on the screen. The x coordinate relative to the view port. The y coordinate relative to the view port. Creates a scroll gesture that starts on a particular screen location. The object representing the location on the screen where the scroll starts, usually an . The x coordinate relative to the view port. The y coordinate relative to the view port. Creates a scroll gesture for a particular x and y offset. The horizontal offset relative to the view port. The vertical offset relative to the view port. Allows the execution of double tap on the screen, analogous to click using a Mouse. The object representing the location on the screen, usually an . Allows the execution of a long press gesture on the screen. The object representing the location on the screen, usually an . Creates a flick gesture for the current view. The horizontal speed in pixels per second. The vertical speed in pixels per second. Creates a flick gesture for the current view starting at a specific location. The object representing the location on the screen where the scroll starts, usually an . The x offset relative to the viewport. The y offset relative to the viewport. The speed in pixels per second. 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 the 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 hash code of the key The hash code 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 array 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 existing 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 existing 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 existing value of the object JSON Serializer instance Platform from JSON reader Writes the platform to JSON JSON Writer instance the platform 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 Process 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 command 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. Initializes a new instance of the class using the specified . The to use for this instance. 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. Gets or sets the responsible for detecting sequences of keystrokes representing file paths and names. The Safari driver does not allow a file detector to be set, as the server component of the Safari driver (the Safari extension) only allows uploads from the local computer environment. Attempting to set this property has no effect, but does not throw an exception. If you are attempting to run the Safari driver remotely, use in conjunction with a standalone WebDriver server. Provides a way of executing Commands using the SafariDriver. Initializes a new instance of the class. The used to create the command executor. 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. The class manages the Safari extension used by the . It handles installation and uninstallation as well as its extraction from an embedded resource, if needed. Initializes a new instance of the class. Initializes a new instance of the class, given the specified source path, and whether to skip the installation of the extension. The path to the SafariDriver.safariextz file used to install the WebDriver Safari extension. to skip installation of the WebDriver Safari extension; otherwise . Installs the WebDriver Safari extension. Uninstalls the WebDriver Safari extension. Gets Safari's application data directory for the current platform. Safari's application data directory for the current platform. Thrown if the current platform is unsupported. 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. Class to manage options specific to SafariOptions options = new SafariOptions(); options.SkipExtensionInstallation = true; For use with SafariDriver: SafariDriver driver = new SafariDriver(options); For use with RemoteWebDriver: RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), options.ToCapabilities()); Initializes a new instance of the class. Provides a means to add additional capabilities not yet added as type safe options for the Safari driver. The name of the capability to add. The value of the capability to add. thrown when attempting to add a capability for which there is already a type safe option, or when is or the empty string. Calling where has already been added will overwrite the existing value with the new value in Returns ICapabilities for Safari with these options included as capabilities. This copies the options. Further changes will not be reflected in the returned capabilities. The ICapabilities for Safari with these options. Gets or sets the install location of the Safari browser. Gets or sets the port on which the SafariDriver will listen for commands. Gets or sets the path to the SafariDriver.safariextz file from which the extension will be installed. Gets or sets a value indicating whether to skip the installation of the SafariDriver extension. Set this property to if the SafariDriver extension is already installed in Safari, and you don't want to overwrite it with the version included with WebDriver. 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. 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. 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. 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. Gets an object describing 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. Provides an interface describing information about the WebSocket connection. Gets the sub-protocol 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. 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. 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. 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. 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. 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. 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 sub-protocol 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. 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. 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. 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. Represents 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 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. Gets the data to be handled by this handler. 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 a request handler for the Hixie76 or Hybi00 version of the WebSocket protocol. 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. Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. Specifies the state of the reader. Initializes a new instance of the class with the specified . Reads the next JSON token from the stream. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A or a null reference if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the to Closed. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the underlying stream or should be closed when the reader is closed. true to close the underlying stream or when the reader is closed; otherwise false. The default is true. Gets the quotation mark character used to enclose the value of a string. Get or set how time zones are handling when reading JSON. Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets The Common Language Runtime (CLR) type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. Initializes a new instance of the class. The stream. Initializes a new instance of the class. The reader. Initializes a new instance of the class. The stream. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The reader. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the stream as a . A or a null reference if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream. true if the next token was read successfully; false if there are no more tokens to read. Changes the to Closed. Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. Creates an instance of the JsonWriter class. Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. Closes this stream and the underlying stream. Writes the beginning of a Json object. Writes the end of a Json object. Writes the beginning of a Json array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair on a Json object. The name of the property. Writes the end of the current Json object or array. Writes the current token. The to read the token from. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes out a comment /*...*/ containing the specified text. Text to place inside the comment. Writes out the given white space. The string of white space characters. Gets or sets a value indicating whether the underlying stream or should be closed when the writer is closed. true to close the underlying stream or when the writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Indicates how JSON text output is formatted. Get or set how dates are written to JSON text. Get or set how time zones are handling when writing JSON text. Get or set how strings are escaped when writing JSON text. Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. Initializes a new instance of the class. The stream. Initializes a new instance of the class. The writer. Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. Writes the end. The token. Writes out a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a Json array. Writes the beginning of a Json object. Writes the property name of a name/value pair on a Json object. The name of the property. Closes this stream and the underlying stream. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Represents a BSON Oid (object id). Initializes a new instance of the class. The Oid value. Gets or sets the value of the Oid. The value of the Oid. Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets the of the JSON produced by the JsonConverter. The of the JSON produced by the JsonConverter. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Create a custom object The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an Entity Framework EntityKey to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an ExpandoObject to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. A cached representation of the Enum string representation to respect per Enum field name. The type of the Enum. A map of enum field name to either the field name, or the configured enum member name (). Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets or sets a value indicating whether the written enum text should be camel case. true if the written enum text will be camel case; otherwise, false. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a paramatized constructor. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the how to serialize the object. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets the collection's items converter. The collection's items converter. Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during Json serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason 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 error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Instructs the to use the specified constructor when deserializing that object. Represents a trace writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of Info will exclude Verbose messages and include Info, Warning and Error messages. The that will be used to filter the trace messages passed to the writer. Represents a trace writer that writes to the application's instances. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of Info will exclude Verbose messages and include Info, Warning and Error messages. The that will be used to filter the trace messages passed to the writer. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets or sets the method called immediately after deserialization of the object. The method called immediately after deserialization of the object. Gets or sets the method called during deserialization of the object. The method called during deserialization of the object. Gets or sets the method called after serialization of the object graph. The method called after serialization of the object graph. Gets or sets the method called before serialization of the object. The method called before serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non public. true if the default object creator is non-public; otherwise, false. Gets or sets the method called when an error is thrown during the serialization of the object. The method called when an error is thrown during the serialization of the object. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of Info will exclude Verbose messages and include Info, Warning and Error messages. The that will be used to filter the trace messages passed to the writer. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Represents a collection of objects. The type of token Gets the with the specified key. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if LineNumber and LinePosition can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, HasLineInfo returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, HasLineInfo returns false). Represents an abstract JSON token. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output is formatted. A collection of which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Creates an for this token. An that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object Creates the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . An positioned at the token to read into this . An that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Creates a from a . An positioned at the token to read into this . An that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects the token that matches the object path. The object path from the current to the to be returned. This must be a string of property names or array indexes separated by periods, such as Tables[0].DefaultView[0].Price in C# or Tables(0).DefaultView(0).Price in Visual Basic. The that matches the object path or a null reference if no matching token is found. Selects the token that matches the object path. The object path from the current to the to be returned. This must be a string of property names or array indexes separated by periods, such as Tables[0].DefaultView[0].Price in C# or Tables(0).DefaultView(0).Price in Visual Basic. A flag to indicate whether an error should be thrown if no token is found. The that matches the object path. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has childen tokens. true if this token has child values; otherwise, false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the with the specified key. The with the specified key. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Represents a value in JSON (string, integer, date, etc). Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. The parameter is null. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not the same type as this instance. Gets a value indicating whether this token has childen tokens. true if this token has child values; otherwise, false. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Represents a raw JSON string. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Gets the object's properties. The object's properties. Gets or sets the property name resolver. The property name resolver. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Gets or sets the ISerializable object constructor. The ISerializable object constructor. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides data for the Error event. Initializes a new instance of the class. The current object. The error context. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Represents a view of a . Initializes a new instance of the class. The name. Type of the property. When overridden in a derived class, returns whether resetting an object changes its value. true if resetting the component changes its value; otherwise, false. The component to test for reset capability. When overridden in a derived class, gets the current value of the property on a component. The value of a property for a given component. The component with the property for which to retrieve the value. When overridden in a derived class, resets the value for this property of the component to the default value. The component with the property value that is to be reset to the default value. When overridden in a derived class, sets the value of the component to a different value. The component with the property value that is to be set. The new value. When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. true if the property should be persisted; otherwise, false. The component with the property to be examined for persistence. When overridden in a derived class, gets the type of the component this property is bound to. A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. When overridden in a derived class, gets a value indicating whether this property is read-only. true if the property is read-only; otherwise, false. When overridden in a derived class, gets the type of the property. A that represents the type of the property. Gets the hash code for the name of the member. The hash code for the name of the member. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that Gets the reference for the sepecified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Specifies reference handling options for the . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that is is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and sets members to their default value when deserializing. Instructs the to use the specified when serializing the member or class. Initializes a new instance of the class. Type of the converter. Gets the type of the converter. The type of the converter. Instructs the how to serialize the object. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Gets or sets the member serialization. The member serialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Specifies the settings on a object. Initializes a new instance of the class. Gets or sets how reference loops (e.g. a class referencing itself) is handled. Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. Missing member handling. Gets or sets how objects are created during deserialization. The object creation handling. Gets or sets how null values are handled during serialization and deserialization. Null value handling. Gets or sets how null default are handled during serialization and deserialization. The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The type name handling. Gets or sets how a type name assembly is written and resolved by the serializer. The type name assembly format. Gets or sets how constructors are used during deserialization. The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . Indicates how JSON text output is formatted. Get or set how dates are written to JSON text. Get or set how time zones are handling during serialization and deserialization. Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets the culture used when reading JSON. Defaults to . Gets a value indicating whether there will be a check for additional content after deserializing an object. true if there will be a check for additional content after deserializing an object; otherwise, false. Represents a reader that provides validation. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Reads the next JSON token from the stream as a . A . Reads the next JSON token from the stream as a . A or a null reference if the next JSON token is null. Reads the next JSON token from the stream as a . A . Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . Reads the next JSON token from the stream. true if the next token was read successfully; false if there are no more tokens to read. Gets the text value of the current Json token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current Json token. Gets the Common Language Runtime (CLR) type for the current Json token. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Sets an event handler for receiving schema validation errors. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members must be marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts XML to and from JSON. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the attributeName is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. True if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. The name of the deserialize root element. Gets or sets a flag to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attibute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Initializes a new instance of the class with the specified . The TextReader containing the XML data to read. Reads the next JSON token from the stream. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the stream as a . A or a null reference if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Changes the state to closed. Gets a value indicating whether the class can return line information. true if LineNumber and LinePosition can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, HasLineInfo returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, HasLineInfo returns false). Instructs the to always serialize the member with the specified name. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization and deserialization of a member. The numeric order of serialization or deserialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Instructs the not to serialize the public field or public read/write property value. Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. Creates an instance of the JsonWriter class using the specified . The TextWriter to write to. Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. Closes this stream and the underlying stream. Writes the beginning of a Json object. Writes the beginning of a Json array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a Json object. The name of the property. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes out a comment /*...*/ containing the specified text. Text to place inside the comment. Writes out the given white space. The string of white space characters. Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to Formatting.Indented. Gets or sets a value indicating whether object names will be surrounded with quotes. The exception thrown when an error occurs while reading Json text. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason 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 error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. The exception thrown when an error occurs while reading Json text. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason 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 error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Represents a collection of . Provides methods for converting between common language runtime types and JSON types. Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string. The object to serialize. Indicates how the output is formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. Indicates how the output is formatted. A collection converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be is used. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. Indicates how the output is formatted. The used to serialize the object. If this is null, default serialization settings will be is used. A JSON string representation of the object. Asynchronously serializes the specified object to a JSON string using a collection of . The object to serialize. A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. Asynchronously serializes the specified object to a JSON string using a collection of . The object to serialize. Indicates how the output is formatted. A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. Asynchronously serializes the specified object to a JSON string using a collection of . The object to serialize. Indicates how the output is formatted. The used to serialize the object. If this is null, default serialization settings will be is used. A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the Json string. Deserializes the JSON to a .NET object. The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be is used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the Json string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the Json string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be infered from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be is used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be is used. The deserialized object from the JSON string. Asynchronously deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. Asynchronously deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be is used. A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. Asynchronously deserializes the JSON to the specified .NET type. The JSON to deserialize. A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. Asynchronously deserializes the JSON to the specified .NET type. The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be is used. A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be is used. Asynchronously populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be is used. A task that represents the asynchronous populate operation. Serializes the XML node to a JSON string. The node to serialize. A JSON string of the XmlNode. Serializes the XML node to a JSON string. The node to serialize. Indicates how the output is formatted. A JSON string of the XmlNode. Serializes the XML node to a JSON string. The node to serialize. Indicates how the output is formatted. Omits writing the root object. A JSON string of the XmlNode. Deserializes the XmlNode from a JSON string. The JSON string. The deserialized XmlNode Deserializes the XmlNode from a JSON string nested in a root elment. The JSON string. The name of the root element to append when deserializing. The deserialized XmlNode Deserializes the XmlNode from a JSON string nested in a root elment. The JSON string. The name of the root element to append when deserializing. A flag to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized XmlNode Serializes the to a JSON string. The node to convert to JSON. A JSON string of the XNode. Serializes the to a JSON string. The node to convert to JSON. Indicates how the output is formatted. A JSON string of the XNode. Serializes the to a JSON string. The node to serialize. Indicates how the output is formatted. Omits writing the root object. A JSON string of the XNode. Deserializes the from a JSON string. The JSON string. The deserialized XNode Deserializes the from a JSON string nested in a root elment. The JSON string. The name of the root element to append when deserializing. The deserialized XNode Deserializes the from a JSON string nested in a root elment. The JSON string. The name of the root element to append when deserializing. A flag to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized XNode The exception thrown when an error occurs during Json serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason 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 error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Initializes a new instance of the class. Creates a new instance using the specified . The settings to be applied to the . A new instance using the specified . Populates the JSON values onto the target object. The that contains the JSON structure to reader values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to reader values from. The target object to populate values onto. Deserializes the Json structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the Json structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the Json structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the Json structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the Json structure to a Stream using the specified . The used to write the Json structure. The to serialize. Serializes the specified and writes the Json structure to a Stream using the specified . The used to write the Json structure. The to serialize. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets how type name writing and reading is handled by the serializer. Gets or sets how a type name assembly is written and resolved by the serializer. The type name assembly format. Gets or sets how object references are preserved by the serializer. Get or set how reference loops (e.g. a class referencing itself) is handled. Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. Get or set how null values are handled during serialization and deserialization. Get or set how null default are handled during serialization and deserialization. Gets or sets how objects are created during deserialization. The object creation handling. Gets or sets how constructors are used during deserialization. The constructor handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. Get or set how dates are written to JSON text. Get or set how time zones are handling during serialization and deserialization. Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets the culture used when reading JSON. Defaults to . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Occurs when the errors during serialization and deserialization. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every node in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every node in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every node in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every node in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every node in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every node in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every node in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every node in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a token that can contain other tokens. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An containing the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates an that can be used to add tokens to the . An that is ready to have content written to it. Replaces the children nodes of this token with the specified content. The content. Removes the child nodes from this token. Gets the container's children tokens. The container's children tokens. Gets a value indicating whether this token has childen tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Gets the count of child JSON tokens. The count of child JSON tokens Occurs when the list changes or an item in the list changes. Occurs before an item is added to the collection. Occurs when the items list of the collection has changed, or the collection is reset. Represents a JSON constructor. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Gets the with the specified key. The with the specified key. Represents a collection of objects. The type of token An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Gets the with the specified key. Represents a JSON object. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets an of this object's properties. An of this object's properties. Gets a the specified name. The property name. A with the specified name or null. Gets an of this object's property values. An of this object's property values. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries the get value. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Raises the event with the provided arguments. Name of the property. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Occurs when a property value changes. Occurs when a property value is changing. Represents a JSON array. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . The is read-only. Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . The is read-only. Adds an item to the . The object to add to the . The is read-only. Removes all items from the . The is read-only. Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . The is read-only. Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. Initializes a new instance of the class. The token to read from. Reads the next JSON token from the stream as a . A or a null reference if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream as a . A . This method will return null at the end of an array. Reads the next JSON token from the stream. true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. Closes this stream and the underlying stream. Writes the beginning of a Json object. Writes the beginning of a Json array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a Json object. The name of the property. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes out a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Gets the token being writen. The token being writen. Represents a JSON property. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Gets the node type for this . The type. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Contains the JSON schema extension methods. Determines whether the is valid. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . The source to test. The schema to test with. Validates the specified . The source to test. The schema to test with. The validation event handler. Returns detailed information about the schema exception. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason 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 error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Resolves from an id. Initializes a new instance of the class. Gets a for the specified id. The id. A for the specified id. Gets or sets the loaded schemas. The loaded schemas. Specifies undefined schema Id handling options for the . Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . Used by to resolves a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolves a for a given . Initializes a new instance of the class. Initializes a new instance of the class. If set to true the will use a cached shared with other resolvers of the same type. Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly recommended to reuse instances with the . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type.Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Name of the property. Gets the resolved name of the property. Name of the property. Name of the property. Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets the default members search flags. The default members search flags. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the name of the property. Name of the property. The property name camel cased. The default serialization binder used when resolving and loading classes from type names. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Provides information surrounding an error. Gets or sets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Gets or sets the property name resolver. The property name resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Maps a JSON property to a .NET member or constructor parameter. Returns a that represents this instance. A that represents this instance. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization and deserialization of a member. The numeric order of serialization or deserialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes presidence over the contract converter for the property type. The converter. Gets the member converter. The member converter. Gets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets a value indicating whether this is readable. true if readable; otherwise, false. Gets a value indicating whether this is writable. true if writable; otherwise, false. Gets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets the property null value handling. The null value handling. Gets the property default value handling. The default value handling. Gets the property reference loop handling. The reference loop handling. Gets the property object creation handling. The object creation handling. Gets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialize. A predicate used to determine whether the property should be serialize. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of propertyName and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. An in-memory representation of a JSON Schema. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains schema JSON. A that contains JSON. A populated from the string that contains JSON. Parses the specified json. The json. The resolver. A populated from the string that contains JSON. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisble by. A number that the value should be divisble by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. A flag indicating whether the value can not equal the number defined by the "minimum" attribute. Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. A flag indicating whether the value can not equal the number defined by the "maximum" attribute. Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the identity. The identity. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets a collection of options. A collection of options. Gets or sets disallowed types. The disallow types. Gets or sets the default value. The default value. Gets or sets the extend . The extended . Gets or sets the format. The format. Generates a from a specified . Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. The value types allowed by the . No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Gets or sets the object member serialization. The member object serialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets the object's properties. The object's properties. Gets the constructor parameters required for any non-default constructor Gets or sets the override constructor used to create the object. This is set when a constructor is marked up using the JsonConstructor attribute. The override constructor. Gets or sets the parametrized constructor used to create the object. The parametrized constructor. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. When applied to a method, specifies that the method is called when an error occurs serializing an object. Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type Represents a method that constructs an object. The object type to create. Specifies type name handling options for the . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Converts the value to the specified type. The value to convert. The culture to use when converting. The type to convert the value to. The converted type. Converts the value to the specified type. The value to convert. The culture to use when converting. The type to convert the value to. The converted value if the conversion was successful or the default value of T if it failed. true if initialValue was converted successfully; otherwise, false. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Gets a dictionary of the names and values of an Enum type. Gets a dictionary of the names and values of an Enum type. The enum type to get names and values for. Specifies the type of Json token. This is returned by the if a method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic IList. The list to add to. The collection of elements to add. Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. The type of the elements of source. A sequence in which to locate a value. The object to locate in the sequence An equality comparer to compare values. The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the member is an indexed property. The member. true if the member is an indexed property; otherwise, false. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly.true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Nulls an empty string. The string. Null if the string was null, otherwise the string unchanged. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls results in an being thrown. The method has been called. An object is being written. A array is being written. A constructor is being written. A property is being written. A write method has not been called.