diff --git a/NzbDrone.Common/EnviromentProvider.cs b/NzbDrone.Common/EnviromentProvider.cs index e9d517910..95c9e530f 100644 --- a/NzbDrone.Common/EnviromentProvider.cs +++ b/NzbDrone.Common/EnviromentProvider.cs @@ -11,19 +11,13 @@ namespace NzbDrone.Common public const string NZBDRONE_PID = "NZBDRONE_PID"; public const string ROOT_MARKER = "NzbDrone.Web"; -#if DEBUG - private static readonly bool isInDebug = true; -#else - private static readonly bool isInDebug = false; -#endif - private static readonly string processName = Process.GetCurrentProcess().ProcessName.ToLower(); public static bool IsProduction { get { - if (isInDebug || Debugger.IsAttached) return false; + if (IsDebug || Debugger.IsAttached) return false; if (processName.Contains("nunit")) return false; if (processName.Contains("jetbrain")) return false; @@ -33,6 +27,19 @@ namespace NzbDrone.Common } } + public static bool IsDebug + { + get + { + +#if DEBUG + return true; +#else + return false; +#endif + } + } + public virtual bool IsUserInteractive { get { return Environment.UserInteractive; } diff --git a/NzbDrone.Web.UI.Test/AutomationTestBase.cs b/NzbDrone.Web.UI.Test/AutomationTestBase.cs new file mode 100644 index 000000000..bfef1ecde --- /dev/null +++ b/NzbDrone.Web.UI.Test/AutomationTestBase.cs @@ -0,0 +1,163 @@ +using System; +using System.Diagnostics; +using System.Drawing.Imaging; +using System.IO; +using System.Linq; +using NUnit.Framework; +using NzbDrone.Common; +using OpenQA.Selenium; +using OpenQA.Selenium.Firefox; +using OpenQA.Selenium.Remote; + +namespace NzbDrone.Web.UI.Automation +{ + public abstract class AutomationTestBase + { + static readonly EnviromentProvider enviromentProvider = new EnviromentProvider(); + private static readonly string testFolder; + + public string AppUrl + { + get + { + return "http://localhost:8989"; + } + } + + + public RemoteWebDriver Driver { get; private set; } + + static AutomationTestBase() + { + CleanBinFolder(); + testFolder = CreatePackage(); + StartNzbDrone(); + } + + [SetUp] + public void AutomationSetup() + { + Driver = new FirefoxDriver(); + } + + [TearDown] + public void AutomationTearDown() + { + Driver.Close(); + + if (!Directory.Exists(Directory.GetCurrentDirectory() + "\\Screenshots")) + { + Directory.CreateDirectory(Directory.GetCurrentDirectory() + "\\Screenshots"); + } + + foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*__*.png").Select(c => new FileInfo(c))) + { + File.Copy(file.FullName, Directory.GetCurrentDirectory() + "\\Screenshots\\" + file.Name, true); + file.Delete(); + } + } + + + [TestFixtureSetUp] + public void AutomationTestFixtureSetup() + { + StopNzbDrone(); + ResetUserData(); + StartNzbDrone(); + } + + [TestFixtureTearDown] + public void AutomationTestFixtureTearDown() + { + StopNzbDrone(); + } + + + protected void CaptureScreen() + { + var method = new StackFrame(1).GetMethod().Name; + + var fileName = String.Format("{0}__{1}.png", this.GetType().Name, method); + + ((ITakesScreenshot)Driver).GetScreenshot().SaveAsFile(fileName, ImageFormat.Png); + } + + private void ResetUserData() + { + var appDataPath = Path.Combine(testFolder, "NzbDrone.Web", "app_data"); + + if (Directory.Exists(appDataPath)) + Directory.Delete(appDataPath, true); + + } + + + private static void CleanBinFolder() + { + var folderName = "Debug"; + + if (EnviromentProvider.IsDebug) + { + folderName = "Release"; + } + + var dirs = Directory.GetDirectories(enviromentProvider.ApplicationPath, folderName, SearchOption.AllDirectories); + + + foreach (var dir in dirs) + { + Directory.Delete(dir, true); + } + + } + + static void StartNzbDrone() + { + Process.Start(Path.Combine(testFolder, "nzbdrone.exe")); + } + + public static void StopNzbDrone() + { + foreach (var process in Process.GetProcessesByName("nzbdrone")) + { + process.Kill(); + process.WaitForExit(); + } + } + + private static string CreatePackage() + { + Console.WriteLine("Creating NzbDrone Package"); + + StopNzbDrone(); + + var rootDirectory = new DirectoryInfo(enviromentProvider.ApplicationPath); + + if (rootDirectory.GetDirectories("_rawPackage").Any()) + { + rootDirectory.GetDirectories("_rawPackage").ToList().ForEach(c => c.Delete(true)); + } + + var startInfo = new ProcessStartInfo + { + FileName = Path.Combine(rootDirectory.FullName, "package.bat"), + WorkingDirectory = rootDirectory.FullName + }; + + Process.Start(startInfo).WaitForExit(); + + var testFolder = Path.Combine(enviromentProvider.SystemTemp, "NzbDroneAutomation"); + + if (Directory.Exists(testFolder)) + { + Directory.Delete(testFolder, true); + } + + Directory.Move(Path.Combine(rootDirectory.FullName, "_rawPackage", "nzbdrone"), testFolder); + + + + return testFolder; + } + } +} diff --git a/NzbDrone.Web.UI.Test/BasicPageFixture.cs b/NzbDrone.Web.UI.Test/BasicPageFixture.cs new file mode 100644 index 000000000..a3aff0eab --- /dev/null +++ b/NzbDrone.Web.UI.Test/BasicPageFixture.cs @@ -0,0 +1,43 @@ +using System.Linq; +using NUnit.Framework; +using NzbDrone.Web.UI.Automation.Fluent; + +namespace NzbDrone.Web.UI.Automation +{ + [TestFixture] + public class BasicPageFixture : AutomationTestBase + { + + [Test] + public void HomePage() + { + Driver.GivenHomePage().Should().BeNzbDronePage(); + CaptureScreen(); + } + + [Test] + public void HistoryPage() + { + Driver.GivenHistoryPage().Should().BeNzbDronePage(); + CaptureScreen(); + } + + [Test] + public void MissingPage() + { + Driver.GivenMissingPage().Should().BeNzbDronePage(); + CaptureScreen(); + } + + [Test] + public void SettingsPage() + { + Driver.GivenSettingsPage().Should().BeNzbDronePage(); + CaptureScreen(); + } + + } + + + +} diff --git a/NzbDrone.Web.UI.Test/Drivers/chromedriver.exe b/NzbDrone.Web.UI.Test/Drivers/chromedriver.exe new file mode 100644 index 000000000..5178430dd Binary files /dev/null and b/NzbDrone.Web.UI.Test/Drivers/chromedriver.exe differ diff --git a/NzbDrone.Web.UI.Test/Fluent/AssertionExtention.cs b/NzbDrone.Web.UI.Test/Fluent/AssertionExtention.cs new file mode 100644 index 000000000..15a4f9f36 --- /dev/null +++ b/NzbDrone.Web.UI.Test/Fluent/AssertionExtention.cs @@ -0,0 +1,13 @@ +using System.Linq; +using OpenQA.Selenium.Remote; + +namespace NzbDrone.Web.UI.Automation.Fluent +{ + public static class AssertionExtention + { + public static DriverAssertion Should(this RemoteWebDriver actualValue) + { + return new DriverAssertion(actualValue); + } + } +} \ No newline at end of file diff --git a/NzbDrone.Web.UI.Test/Fluent/DriverAssertion.cs b/NzbDrone.Web.UI.Test/Fluent/DriverAssertion.cs new file mode 100644 index 000000000..0cc64ce9b --- /dev/null +++ b/NzbDrone.Web.UI.Test/Fluent/DriverAssertion.cs @@ -0,0 +1,21 @@ +using System.Linq; +using FluentAssertions; +using OpenQA.Selenium.Remote; + +namespace NzbDrone.Web.UI.Automation.Fluent +{ + public class DriverAssertion + { + private readonly RemoteWebDriver _driver; + + public DriverAssertion(RemoteWebDriver driver) + { + _driver = driver; + } + + public void BeNzbDronePage() + { + _driver.Title.Should().EndWith("NzbDrone"); + } + } +} diff --git a/NzbDrone.Web.UI.Test/Fluent/NavigationExtention.cs b/NzbDrone.Web.UI.Test/Fluent/NavigationExtention.cs new file mode 100644 index 000000000..ccc943b82 --- /dev/null +++ b/NzbDrone.Web.UI.Test/Fluent/NavigationExtention.cs @@ -0,0 +1,41 @@ +using System.Linq; +using OpenQA.Selenium.Remote; + +namespace NzbDrone.Web.UI.Automation.Fluent +{ + public static class NavigationExtention + { + + private const string baseUrl = "http://localhost:8989/"; + + public static RemoteWebDriver GivenHomePage(this RemoteWebDriver driver) + { + driver.Navigate().GoToUrl(baseUrl); + return driver; + } + + public static RemoteWebDriver GivenSettingsPage(this RemoteWebDriver driver) + { + driver.Navigate().GoToUrl(baseUrl + "settings"); + return driver; + } + + public static RemoteWebDriver GivenUpcomingPage(this RemoteWebDriver driver) + { + driver.Navigate().GoToUrl(baseUrl + "Upcoming"); + return driver; + } + + public static RemoteWebDriver GivenHistoryPage(this RemoteWebDriver driver) + { + driver.Navigate().GoToUrl(baseUrl + "History"); + return driver; + } + + public static RemoteWebDriver GivenMissingPage(this RemoteWebDriver driver) + { + driver.Navigate().GoToUrl(baseUrl + "Missing"); + return driver; + } + } +} diff --git a/NzbDrone.Web.UI.Test/NzbDrone.Web.UI.Automation.csproj b/NzbDrone.Web.UI.Test/NzbDrone.Web.UI.Automation.csproj new file mode 100644 index 000000000..f6a5ff26f --- /dev/null +++ b/NzbDrone.Web.UI.Test/NzbDrone.Web.UI.Automation.csproj @@ -0,0 +1,97 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E} + Library + Properties + NzbDrone.Web.UI.Automation + NzbDrone.Web.UI.Automation + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\FluentAssertions.1.6.0\Lib\net40\FluentAssertions.dll + + + ..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll + + + ..\packages\Newtonsoft.Json.4.0.4\lib\net40\Newtonsoft.Json.dll + + + ..\packages\NUnit.2.5.10.11092\lib\nunit.framework.dll + + + + + + + + + + + ..\packages\Selenium.WebDriver.2.15.0\lib\net40\WebDriver.dll + + + + + + + + + + + + + + + + PreserveNewest + + + + + {F2BE0FDF-6E47-4827-A420-DD4EF82407F8} + NzbDrone.Common + + + {43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD} + NzbDrone.Web + + + {D12F7F2F-8A3C-415F-88FA-6DD061A84869} + NzbDrone + + + + + \ No newline at end of file diff --git a/NzbDrone.Web.UI.Test/Properties/AssemblyInfo.cs b/NzbDrone.Web.UI.Test/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..25d236144 --- /dev/null +++ b/NzbDrone.Web.UI.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NzbDrone.Web.UI.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NzbDrone.Web.UI.Test")] +[assembly: AssemblyCopyright("Copyright © 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("8fa28d95-f018-482c-a834-139d0d9f44f2")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/NzbDrone.Web.UI.Test/packages.config b/NzbDrone.Web.UI.Test/packages.config new file mode 100644 index 000000000..040a986f7 --- /dev/null +++ b/NzbDrone.Web.UI.Test/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NzbDrone.Web/Controllers/SystemController.cs b/NzbDrone.Web/Controllers/SystemController.cs index e1eeb61bd..c3b2969c5 100644 --- a/NzbDrone.Web/Controllers/SystemController.cs +++ b/NzbDrone.Web/Controllers/SystemController.cs @@ -37,6 +37,8 @@ namespace NzbDrone.Web.Controllers }); var jobs = _jobProvider.All(); + + return View(jobs); } diff --git a/NzbDrone.Web/Views/System/Jobs.cshtml b/NzbDrone.Web/Views/System/Jobs.cshtml index 81f53cb5d..a27c4e21c 100644 --- a/NzbDrone.Web/Views/System/Jobs.cshtml +++ b/NzbDrone.Web/Views/System/Jobs.cshtml @@ -1,4 +1,4 @@ -@using NzbDrone.Web.Models +@using NzbDrone.Web.Models @using NzbDrone.Web.Helpers @model IEnumerable @{ViewBag.Title = "Jobs";} diff --git a/NzbDrone.sln b/NzbDrone.sln index 8ede476a1..0610c4420 100644 --- a/NzbDrone.sln +++ b/NzbDrone.sln @@ -27,6 +27,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.Test.Common", "Nzb EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test.Common", "Test.Common", "{47697CDB-27B6-4B05-B4F8-0CBE6F6EDF97}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.Web.UI.Automation", "NzbDrone.Web.UI.Test\NzbDrone.Web.UI.Automation.csproj", "{3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -177,6 +179,18 @@ Global {CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Mixed Platforms.Build.0 = Release|Any CPU {CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x64.ActiveCfg = Release|Any CPU {CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x86.ActiveCfg = Release|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Debug|x64.ActiveCfg = Debug|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Debug|x86.ActiveCfg = Debug|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Release|Any CPU.Build.0 = Release|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Release|x64.ActiveCfg = Release|Any CPU + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -184,9 +198,10 @@ Global GlobalSection(NestedProjects) = preSolution {193ADD3B-792B-4173-8E4C-5A3F8F0237F0} = {57A04B72-8088-4F75-A582-1158CF8291F7} {C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5} = {57A04B72-8088-4F75-A582-1158CF8291F7} + {47697CDB-27B6-4B05-B4F8-0CBE6F6EDF97} = {57A04B72-8088-4F75-A582-1158CF8291F7} {35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97} = {57A04B72-8088-4F75-A582-1158CF8291F7} {BEC74619-DDBB-4FBA-B517-D3E20AFC9997} = {57A04B72-8088-4F75-A582-1158CF8291F7} - {47697CDB-27B6-4B05-B4F8-0CBE6F6EDF97} = {57A04B72-8088-4F75-A582-1158CF8291F7} + {3CCD64E1-84DA-4853-B7EF-98B02FD4E39E} = {57A04B72-8088-4F75-A582-1158CF8291F7} {CADDFCE0-7509-4430-8364-2074E1EEFCA2} = {47697CDB-27B6-4B05-B4F8-0CBE6F6EDF97} {FAFB5948-A222-4CF6-AD14-026BE7564802} = {47697CDB-27B6-4B05-B4F8-0CBE6F6EDF97} EndGlobalSection diff --git a/package.bat b/package.bat index 5322f9fed..46d117d61 100644 --- a/package.bat +++ b/package.bat @@ -7,8 +7,12 @@ del nzbdrone*.zip /Q /F xcopy IISExpress %TARGET%\IISExpress /E /V /I /Y + + +xcopy NzbDrone\bin\Debug\*.* %TARGET%\ /E /V /I /Y xcopy NzbDrone\bin\Release\*.* %TARGET%\ /E /V /I /Y +xcopy NzbDrone.Update\bin\Debug\*.* %TARGET%\NzbDrone.Update\ /E /V /I /Y xcopy NzbDrone.Update\bin\Release\*.* %TARGET%\NzbDrone.Update\ /E /V /I /Y xcopy NzbDrone.Web\bin\*.* %TARGET%\NzbDrone.Web\bin\ /E /V /I /Y @@ -39,5 +43,4 @@ del Mvc*.pdb /Q /F /S ..\Libraries\7zip\7za.exe a -tzip ..\NzbDrone.zip * -CD .. -Pause \ No newline at end of file +CD .. \ No newline at end of file diff --git a/packages/Selenium.WebDriver.2.15.0/Selenium.WebDriver.2.15.0.nupkg b/packages/Selenium.WebDriver.2.15.0/Selenium.WebDriver.2.15.0.nupkg new file mode 100644 index 000000000..2772c7d25 Binary files /dev/null and b/packages/Selenium.WebDriver.2.15.0/Selenium.WebDriver.2.15.0.nupkg differ diff --git a/packages/Selenium.WebDriver.2.15.0/lib/net35/WebDriver.dll b/packages/Selenium.WebDriver.2.15.0/lib/net35/WebDriver.dll new file mode 100644 index 000000000..fa1c495e1 Binary files /dev/null and b/packages/Selenium.WebDriver.2.15.0/lib/net35/WebDriver.dll differ diff --git a/packages/Selenium.WebDriver.2.15.0/lib/net35/WebDriver.xml b/packages/Selenium.WebDriver.2.15.0/lib/net35/WebDriver.xml new file mode 100644 index 000000000..72d805c74 --- /dev/null +++ b/packages/Selenium.WebDriver.2.15.0/lib/net35/WebDriver.xml @@ -0,0 +1,6697 @@ + + + + WebDriver + + + + + Provides a mechanism by which to find elements within a document. + + It is possible to create your own locating mechanisms for finding documents. + In order to do this,subclass this class and override the protected methods. However, + it is expected that that all subclasses rely on the basic finding mechanisms provided + through static methods of this class. An example of this can be found in OpenQA.Support.ByIdOrName + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the given functions to find elements. + + A function that takes an object implementing + and returns the found . + A function that takes an object implementing + and returns a of the foundIWebElements. + IWebElements/>. + + + + Gets a mechanism to find elements by their ID. + + The ID to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their link text. + + The link text to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their name. + + The name to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by an XPath query. + + The XPath query to use. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their CSS class. + + The CSS class to find. + A object the driver can use to find the elements. + If an element has many classes then this will match against each of them. + For example if the value is "one two onone", then the following values for the + className parameter will match: "one" and "two". + + + + Gets a mechanism to find elements by a partial match on their link text. + + The partial link text to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their tag name. + + The tag name to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their cascading stylesheet (CSS) selector. + + The CSS selector to find. + A object the driver can use to find the elements. + + + + Finds the first element matching the criteria. + + An object to use to search for the elements. + The first matching on the current context. + + + + Finds all elements matching the criteria. + + An object to use to search for the elements. + A of all WebElements + matching the current criteria, or an empty list if nothing matches. + + + + Gets a string representation of the finder. + + The string displaying the finder content. + + + + Determines whether the specified Object is equal + to the current Object. + + The Object to compare with the + current Object. + if the specified Object + is equal to the current Object; otherwise, + . + + + + Serves as a hash function for a particular type. + + A hash code for the current Object. + + + + Gets or sets the value of the description for this class instance. + + + + + Gets or sets the method used to find a single element matching specified criteria. + + + + + Gets or sets the method used to find all elements matching specified criteria. + + + + + Represents a cookie in the browser. + + + + + Initializes a new instance of the class with a specific name, + value, domain, path and expiration date. + + The name of the cookie. + The value of the cookie. + The domain of the cookie. + The path of the cookie. + The expiration date of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Initializes a new instance of the class with a specific name, + value, path and expiration date. + + The name of the cookie. + The value of the cookie. + The path of the cookie. + The expiration date of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Initializes a new instance of the class with a specific name, + value, and path. + + The name of the cookie. + The value of the cookie. + The path of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Initializes a new instance of the class with a specific name and value. + + The name of the cookie. + The value of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Creates and returns a string representation of the cookie. + + A string representation of the cookie. + + + + Determines whether the specified Object is equal + to the current Object. + + The Object to compare with the + current Object. + if the specified Object + is equal to the current Object; otherwise, + . + + + + Serves as a hash function for a particular type. + + A hash code for the current Object. + + + + Gets the name of the cookie. + + + + + Gets the value of the cookie. + + + + + Gets the domain of the cookie. + + + + + Gets the path of the cookie. + + + + + Gets a value indicating whether the cookie is secure. + + + + + Gets the expiration date of the cookie. + + + + + The exception that is thrown when an element is not visible. + + + + + Represents exceptions that are thrown when an error occurs during actions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Defines the interface through which the user can manipulate JavaScript alerts. + + + + + Dismisses the alert. + + + + + Accepts the alert. + + + + + Sends keys to the alert. + + The keystrokes to send. + + + + Gets the text of the alert. + + + + + Capabilities of the browser that you are going to use + + + + + Gets a value indicating whether the browser has a given capability. + + The capability ot get. + Returns if the browser has the capability; otherwise, . + + + + Gets a capability of the browser. + + The capability to get. + An object associated with the capability, or + if the capability is not set on the browser. + + + + Gets the browser name + + + + + Gets the platform + + + + + Gets the browser version + + + + + Gets a value indicating whether the browser is JavaScript enabled + + + + + Defines an interface allowing the user to manipulate cookies on the current page. + + + + + Adds a cookie to the current page. + + The object to be added. + + + + Gets a cookie with the specified name. + + The name of the cookie to retrieve. + The containing the name. Returns + if no cookie with the specified name is found. + + + + Deletes the specified cookie from the page. + + The to be deleted. + + + + Deletes the cookie with the specified name from the page. + + The name of the cookie to be deleted. + + + + Deletes all cookies from the page. + + + + + Gets all cookies defined for the current page. + + + + + Defines the interface through which the user can determine the capabilities of a driver. + + + + + Gets the object describing the driver's capabilities. + + + + + Provides access to input devices for advanced user interactions. + + + + + Gets an object for sending keystrokes to the browser. + + + + + Gets an object for sending mouse commands to the browser. + + + + + Defines the interface through which the user can execute JavaScript. + + + + + Executes JavaScript in the context of the currently selected frame or window. + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + The method executes JavaScript in the context of + the currently selected frame or window. This means that "document" will refer + to the current document. If the script has a return value, then the following + steps will be taken: + + + + For an HTML element, this method returns a + For a number, a is returned + For a boolean, a is returned + For all other cases a is returned. + For an array,we check the first element, and attempt to return a + of that type, following the rules above. Nested lists are not + supported. + If the value is null or there is no return value, + is returned. + + + + Arguments must be a number (which will be converted to a ), + a , a or a . + An exception will be thrown if the arguments do not meet these criteria. + The arguments will be made available to the JavaScript via the "arguments" magic + variable, as if the function were called via "Function.apply" + + + + + + Executes JavaScript asynchronously in the context of the currently selected frame or window. + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + + Provides methods representing basic keyboard actions. + + + + + Sends a sequence of keystrokes to the target. + + A string representing the keystrokes to send. + + + + Presses a key. + + The key value representing the key to press. + The key value must be one of the values from the class. + + + + Releases a key. + + The key value representing the key to release. + The key value must be one of the values from the class. + + + + The exception that is thrown when an attempt is made to locate an item using invalid criteria. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Defines the interface through which the user can discover where an element is on the screen. + + + + + Gets the location of an element on the screen, scrolling it into view + if it is not currently on the screen. + + + + + Gets the coordinates identifying the location of this element using + various frames of reference. + + + + + Provides methods representing basic mouse actions. + + + + + Clicks at a set of coordinates using the primary mouse button. + + An describing where to click. + + + + Double-clicks at a set of coordinates. + + A describing where to double-click. + + + + Presses the primary mouse button at a set of coordinates. + + A describing where to press the mouse button down. + + + + Releases the primary mouse button at a set of coordinates. + + A describing where to release the mouse button. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to move the mouse to. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to click. + A horizontal offset from the coordinates specified in . + A vertical offset from the coordinates specified in . + + + + Clicks at a set of coordinates using the secondary mouse button. + + A describing where to click. + + + + Defines an interface allowing the user to access the browser's history and to + navigate to a given URL. + + + + + Move back a single entry in the browser's history. + + + + + Move a single "item" forward in the browser's history. + + Does nothing if we are on the latest page viewed. + + + + Load a new web page in the current browser window. + + The URL to load. It is best to use a fully qualified URL + + Calling the method will load a new web page in the current browser window. + This is done using an HTTP GET operation, and the method will block until the + load is complete. This will follow redirects issued either by the server or + as a meta-redirect from within the returned HTML. Should a meta-redirect "rest" + for any duration of time, it is best to wait until this timeout is over, since + should the underlying page change while your test is executing the results of + future calls against this interface will be against the freshly loaded page. + + + + + Load a new web page in the current browser window. + + The URL to load. + + Calling the method will load a new web page in the current browser window. + This is done using an HTTP GET operation, and the method will block until the + load is complete. This will follow redirects issued either by the server or + as a meta-redirect from within the returned HTML. Should a meta-redirect "rest" + for any duration of time, it is best to wait until this timeout is over, since + should the underlying page change while your test is executing the results of + future calls against this interface will be against the freshly loaded page. + + + + + Refreshes the current page. + + + + + The exception that is thrown when the users attempts to set a cookie with an invalid domain. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when a reference to an element is no longer valid. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when an element is not visible. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Defines an interface allowing the user to set options on the browser. + + + + + Provides access to the timeouts defined for this driver. + + An object implementing the interface. + + + + Gets an object allowing the user to manipulate cookies on the page. + + + + + Gets an object allowing the user to manipulate the currently-focused browser window. + + "Currently-focused" is defined as the browser window having the window handle + returned when IWebDriver.CurrentWindowHandle is called. + + + + Represents rotation of the browser view for orientation-sensitive devices. + When using this with a real device, the device should not be moved so that + the built-in sensors do not interfere. + + + + + Gets or sets the screen orientation of the browser on the device. + + + + + Defines the interface used to search for elements. + + + + + Finds the first using the given method. + + The locating mechanism to use. + The first matching on the current context. + If no element matches the criteria. + + + + Finds all IWebElements within the current context + using the given mechanism. + + The locating mechanism to use. + A of all WebElements + matching the current criteria, or an empty list if nothing matches. + + + + Defines the interface used to take screen shot images of the screen. + + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Defines the interface through which the user can locate a given frame or window. + + + + + Select a frame by its (zero-based) index. + + The zero-based index of the frame to select. + An instance focused on the specified frame. + If the frame cannot be found. + + + + Select a frame by its name or ID. + + The name of the frame to select. + An instance focused on the specified frame. + If the frame cannot be found. + + + + Select a frame using its previously located + + The frame element to switch to. + An instance focused on the specified frame. + If the element is neither a FRAME nor an IFRAME element. + If the element is no longer valid. + + + + Switches the focus of future commands for this driver to the window with the given name. + + The name of the window to select. + An instance focused on the given window. + If the window cannot be found. + + + + Selects either the first frame on the page or the main document when a page contains iframes. + + An instance focused on the default frame. + + + + Switches to the element that currently has the focus, or the body element + if no element with focus can be detected. + + An instance representing the element + with the focus, or the body element if no element with focus can be detected. + + + + Switches to the currently active modal dialog for this particular driver instance. + + A handle to the dialog. + + + + Defines the interface through which the user can define timeouts. + + + + + Specifies the amount of time the driver should wait when searching for an + element if it is not immediately present. + + A structure defining the amount of time to wait. + A self reference + + When searching for a single element, the driver should poll the page + until the element has been found, or this timeout expires before throwing + a . When searching for multiple elements, + the driver should poll the page until at least one element has been found + or this timeout has expired. + + Increasing the implicit wait timeout should be used judiciously as it + will have an adverse effect on test run time, especially when used with + slower location strategies like XPath. + + + + + + Specifies the amount of time the driver should wait when executing JavaScript asynchronously. + + A structure defining the amount of time to wait. + A self reference + + + + Defines the interface through which the user controls the browser. + + + The interface is the main interface to use for testing, which + represents an idealised web browser. The methods in this class fall into three categories: + + Control of the browser itself + Selection of IWebElements + Debugging aids + + + Key properties and methods are , which is used to + load a new web page by setting the property, and the various methods similar + to , which is used to find IWebElements. + + + You use the interface by instantiate drivers that implement of this interface. + You should write your tests against this interface so that you may "swap in" a + more fully featured browser when there is a requirement for one. + + + + + + Close the current window, quitting the browser if it is the last window currently open. + + + + + Quits this driver, closing every associated window. + + + + + Instructs the driver to change its settings. + + An object allowing the user to change + the settings of the driver. + + + + Instructs the driver to navigate the browser to another location. + + An object allowing the user to access + the browser's history and to navigate to a given URL. + + + + Instructs the driver to send future commands to a different frame or window. + + An object which can be used to select + a frame or window. + + + + Gets or sets the URL the browser is currently displaying. + + + Setting the property will load a new web page in the current browser window. + This is done using an HTTP GET operation, and the method will block until the + load is complete. This will follow redirects issued either by the server or + as a meta-redirect from within the returned HTML. Should a meta-redirect "rest" + for any duration of time, it is best to wait until this timeout is over, since + should the underlying page change while your test is executing the results of + future calls against this interface will be against the freshly loaded page. + + + + + + + Gets the title of the current browser window. + + + + + Gets the source of the page last loaded by the browser. + + + If the page has been modified after loading (for example, by JavaScript) + there is no guarentee that the returned text is that of the modified page. + Please consult the documentation of the particular driver being used to + determine whether the returned text reflects the current state of the page + or the text last sent by the web server. The page source returned is a + representation of the underlying DOM: do not expect it to be formatted + or escaped in the same way as the response sent from the web server. + + + + + Gets the current window handle, which is an opaque handle to this + window that uniquely identifies it within this driver instance. + + + + + Gets the window handles of open browser windows. + + + + + Defines the interface through which the user controls elements on the page. + + The interface represents an HTML element. + Generally, all interesting operations to do with interacting with a page will + be performed through this interface. + + + + + Clears the content of this element. + + If this element is a text entry element, the + method will clear the value. It has no effect on other elements. Text entry elements + are defined as elements with INPUT or TEXTAREA tags. + Thrown when the target element is no longer valid in the document DOM. + + + + Simulates typing text into the element. + + The text to type into the element. + The text to be typed may include special characters like arrow keys, + backspaces, function keys, and so on. Valid special keys are defined in + . + + Thrown when the target element is not enabled. + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Submits this element to the web server. + + If this current element is a form, or an element within a form, + then this will be submitted to the web server. If this causes the current + page to change, then this method will block until the new page is loaded. + Thrown when the target element is no longer valid in the document DOM. + + + + Clicks this element. + + + + Click this element. If the click causes a new page to load, the + method will attempt to block until the page has loaded. After calling the + method, you should discard all references to this + element unless you know that the element and the page will still be present. + Otherwise, any further operations performed on this element will have an undefined. + behavior. + + + If this element is not clickable, then this operation is ignored. This allows you to + simulate a users to accidentally missing the target when clicking. + + + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of the specified attribute for this element. + + The name of the attribute. + The attribute's current value. Returns a if the + value is not set. + The method will return the current value + of the attribute, even if the value has been modified after the page has been + loaded. Note that the value of the following attributes will be returned even if + there is no explicit attribute on the element: + + + Attribute name + Value returned if not explicitly specified + Valid element types + + + checked + checked + Check Box + + + selected + selected + Options in Select elements + + + disabled + disabled + Input and other UI elements + + + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of a CSS property of this element. + + The name of the CSS property to get the value of. + The value of the specified CSS property. + The value returned by the + method is likely to be unpredictable in a cross-browser environment. + Color values should be returned as hex strings. For example, a + "background-color" property set as "green" in the HTML source, will + return "#008000" for its value. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the tag name of this element. + + + The property returns the tag name of the + element, not the value of the name attribute. For example, it will return + "input" for an element specifiedby the HTML markup <input name="foo" />. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the innerText of this element, without any leading or trailing whitespace, + and with other whitespace collapsed. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is enabled. + + The property will generally + return for everything except explicitly disabled input elements. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is selected. + + This operation only applies to input elements such as checkboxes, + options in a select element and radio buttons. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containgin the coordinates of the upper-left corner + of this element relative to the upper-left corner of the page. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containing the height and width of this element. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is displayed. + + The property avoids the problem + of having to parse an element's "style" attribute to determine + visibility of an element. + Thrown when the target element is no longer valid in the document DOM. + + + + Provides methods for getting and setting the size and position of the browser window. + + + + + Gets or sets the position of the browser window relative to the upper-left corner of the screen. + + When setting this property, it should act as the JavaScript window.moveTo() method. + + + + Gets or sets ths size of the outer browser window, including title bars and window borders. + + When setting this property, it should act as the JavaScript window.resizeTo() method. + + + + Representations of pressable keys that are not text keys for sending to the browser. + + + + + Represents the NUL keystroke. + + + + + Represents the Cancel keystroke. + + + + + Represents the Help keystroke. + + + + + Represents the Backspace key. + + + + + Represents the Tab key. + + + + + Represents the Clear keystroke. + + + + + Represents the Return key. + + + + + Represents the Enter key. + + + + + Represents the Shift key. + + + + + Represents the Shift key. + + + + + Represents the Control key. + + + + + Represents the Control key. + + + + + Represents the Alt key. + + + + + Represents the Alt key. + + + + + Represents the Pause key. + + + + + Represents the Escape key. + + + + + Represents the Spacebar key. + + + + + Represents the Page Up key. + + + + + Represents the Page Down key. + + + + + Represents the End key. + + + + + Represents the Home key. + + + + + Represents the left arrow key. + + + + + Represents the left arrow key. + + + + + Represents the up arrow key. + + + + + Represents the up arrow key. + + + + + Represents the right arrow key. + + + + + Represents the right arrow key. + + + + + Represents the Left arrow key. + + + + + Represents the Left arrow key. + + + + + Represents the Insert key. + + + + + Represents the Delete key. + + + + + Represents the semi-colon key. + + + + + Represents the equal sign key. + + + + + Represents the number pad 0 key. + + + + + Represents the number pad 1 key. + + + + + Represents the number pad 2 key. + + + + + Represents the number pad 3 key. + + + + + Represents the number pad 4 key. + + + + + Represents the number pad 5 key. + + + + + Represents the number pad 6 key. + + + + + Represents the number pad 7 key. + + + + + Represents the number pad 8 key. + + + + + Represents the number pad 9 key. + + + + + Represents the number pad multiplication key. + + + + + Represents the number pad addition key. + + + + + Represents the number pad thousands separator key. + + + + + Represents the number pad subtraction key. + + + + + Represents the number pad decimal separator key. + + + + + Represents the number pad division key. + + + + + Represents the function key F1. + + + + + Represents the function key F2. + + + + + Represents the function key F3. + + + + + Represents the function key F4. + + + + + Represents the function key F5. + + + + + Represents the function key F6. + + + + + Represents the function key F7. + + + + + Represents the function key F8. + + + + + Represents the function key F9. + + + + + Represents the function key F10. + + + + + Represents the function key F12. + + + + + Represents the function key F12. + + + + + Represents the function key META. + + + + + Represents the function key COMMAND. + + + + + The exception that is thrown when an alert is not found. + + + + + 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. + + + + + The exception that is thrown when an item is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when a frame is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when a window is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Represents the known and supported Platforms that WebDriver runs on. + + The class maps closely to the Operating System, + but differs slightly, because this class is used to extract information such as + program locations and line endings. + + + + Any platform. This value is never returned by a driver, but can be used to find + drivers with certain capabilities. + + + + + Any version of Microsoft Windows. This value is never returned by a driver, + but can be used to find drivers with certain capabilities. + + + + + Any Windows NT-based version of Microsoft Windows. This value is never returned + by a driver, but can be used to find drivers with certain capabilities. This value + is equivalent to PlatformType.Windows. + + + + + Versions of Microsoft Windows that are compatible with Windows XP. + + + + + Versions of Microsoft Windows that are compatible with Windows Vista. + + + + + Any version of the Macintosh OS + + + + + Any version of the Unix operating system. + + + + + Any version of the Linux operating system. + + + + + Represents the platform on which tests are to be run. + + + + + Initializes a new instance of the class for a specific platform type. + + The platform type. + + + + Compares the platform to the specified type. + + A value to compare to. + if the platforms match; otherwise . + + + + Gets the current platform. + + + + + Gets the major version of the platform operating system. + + + + + Gets the major version of the platform operating system. + + + + + Gets the type of the platform. + + + + + Describes the kind of proxy. + + + Keep these in sync with the Firefox preferences numbers: + http://kb.mozillazine.org/Network.proxy.type + + + + + Direct connection, no proxy (default on Windows). + + + + + Manual proxy settings (e.g., for httpProxy). + + + + + Proxy autoconfiguration from URL. + + + + + Use proxy autodetection. + + + + + Use the system values for proxy settings (default on Linux). + + + + + No proxy type is specified. + + + + + Describes proxy settings to be used with a driver instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the given proxy settings. + + A dictionary of settings to use with the proxy. + + + + Gets or sets the type of proxy. + + + + + Gets or sets a value indicating whether the proxy uses autodetection. + + + + + Gets or sets the value of the proxy for the FTP protocol. + + + + + Gets or sets the value of the proxy for the HTTP protocol. + + + + + Gets or sets the value for when no proxy is specified. + + + + + Gets or sets the URL used for proxy autoconfiguration. + + + + + Gets or sets the value of the proxy for the SSL protocol. + + + + + Represents possible screen orientations. + + + + + Represents a portrait mode, where the screen is vertical. + + + + + Represents Landscape mode, where the screen is horizontal. + + + + + Represents an image of the page currently loaded in the browser. + + + + + Initializes a new instance of the class. + + The image of the page as a Base64-encoded string. + + + + Saves the screenshot to a file, overwriting the file if it already exists. + + The full path and file name to save the screenshot to. + A object indicating the format + to save the image to. + + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + + Gets the value of the screenshot image as a Base64-encoded string. + + + + + Gets the value of the screenshot image as an array of bytes. + + + + + The exception that is thrown when a reference to an element is no longer valid. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when the user is unable to set a cookie. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when an unhandled alert is present. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Specifies return values for actions in the driver. + + + + + The action was successful. + + + + + The index specified for the action was out of the acceptable range. + + + + + No collection was specified. + + + + + No string was specified. + + + + + No string length was specified. + + + + + No string wrapper was specified. + + + + + No driver matching the criteria exists. + + + + + No element matching the criteria exists. + + + + + No frame matching the criteria exists. + + + + + The functionality is not supported. + + + + + The specified element is no longer valid. + + + + + The specified element is not displayed. + + + + + The specified element is not enabled. + + + + + An unhandled error occurred. + + + + + An error occurred, but it was expected. + + + + + The specified element is not selected. + + + + + No document matching the criteria exists. + + + + + An unexpected JavaScript error occurred. + + + + + No result is available from the JavaScript execution. + + + + + The result from the JavaScript execution is not recognized. + + + + + No collection matching the criteria exists. + + + + + A timeout occurred. + + + + + A null pointer was received. + + + + + No window matching the criteria exists. + + + + + An illegal attempt was made to set a cookie under a different domain than the current page. + + + + + A request to set a cookie's value could not be satisfied. + + + + + An alert was found open unexpectedly. + + + + + A request was made to switch to an alert, but no alert is currently open. + + + + + An asynchronous JavaScript execution timed out. + + + + + The coordinates of the element are invalid. + + + + + The selector used (CSS/XPath) was invalid. + + + + + The exception that is thrown when an error occurs during an XPath lookup. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Provides a mechanism to write tests against an Android device + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new AndroidDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + Using the Android driver requires the Android device or emulator + to be running, and the WebDriver application be active on the device. + + + + + Provides a way to use the driver through + + /// + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer()); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + + + Defines the interface through which the user finds elements by their ID. + + + + + Finds the first element matching the specified id. + + The id to match. + The first matching the criteria. + + + + Finds all elements matching the specified id. + + The id to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their CSS class. + + + + + Finds the first element matching the specified CSS class. + + The CSS class to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS class. + + The CSS class to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their link text. + + + + + Finds the first element matching the specified link text. + + The link text to match. + The first matching the criteria. + + + + Finds all elements matching the specified link text. + + The link text to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their name. + + + + + Finds the first element matching the specified name. + + The name to match. + The first matching the criteria. + + + + Finds all elements matching the specified name. + + The name to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their tag name. + + + + + Finds the first element matching the specified tag name. + + The tag name to match. + The first matching the criteria. + + + + Finds all elements matching the specified tag name. + + The tag name to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by XPath. + + + + + Finds the first element matching the specified XPath query. + + The XPath query to match. + The first matching the criteria. + + + + Finds all elements matching the specified XPath query. + + The XPath query to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by a partial match on their link text. + + + + + Finds the first element matching the specified partial link text. + + The partial link text to match. + The first matching the criteria. + + + + Finds all elements matching the specified partial link text. + + The partial link text to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their cascading stylesheet (CSS) selector. + + + + + Finds the first element matching the specified CSS selector. + + The id to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS selector. + + The CSS selector to match. + A containing all + IWebElements matching the criteria. + + + + Initializes a new instance of the RemoteWebDriver class + + An object which executes commands for the driver. + An object containing the desired capabilities of the browser. + + + + Initializes a new instance of the RemoteWebDriver class. This constructor defaults proxy to http://127.0.0.1:4444/wd/hub + + An object containing the desired capabilities of the browser. + + + + Initializes a new instance of the RemoteWebDriver class + + URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub). + An object containing the desired capabilities of the browser. + + + + Initializes a new instance of the RemoteWebDriver class using the specified remote address, desired capabilties, and command timeout. + + URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub). + An object containing the desired capabilities of the browser. + The maximum amount of time to wait for each command. + + + + Finds the first element in the page that matches the object + + By mechanism to find the object + IWebElement object so that you can interction that object + + + IWebDriver driver = new InternetExplorerDriver(); + IWebElement elem = driver.FindElement(By.Name("q")); + + + + + + Finds the elements on the page by using the object and returns a ReadOnlyCollection of the Elements on the page + + By mechanism to find the element + ReadOnlyCollection of IWebElement + + + IWebDriver driver = new InternetExplorerDriver(); + ReadOnlyCollection]]> classList = driver.FindElements(By.ClassName("class")); + + + + + + Closes the Browser + + + + + Close the Browser and Dispose of WebDriver + + + + + Method For getting an object to set the Speen + + Returns an IOptions object that allows the driver to set the speed and cookies and getting cookies + + + + IWebDriver driver = new InternetExplorerDriver(); + driver.Manage().GetCookies(); + + + + + + Method to allow you to Navigate with WebDriver + + Returns an INavigation Object that allows the driver to navigate in the browser + + + IWebDriver driver = new InternetExplorerDriver(); + driver.Navigate().GoToUrl("http://www.google.co.uk"); + + + + + + Method to give you access to switch frames and windows + + Returns an Object that allows you to Switch Frames and Windows + + + IWebDriver driver = new InternetExplorerDriver(); + driver.SwitchTo().Frame("FrameName"); + + + + + + Executes JavaScript in the context of the currently selected frame or window + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + + Executes JavaScript asynchronously in the context of the currently selected frame or window. + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + + Finds the first element in the page that matches the ID supplied + + ID of the element + IWebElement object so that you can interction that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementById("id") + + + + + + Finds the first element in the page that matches the ID supplied + + ID of the Element + ReadOnlyCollection of Elements that match the object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsById("id") + + + + + + Finds the first element in the page that matches the CSS Class supplied + + className of the + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementByClassName("classname") + + + + + + Finds a list of elements that match the classname supplied + + CSS class Name on the element + ReadOnlyCollection of IWebElement object so that you can interact with those objects + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname") + + + + + + Finds the first of elements that match the link text supplied + + Link text of element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByLinkText("linktext") + + + + + + Finds a list of elements that match the link text supplied + + Link text of element + ReadOnlyCollection]]> object so that you can interact with those objects + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname") + + + + + + Finds the first of elements that match the part of the link text supplied + + part of the link text + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByPartialLinkText("partOfLink") + + + + + + Finds a list of elements that match the classname supplied + + part of the link text + ReadOnlyCollection]]> objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByPartialLinkText("partOfTheLink") + + + + + + Finds the first of elements that match the name supplied + + Name of the element on the page + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + elem = driver.FindElementsByName("name") + + + + + + Finds a list of elements that match the name supplied + + Name of element + ReadOnlyCollect of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByName("name") + + + + + + Finds the first of elements that match the DOM Tag supplied + + DOM tag Name of the element being searched + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByTagName("tag") + + + + + + Finds a list of elements that match the DOM Tag supplied + + DOM tag Name of element being searched + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByTagName("tag") + + + + + + Finds the first of elements that match the XPath supplied + + xpath to the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByXPath("//table/tbody/tr/td/a"); + + + + + + Finds a list of elements that match the XPath supplied + + xpath to the element + ReadOnlyCollection of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByXpath("//tr/td/a") + + + + + + Finds the first element matching the specified CSS selector. + + The CSS selector to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS selector. + + The CSS selector to match. + A containing all + IWebElements matching the criteria. + + + + Dispose the RemoteWebDriver Instance + + + + + Executes commands with the driver + + Command that needs executing + Parameters needed for the command + WebDriver Response + + + + Find the element in the response + + Reponse from the browser + Element from the page + + + + Finds the elements that are in the response + + Response from the browser + Collection of elements + + + + Stops the client from running + + if its in the process of disposing + + + + Starts a session with the driver + + Capabilities of the browser + + + + Executes a command with this driver . + + A value representing the command to execute. + A containing the names and values of the parameters of the command. + A containing information about the success or failure of the command and any data returned by the command. + + + + Starts the command executor, enabling communication with the browser. + + + + + Stops the command executor, ending further communication with the browser. + + + + + Finds an element matching the given mechanism and value. + + The mechanism by which to find the element. + The value to use to search for the element. + The first matching the given criteria. + + + + Finds all elements matching the given mechanism and value. + + The mechanism by which to find the elements. + The value to use to search for the elements. + A collection of all of the IWebElements matchings the given criteria. + + + + Creates a with the specified ID. + + The ID of this element. + A with the specified ID. + + + + Gets or sets the URL the browser is currently displaying. + + + + + + + + Gets the title of the current browser window. + + + + + Gets the source of the page last loaded by the browser. + + + + + Gets the current window handle, which is an opaque handle to this + window that uniquely identifies it within this driver instance. + + + + + Gets the window handles of open browser windows. + + + + + Gets an object for sending keystrokes to the browser. + + + + + Gets an object for sending mouse commands to the browser. + + + + + Gets the capabilities that the RemoteWebDriver instance is currently using + + + + + Gets the which executes commands for this driver. + + + + + Gets the for the current session of this driver. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + communicating with the device at a specific URL. + + The URL of the WebDriver application on the Android device. + + + + Initializes a new instance of the class, + communicating with the device at a specific URL. + + The URL of the WebDriver application on the Android device. + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Gets or sets the screen orientation of the browser on the device. + + + + + Provides a mechanism to execute commands on the browser + + + + + Provides a way of executing Commands over HTTP + + + + + Provides a way to send commands to the remote server + + + + + Executes a command + + The command you wish to execute + A response from the browser + + + + Initializes a new instance of the HttpCommandExecutor class + + Address of the WebDriver Server + The timeout within which the server must respond. + + + + Executes a command + + The command you wish to execute + A response from the browser + + + + Initializes a new instance of the class. + + The that drives the browser. + The maximum amount of time to wait for each command. + + + + Starts the . + + + + + Stops the . + + + + + Provides a mechanism to write tests against Chrome + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new ChromeDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + + + Accept untrusted SSL Certificates + + + + + Initializes a new instance of the ChromeDriver class. + + + + + Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe. + + The full path to the directory containing ChromeDriver.exe. + + + + Initializes a new instance of the ChromeDriver class using the capabilities. + + The desired capabilities of the Chrome driver. + + + + Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe and capabilities. + + The full path to the directory containing ChromeDriver.exe. + The desired capabilities of the Chrome driver. + + + + Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe, command timeout, and capabilities. + + The full path to the directory containing ChromeDriver.exe. + The desired capabilities of the Chrome driver. + The maximum amount of time to wait for each command. + + + + Initializes a new instance of the ChromeDriver class using the specified . + + The to use. + The desired capabilities of 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. + + + + By default will try to load Chrome from system property + webdriver.chrome.bin and the extension from + webdriver.chrome.extensiondir. If the former fails, will try to guess the + path to Chrome. If the latter fails, will try to unzip from the JAR we + hope we're in. If these fail, throws exceptions. + + + + + Kills the started Chrome process and ChromeCommandExecutor if they exist + + + + + 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. + + + + Releases all resources associated with this . + + + + + Starts the ChromeDriverService. + + + + + Stops the ChromeDriverService. + + + + + Gets the Uri of the service. + + + + + Gets a value indicating whether the service is running. + + + + + Provides a mechanism to get elements off the page for test + + + + + RemoteWebElement allows you to have access to specific items that are found on the page + + + + + + + Defines the interface through which the user can access the driver used to find an element. + + + + + Gets the used to find this element. + + + + + Initializes a new instance of the class. + + The instance hosting this element. + The ID assigned to the element. + + + + Clears the content of this element. + + If this element is a text entry element, the + method will clear the value. It has no effect on other elements. Text entry elements + are defined as elements with INPUT or TEXTAREA tags. + Thrown when the target element is no longer valid in the document DOM. + + + + Simulates typing text into the element. + + The text to type into the element. + The text to be typed may include special characters like arrow keys, + backspaces, function keys, and so on. Valid special keys are defined in + . + + Thrown when the target element is not enabled. + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Submits this element to the web server. + + If this current element is a form, or an element within a form, + then this will be submitted to the web server. If this causes the current + page to change, then this method will attempt to block until the new page + is loaded. + Thrown when the target element is no longer valid in the document DOM. + + + + Clicks this element. + + + Click this element. If the click causes a new page to load, the + method will attempt to block until the page has loaded. After calling the + method, you should discard all references to this + element unless you know that the element and the page will still be present. + Otherwise, any further operations performed on this element will have an undefined + behavior. + + Thrown when the target element is not enabled. + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of the specified attribute for this element. + + The name of the attribute. + The attribute's current value. Returns a if the + value is not set. + The method will return the current value + of the attribute, even if the value has been modified after the page has been + loaded. Note that the value of the following attributes will be returned even if + there is no explicit attribute on the element: + + + Attribute name + Value returned if not explicitly specified + Valid element types + + + checked + checked + Check Box + + + selected + selected + Options in Select elements + + + disabled + disabled + Input and other UI elements + + + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of a CSS property of this element. + + The name of the CSS property to get the value of. + The value of the specified CSS property. + The value returned by the + method is likely to be unpredictable in a cross-browser environment. + Color values should be returned as hex strings. For example, a + "background-color" property set as "green" in the HTML source, will + return "#008000" for its value. + Thrown when the target element is no longer valid in the document DOM. + + + + Finds all IWebElements within the current context + using the given mechanism. + + The locating mechanism to use. + A of all WebElements + matching the current criteria, or an empty list if nothing matches. + + + + Finds the first using the given method. + + The locating mechanism to use. + The first matching on the current context. + If no element matches the criteria. + + + + Finds the first of elements that match the link text supplied + + Link text of element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementByLinkText("linktext") + + + + + + Finds the first of elements that match the link text supplied + + Link text of element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByLinkText("linktext") + + + + + + Finds the first element in the page that matches the ID supplied + + ID of the element + IWebElement object so that you can interction that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementById("id") + + + + + + Finds the first element in the page that matches the ID supplied + + ID of the Element + ReadOnlyCollection of Elements that match the object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsById("id") + + + + + + Finds the first of elements that match the name supplied + + Name of the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + elem = driver.FindElementsByName("name") + + + + + + Finds a list of elements that match the name supplied + + Name of element + ReadOnlyCollect of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByName("name") + + + + + + Finds the first of elements that match the DOM Tag supplied + + tag name of the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByTagName("tag") + + + + + + Finds a list of elements that match the DOM Tag supplied + + DOM Tag of the element on the page + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByTagName("tag") + + + + + + Finds the first element in the page that matches the CSS Class supplied + + className of the + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementByClassName("classname") + + + + + + Finds a list of elements that match the classname supplied + + CSS class name of the elements on the page + ReadOnlyCollection of IWebElement object so that you can interact with those objects + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname") + + + + + + Finds the first of elements that match the XPath supplied + + xpath to the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByXPath("//table/tbody/tr/td/a"); + + + + + + Finds a list of elements that match the XPath supplied + + xpath to element on the page + ReadOnlyCollection of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByXpath("//tr/td/a") + + + + + + Finds the first of elements that match the part of the link text supplied + + part of the link text + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByPartialLinkText("partOfLink") + + + + + + Finds a list of elements that match the classname supplied + + part of the link text + ReadOnlyCollection]]> objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByPartialLinkText("partOfTheLink") + + + + + + Finds the first element matching the specified CSS selector. + + The id to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS selector. + + The CSS selector to match. + A containing all + IWebElements matching the criteria. + + + + Method to get the hash code of the element + + Interger of the hash code for the element + + + + Compares if two elements are equal + + Object to compare against + A boolean if it is equal or not + + + + Finds a child element matching the given mechanism and value. + + The mechanism by which to find the element. + The value to use to search for the element. + The first matching the given criteria. + + + + Finds all child elements matching the given mechanism and value. + + The mechanism by which to find the elements. + The value to use to search for the elements. + A collection of all of the IWebElements matchings the given criteria. + + + + Executes a command on this element using the specified parameters. + + The to execute against this element. + A containing names and values of the parameters for the command. + The object containing the result of the command execution. + + + + Gets the used to find this element. + + + + + Gets the tag name of this element. + + + The property returns the tag name of the + element, not the value of the name attribute. For example, it will return + "input" for an element specifiedby the HTML markup <input name="foo" />. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the innerText of this element, without any leading or trailing whitespace, + and with other whitespace collapsed. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is enabled. + + The property will generally + return for everything except explicitly disabled input elements. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is selected. + + This operation only applies to input elements such as checkboxes, + options in a select element and radio buttons. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containgin the coordinates of the upper-left corner + of this element relative to the upper-left corner of the page. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containing the height and width of this element. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is displayed. + + The property avoids the problem + of having to parse an element's "style" attribute to determine + visibility of an element. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the point where the element would be when scrolled into view. + + + + + Gets the coordinates identifying the location of this element using + various frames of reference. + + + + + Gets the ID of the element. + + This property is internal to the WebDriver instance, and is + not intended to be used in your code. The element's ID has no meaning + outside of internal WebDriver usage, so it would be improper to scope + it as public. However, both subclasses of + and the parent driver hosting the element have a need to access the + internal element ID. Therefore, we have two properties returning the + same value, one scoped as internal, the other as protected. + + + + Gets the ID of the element + + This property is internal to the WebDriver instance, and is + not intended to be used in your code. The element's ID has no meaning + outside of internal WebDriver usage, so it would be improper to scope + it as public. However, both subclasses of + and the parent driver hosting the element have a need to access the + internal element ID. Therefore, we have two properties returning the + same value, one scoped as internal, the other as protected. + + + + Initializes a new instance of the ChromeWebElement class + + Driver in use + Id of the element + + + + Returns the HashCode of the Element + + Hashcode of the element + + + + Compares current element against another + + element to compare against + A value indicating whether they are the same + + + + Represents the binary associated with Firefox. + + The class is responsible for instantiating the + Firefox process, and the operating system environment in which it runs. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class located at a specific file location. + + Full path and file name to the Firefox executable. + + + + Starts Firefox using the specified profile and command-line arguments. + + The to use with this instance of Firefox. + The command-line arguments to use in starting Firefox. + + + + Sets a variable to be used in the Firefox execution environment. + + The name of the environment variable to set. + The value of the environment variable to set. + + + + Creates a named profile for Firefox. + + The name of the profile to create. + + + + Waits for the process to complete execution. + + + + + Intializes the binary with the specified profile. + + The to use to initialize the binary. + + + + Stops the execution of this , terminating the process if necessary. + + + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + + Starts the Firefox process. + + A object used to start Firefox. + + + + Gets or sets the timeout (in milliseconds) to wait for command execution. + + + + + Gets all console output of the binary. + + Output retrieval is non-destructive and non-blocking. + + + + Gets the associated with this . + + + + + Gets a value indicating whether the current operating system is Linux. + + + + + Gets a containing string key-value pairs + representing any operating system environment variables beyond the defaults. + + + + + Provides a way to access Firefox to run tests. + + + When the FirefoxDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and + start your test. + + In the case of the FirefoxDriver, you can specify a named profile to be used, or you can let the + driver create a temporary, anonymous profile. A custom extension allowing the driver to communicate + to the browser will be installed into the profile. + + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new FirefoxDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + + + The name of the ICapabilities setting to use to define a custom Firefox profile. + + + + + The name of the ICapabilities setting to use to define a custom location for the + Firefox executable. + + + + + The default port on which to communicate with the Firefox extension. + + + + + Indicates whether native events is enabled by default for this platform. + + + + + Indicates whether the driver will accept untrusted SSL certificates. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class for a given profile. + + A object representing the profile settings + to be used in starting Firefox. + + + + Initializes a new instance of the class for a given set of capabilities. + + The object containing the desired + capabilities of this FirefoxDriver. + + + + Initializes a new instance of the class for a given profile and binary environment. + + A object representing the operating system + environmental settings used when running Firefox. + A object representing the profile settings + to be used in starting Firefox. + + + + Initializes a new instance of the class for a given profile, binary environment, and timeout value. + + A object representing the operating system + environmental settings used when running Firefox. + A object representing the profile settings + to be used in starting Firefox. + The maximum amount of time to wait for each command. + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Starts the command executor, enabling communication with the browser. + + + + + Stops the command executor, ending further communication with the browser. + + + + + In derived classes, the method prepares the environment for test execution. + + + + + Creates a with the specified ID. + + The ID of this element. + A with the specified ID. For the FirefoxDriver this will be a . + + + + Gets the FirefoxBinary and its details for subclasses + + + + + Gets the FirefoxProfile that is currently in use by subclasses + + + + + Provides the ability to install extensions into a . + + + + + Initializes a new instance of the class. + + The name of the file containing the Firefox extension. + WebDriver attempts to resolve the parameter + by looking first for the specified file in the directory of the calling assembly, + then using the full path to the file, if a full path is provided. + + + + Initializes a new instance of the class. + + The name of the file containing the Firefox extension. + The ID of the resource within the assembly containing the extension + if the file is not present in the file system. + WebDriver attempts to resolve the parameter + by looking first for the specified file in the directory of the calling assembly, + then using the full path to the file, if a full path is provided. If the file is + not found in the file system, WebDriver attempts to locate a resource in the + executing assembly with the name specified by the + parameter. + + + + Installs the extension into a profile directory. + + The Firefox profile directory into which to install the extension. + + + + Provides the ability to edit the preferences associated with a Firefox profile. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using a + specific profile directory. + + The directory containing the profile. + + + + Initializes a new instance of the class using a + specific profile directory. + + The directory containing the profile. + Delete the source directory of the profile upon cleaning. + + + + Converts a base64-encoded string into a . + + The base64-encoded string containing the profile contents. + The constructed . + + + + Adds a Firefox Extension to this profile + + The path to the new extension + + + + Sets a preference in the profile. + + The name of the preference to add. + A value to add to the profile. + + + + Sets a preference in the profile. + + The name of the preference to add. + A value to add to the profile. + + + + Sets a preference in the profile. + + The name of the preference to add. + A value to add to the profile. + + + + Set proxy preferences for this profile. + + The object defining the proxy + preferences for the profile. + + + + Writes this in-memory representation of a profile to disk. + + + + + Cleans this Firefox profile. + + If this profile is a named profile that existed prior to + launching Firefox, the method removes the WebDriver + Firefox extension. If the profile is an anonymous profile, the profile + is deleted. + + + + Converts the profile into a base64-encoded string. + + A base64-encoded string containing the contents of the profile. + + + + Adds the WebDriver extension for Firefox to the profile. + + + + + Adds a preference to the profile. + + The preferences dictionary. + The name of the preference. + The value of the preference. + + + + Generates a random directory name for the profile. + + A random directory name for the profile. + + + + Deletes the lock files for a profile. + + + + + Installs all extensions in the profile in the directory on disk. + + + + + Deletes the cache of extensions for this profile, if the cache exists. + + If the extensions cache does not exist for this profile, the + method performs no operations, but + succeeds. + + + + Writes the user preferences to the profile. + + + + + Reads the existing preferences from the profile. + + A containing key-value pairs representing the preferences. + Assumes that we only really care about the preferences, not the comments + + + + Writes the specified preferences to the user preferences file. + + A containing key-value pairs + representing the preferences to write. + + + + Sets a preference for a manually specified proxy. + + The protocol for which to set the proxy. + The setting for the proxy. + + + + Gets or sets the port on which the profile connects to the WebDriver extension. + + + + + Gets the directory containing the profile. + + + + + Gets or sets a value indicating whether native events are enabled. + + + + + Gets or sets a value indicating whether to always load the library for allowing Firefox + to execute commands without its window having focus. + + The property is only used on Linux. + + + + Gets or sets a value indicating whether Firefox should accept untrusted certificates. + + + + + Gets a value indicating whether Firefox is currently running with this profile loaded. + + + + + Allows the user to enumerate and access existing named Firefox profiles. + + + + + Initializes a new instance of the class. + + + + + Gets a with a given name. + + The name of the profile to get. + A with a given name. + Returns if no profile with the given name exists. + + + + Gets a containing FirefoxProfiles + representing the existing named profiles for Firefox. + + + + + Allows the user to control elements on a page in Firefox. + + + + + Initializes a new instance of the class. + + The instance hosting this element. + The ID assigned to the element. + + + + Determines whether two instances are equal. + + The to compare with the current . + if the specified is equal to the + current ; otherwise, . + + + + Serves as a hash function for a . + + A hash code for the current . + + + + Defines the interface by which a driver connects to the WebDriver extension. + + + + + Starts the connection to the extension. + + + + + Closes the connection to the extension. + + + + + Represents the preferences used by a profile in Firefox. + + + + + Sets a preference. + + The name of the preference to set. + A value give the preference. + + + + Sets a preference. + + The name of the preference to set. + A value give the preference. + + + + Sets a preference. + + The name of the preference to set. + A value give the preference. + + + + Appends this set of preferences to the specified set of preferences. + + A dictionary containing the preferences to which to + append these values. + If the preference already exists in , + the value will be updated. + + + + Represents the executable file for Firefox. + + + + + Initializes a new instance of the class. + + The path and file name to the Firefox executable. + + + + Sets the library path for the Firefox executable environment. + + The used to execute the binary. + + + + Locates the Firefox binary by platform. + + The full path to the binary. + + + + Retrieves an environment variable + + Name of the variable. + Default value of the variable. + The value of the variable. If no variable with that name is set, returns the default. + + + + Retrieves the platform specific environment property name which contains the library path. + + The platform specific environment property name which contains the library path. + + + + Walk a PATH to locate binaries with a specified name. Binaries will be searched for in the + order they are provided. + + The binary names to search for. + The first binary found matching that name. + + + + Gets the full path to the executable. + + + + + Represents the connection to the WebDriver Firefox extension. + + + + + Initializes a new instance of the class. + + The on which to make the connection. + The creating the connection. + The name of the host on which to connect to the Firefox extension (usually "localhost"). + The maximum amount of time to wait for each command. + + + + Starts the connection to the extension. + + + + + Closes the connection to the extension. + + + + + Executes a command + + The command you wish to execute + A response from the browser + + + + Gets the associated with this connection. + + + + + Defines the interface through which the mutex port for establishing communication + with the WebDriver extension can be locked. + + + + + Locks the mutex port. + + The amount of time (in milliseconds) to wait for + the mutex port to become available. + + + + Unlocks the mutex port. + + + + + Parses and reads an INI file. + + + + + Initializes a new instance of the class. + + The full path to the .INI file to be read. + + + + Gets a value from the .INI file. + + The section in which to find the key-value pair. + The key of the key-value pair. + The value associated with the given section and key. + + + + Gets a containing the names of the sections in the .INI file. + + + + + Provides a mutex-like lock on a socket. + + + + + Initializes a new instance of the class. + + Port to use to acquire the lock. + The class will attempt to acquire the + specified port number, and wait for it to become free. + + + + Locks the mutex port. + + The amount of time (in milliseconds) to wait for + the mutex port to become available. + + + + Unlocks the mutex port. + + + + + Releases all resources associated with this + + + + + Provides a way to access Internet Explorer to run your tests by creating a InternetExplorerDriver instance + + + When the WebDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and + start your test. + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new InternetExplorerDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + driver.Dispose(); + } + } + + + + + + The name of the ICapabilities setting to use to ignore Protected Mode settings. + + + + + Initializes a new instance of the InternetExplorerDriver class. + + + + + Initializes a new instance of the InternetExplorerDriver class for the specified port. + + The port to use to communicate with the IE server. + + + + Initializes a new instance of the InternetExplorerDriver class with the desired capabilities. + + The desired capabilities of the IE driver. + + + + Initializes a new instance of the InternetExplorerDriver class for the specified port and desired capabilities. + + The port to use to communicate with the IE server. + The desired capabilities of the IE driver. + + + + Initializes a new instance of the InternetExplorerDriver class for the specified port, desired capabilities, and command timeout. + + The port to use to communicate with the IE server. + The desired capabilities of the IE driver. + The maximum amount of time to wait for each command. + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Starts the command executor, enabling communication with the browser. + + + + + Stops the command executor, ending further communication with the browser. + + + + + Provides a wrapper for the native-code Internet Explorer driver library. + + + + + Initializes a new instance of the class. + + + + + Starts the server, communicating on the specified port, if it is not already running + + The port on which the server should listen for requests. + The port on which the server is actually listening for requests. + If the server has already been started, there is no need to start it + again. We can leverage the already-running server, and the port it is listening + on. + + + + Releases all resources used by this InternetExplorerDriverServer. + + + + + Releases all resources used by this InternetExplorerDriverServer. + + to dispose of managed and unmanaged resources; + to only dispose of unmanaged resources. + + + + Gets a value indicating whether the unmanaged native code library has been loaded. + + + + + Gets a value indicating whether the Internet Explorer driver server is running. + + + + + InternetExplorerWebElement allows you to have access to specific items that are found on the page. + + + + + + [Test] + public void TestGoogle() + { + driver = new InternetExplorerDriver(); + InternetExplorerWebElement elem = driver.FindElement(By.Name("q")); + elem.SendKeys("Cheese please!"); + } + + + + + + Initializes a new instance of the InternetExplorerWebElement class. + + Driver in use. + ID of the element. + + + + Provides a mechanism for building advanced interactions with the browser. + + + + + Initializes a new instance of the class. + + The object on which the actions built will be performed. + + + + Sends a modifier key down message to the browser. + + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a modifier key down message to the specified element in the browser. + + The element to which to send the key command. + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a modifier key up message to the browser. + + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a modifier up down message to the specified element in the browser. + + The element to which to send the key command. + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a sequence of keystrokes to the browser. + + The keystrokes to send to the browser. + A self-reference to this . + + + + Sends a sequence of keystrokes to the specified element in the browser. + + The element to which to send the keystrokes. + The keystrokes to send to the browser. + A self-reference to this . + + + + Clicks and holds the mouse button down on the specified element. + + The element on which to click and hold. + A self-reference to this . + + + + Clicks and holds the mouse button at the last known mouse coordinates. + + A self-reference to this . + + + + Releases the mouse button on the specified element. + + The element on which to release the button. + A self-reference to this . + + + + Releases the mouse button at the last known mouse coordinates. + + A self-reference to this . + + + + Clicks the mouse on the specified element. + + The element on which to click. + A self-reference to this . + + + + Clicks the mouse at the last known mouse coordinates. + + A self-reference to this . + + + + Double-clicks the mouse on the specified element. + + The element on which to double-click. + A self-reference to this . + + + + Double-clicks the mouse at the last known mouse coordinates. + + A self-reference to this . + + + + Moves the mouse to the specified element. + + The element to which to move the mouse. + A self-reference to this . + + + + Moves the mouse to the specified offset of the top-left corner of the specified element. + + The element to which to move the mouse. + The horizontal offset to which to move the mouse. + The vertical offset to which to move the mouse. + A self-reference to this . + + + + Moves the mouse to the specified offset of the last known mouse coordinates. + + The horizontal offset to which to move the mouse. + The vertical offset to which to move the mouse. + A self-reference to this . + + + + Right-clicks the mouse on the specified element. + + The element on which to right-click. + A self-reference to this . + + + + Performs a drag-and-drop operation from one element to another. + + The element on which the drag operation is started. + The element on which the drop is performed. + A self-reference to this . + + + + Performs a drag-and-drop operation on one element to a specified offset. + + The element on which the drag operation is started. + The horizontal offset to which to move the mouse. + The vertical offset to which to move the mouse. + A self-reference to this . + + + + Builds the sequence of actions. + + A composite which can be used to perform the actions. + + + + Performs the currently built action. + + + + + Adds an action to current list of actions to be performed. + + The to be added. + + + + Defines an action for releasing the currently held mouse button. + + + This action can be called for an element different than the one + ClickAndHoldAction was called for. However, if this action is + performed out of sequence (without holding down the mouse button, + for example) the results will be different. + + + + + Defines an action for mouse interaction with the browser. + + + + + Defines an action for keyboard and mouse interaction with the browser. + + + + + Initializes a new instance of the class for the given element. + + An object tha provides coordinates for this action. + + + + Initializes a new instance of the class. + + This action will take place in the context of the previous action's coordinates. + + + + Gets the target of the action providing coordinates of the action. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Moves the mouse to the location at which to perform the action. + + + + + Gets the coordinates at which to perform the mouse action. + + + + + Gets the mouse with which to perform the action. + + + + + Provides methods by which an interaction with the browser can be performed. + + + + + Performs this action on the browser. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for clicking on an element. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for clicking and holding the mouse button on an element. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action that consists of a list of other actions to be performed in the browser. + + + + + Adds an action to the list of actions to be performed. + + An to be appended to the + list of actions to be performed. + A self reference. + + + + Performs the actions defined in this list of actions. + + + + + Defines an action for clicking the secondary mouse button on an element, displaying a context menu. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for double-clicking on an element. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Provides location of the element using various frames of reference. + + + + + Gets the location of an element in absolute screen coordinates. + + + + + Gets the location of an element relative to the origin of the view port. + + + + + Gets the location of an element's position within the HTML DOM. + + + + + Gets a locator providing a user-defined location for this element. + + + + + Defines an action for keyboard interaction with the browser. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + + + + Focuses on the element on which the action is to be performed. + + + + + Gets the keyboard with which to perform the action. + + + + + Defines an action for pressing a modifier key (Shift, Alt, or Control) on the keyboard. + + + + + Defines an action for keyboard interaction with the browser using a single modifier key. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The modifier key (, , ) to use in the action. + + + + Gets the key with which to perform the action. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The modifier key (, , ) to use in the action. + + + + Performs this action. + + + + + Defines an action for releasing a modifier key (Shift, Alt, or Control) on the keyboard. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The modifier key (, , ) to use in the action. + + + + Performs this action. + + + + + Defines an action for moving the mouse to a specified location. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for moving the mouse to a specified offset from its current location. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + The horizontal offset from the origin of the target to which to move the mouse. + The vertical offset from the origin of the target to which to move the mouse. + + + + Performs this action. + + + + + Defines an action for sending a sequence of keystrokes to an element. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The key sequence to send. + + + + Performs this action. + + + + + Utility class used to execute "asynchronous" scripts. This class should + only be used by browsers that do not natively support asynchronous + script execution. + Warning: this class is intended for internal use + only. This class will be removed without warning after all + native asynchronous implemenations have been completed. + + + + + + Initializes a new instance of the class. + + An object capable of executing JavaScript. + + + + Executes a JavaScript script asynchronously. + + The script to execute. + An array of objects used as arguments in the script. + The object which is the return value of the script. + if the object executing the function doesn't support JavaScript. + if the page reloads during the JavaScript execution. + if the timeout expires during the JavaScript execution. + + + + Gets or sets the timeout for the script executor. + + + + + Encapsulates methods for working with files. + + + + + Recursively copies a directory. + + The source directory to copy. + The destination directory. + if the copy is completed; otherwise . + + + + Recursively deletes a directory, retrying on error until a timeout. + + The directory to delete. + This method does not throw an exception if the delete fails. + + + + Defines the interface through which the user can discover if there is an underlying element to be used. + + + + + Gets the wrapped by this object. + + + + + Utility class to wrap an unmanaged DLL and be responsible for freeing it. + + + This is a managed wrapper over the native LoadLibrary, GetProcAddress, + and FreeLibrary calls. + + + + + Initializes a new instance of the class. + + full path name of dll to load + + If fileName can't be found + + + This constructor loads a DLL and makes this class responible for + freeing it. Throws exceptions on failure. Most common failure would be + file-not-found, or that the file is not a loadable image. + + + + + Dynamically lookup a function in the dll via kernel32!GetProcAddress. + + The name of the function in the export table. + The Type of the delegate to be returned. + A delegate to the unmanaged function. Returns + if the function is not found. + + + GetProcAddress results are valid as long as the dll is not yet + unloaded. This is very very dangerous to use since you need to + ensure that the dll is not unloaded until after you're done with any + objects implemented by the dll. For example, if you get a delegate + that then gets an IUnknown implemented by this dll, you can not + dispose this library until that IUnknown is collected. Else, you may + free the library and then the CLR may call release on that IUnknown + and it will crash. + + + + + Call FreeLibrary on the unmanaged dll. All function pointers handed + out from this class become invalid after this. + + + This is very dangerous because it suddenly invalidate everything + retrieved from this dll. This includes any functions handed out via + GetProcAddress, and potentially any objects returned from those + functions (which may have an implemention in the dll). + + + + + Represents a wrapper class for the handle to a native library. + + + + + Initializes a new instance of the class. + + + + + Releases the native library handle. + + if the library was released, otherwise . + The handle is released by calling the FreeLibrary API. + + + + Provides entry points into needed unmanaged APIs. + + + + + Values for flags for setting information about a native operating system handle. + + + + + No flags are to be set for the handle. + + + + + If this flag is set, a child process created with the bInheritHandles + parameter of CreateProcess set to TRUE will inherit the object handle. + + + + + If this flag is set, calling the CloseHandle function will not close the + object handle. + + + + + Encapsulates methods for finding and extracting WebDriver resources. + + + + + Gets a that contains the resource to use. + + A file name in the file system containing the resource to use. + A string representing the resource name embedded in the + executing assembly, if it is not found in the file system. + A Stream from which the resource can be read. + Thrown if neither the file nor the embedded resource can be found. + + The GetResourceStream method searches for the specified resource using the following + algorithm: + + + In the same directory as the calling assembly. + In the full path specified by the argument. + Inside the calling assembly as an embedded resource. + + + + + + + Represents a cookie returned to the driver by the browser. + + + + + Initializes a new instance of the class with a specific name, + value, domain, path and expiration date. + + The name of the cookie. + The value of the cookie. + The domain of the cookie. + The path of the cookie. + The expiration date of the cookie. + if the cookie is secure; otherwise + The current the browser is viewing. + If the name is or an empty string, + or if it contains a semi-colon. + If the value or currentUrl is . + + + + Creates and returns a string representation of the current cookie. + + A string representation of the current cookie. + + + + Gets the current URL the browser is viewing. + + + + + Gets a value determining if the cookie is secure. + + + + + Provides types of capabilities for the DesiredCapabilities object. + + + + + Capability name used for the browser name. + + + + + Capability name used for the browser platform. + + + + + Capability name used for the browser version. + + + + + Capability name used to indicate whether JavaScript is enabled for the browser. + + + + + Capability name used to indicate whether the browser can take screenshots. + + + + + Capability name used to indicate whether the browser can handle alerts. + + + + + Capability name used to indicate whether the browser can find elements via CSS selectors. + + + + + Capability name used for the browser proxy. + + + + + Capability name used to indicate whether the browser supports rotation. + + + + + Capability name used to indicate whether the browser accepts SSL certificates. + + + + + Capability name used to indicate whether the browser uses native events. + + + + + Provides a way to send commands to the remote server + + + + + Initializes a new instance of the Command class using a command name and a JSON-encoded string for the parameters. + + Name of the command + Parameters for the command as a JSON-encoded string. + + + + Initializes a new instance of the Command class for a Session + + Session ID the driver is using + Name of the command + Parameters for that command + + + + Returns a string of the Command object + + A string representation of the Command Object + + + + Gets the command parameters as a , with a string key, and an object value. + + The JSON-encoded string representing the command parameters. + A with a string keys, and an object value. + + + + Gets the SessionID of the command + + + + + Gets the command name + + + + + Gets the parameters of the command + + + + + Gets the parameters of the command as a JSON-encoded string. + + + + + Provides the execution information for a . + + + + + POST verb for the command info + + + + + GET verb for the command info + + + + + DELETE verb for the command info + + + + + Initializes a new instance of the CommandInfo class + + Method of the Command + Relative URL path to the resource used to execute the command + + + + Creates a webrequest for your command + + Uri that will have the command run against + Command to execute + A web request of what has been run + + + + Gets the URL representing the path to the resource. + + + + + Gets the HTTP method associated with the command. + + + + + Holds the information about all commands specified by the JSON wire protocol. + + + + + Prevents a default instance of the class from being created. + + + + + Gets the for a . + + The for which to get the information. + The for the specified command. + + + + Gets the singleton instance of the . + + + + + Class to Create the capabilities of the browser you require for . + If you wish to use default values use the static methods + + + + + Initializes a new instance of the DesiredCapabilities class + + Name of the browser e.g. firefox, internet explorer, safari + Version of the browser + The platform it works on + + + + Initializes a new instance of the DesiredCapabilities class + + + + + Initializes a new instance of the DesiredCapabilities class + + Dictionary of items for the remotedriver + + + DesiredCapabilities capabilities = new DesiredCapabilities(new Dictionary]]>(){["browserName","firefox"],["version",string.Empty],["javaScript",true]}); + + + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilites for use with Firefox + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Internet Explorer + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with HTMLUnit + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with HTMLUnit with JS + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with iPhone + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with iPad + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Chrome + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Android + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Opera + + + + Gets a value indicating whether the browser has a given capability. + + The capability ot get. + Returns if the browser has the capability; otherwise, . + + + + Gets a capability of the browser. + + The capability to get. + An object associated with the capability, or + if the capability is not set on the browser. + + + + Sets a capability of the browser. + + The capability to get. + The value for the capability. + + + + Return HashCode for the DesiredCapabilties that has been created + + Integer of HashCode generated + + + + Return a string of capabilies being used + + String of capabilites being used + + + + Compare two DesiredCapabilities and will return either true or false + + DesiredCapabities you wish to compare + true if they are the same or false if they are not + + + + Gets the browser name + + + + + Gets or sets the platform + + + + + Gets the browser version + + + + + Gets or sets a value indicating whether the browser is javascript enabled + + + + + Gets the internal capabilities dictionary. + + + + + Values describing the list of commands understood by a remote server using the JSON wire protocol. + + + + + Represents the Define Driver Mapping command + + + + + Represents a New Session command + + + + + Represents the Get Session Capabilities command + + + + + Represents a Browser close command + + + + + Represents a browser quit command + + + + + Represents a GET command + + + + + Represents a Browser going back command + + + + + Represents a Browser going forward command + + + + + Represents a Browser refreshing command + + + + + Represents adding a cookie command + + + + + Represents getting all cookies command + + + + + Represents deleting a cookie command + + + + + Represents Deleting all cookies command + + + + + Represents findelement command + + + + + Represents findelements command + + + + + Represents findchildelements command + + + + + Represents findchildelements command + + + + + Describes an element + + + + + Represents clearelements command + + + + + Represents clickelements command + + + + + Represents hoverelements command + + + + + Represents SendKeysToElements command + + + + + Represents SubmitElement command + + + + + Represents TogleElements command + + + + + Represents findchildelements command + + + + + Represents GetWindowHandles command + + + + + Represents SwitchToWindow command + + + + + Represents SwitchToFrame command + + + + + Represents GetActiveElement command + + + + + Represents GetCurrentUrl command + + + + + Represents GetPageSource command + + + + + Represents GetTitle command + + + + + Represents ExecuteScript command + + + + + Represents ExecuteAsyncScript command + + + + + Represents GetSpeed command + + + + + Represents SetSpeed command + + + + + Represents SetBrowserVisible command + + + + + Represents IsBrowserVisible command + + + + + Represents GetElementText command + + + + + Represents GetElementValue command + + + + + Represents GetElementTagName command + + + + + Represents SetElementSelected command + + + + + Represents DragElement 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 the DismissAlert command + + + + + Represents the AcceptAlert command + + + + + Represents the GetAlertText command + + + + + Represents the SetAlertValue command + + + + + Represents the ImplicitlyWait command + + + + + Represents the SetAsyncScriptTimeout command + + + + + Represents the MouseClick command. + + + + + Represents the MouseDoubleClick command. + + + + + Represents the MouseDown command. + + + + + Represents the MouseUp command. + + + + + Represents the MouseMoveTo command. + + + + + Represents the SendKeysToActiveElement command. + + + + + Provides a way to store errors from a repsonse + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the specified values. + + A containing names and values of + the properties of this . + + + + Gets or sets the message from the reponse + + + + + Gets or sets the class name that threw the error + + + + + Gets or sets the screenshot of the error + + + + + Gets or sets the stack trace of the error + + + + + Defines the interface through which the user can manipulate JavaScript alerts. + + + + + Initializes a new instance of the class. + + The for which the alerts will be managed. + + + + Dismisses the alert. + + + + + Accepts the alert. + + + + + Sends keys to the alert. + + The keystrokes to send. + + + + Gets the text of the alert. + + + + + Defines an interface allowing the user to manipulate cookies on the current page. + + + + + Initializes a new instance of the class. + + The driver that is currently in use + + + + Method for creating a cookie in the browser + + that represents a cookie in the browser + + + + Delete the cookie by passing in the name of the cookie + + The name of the cookie that is in the browser + + + + Delete a cookie in the browser by passing in a copy of a cookie + + An object that represents a copy of the cookie that needs to be deleted + + + + Delete All Cookies that are present in the browser + + + + + Method for returning a getting a cookie by name + + name of the cookie that needs to be returned + A Cookie from the name + + + + Method for getting a Collection of Cookies that are present in the browser + + ReadOnlyCollection of Cookies in the browser + + + + Gets all cookies defined for the current page. + + + + + Defines the interface through which the user can discover where an element is on the screen. + + + + + Initializes a new instance of the class. + + The to be located. + + + + Gets the location of an element in absolute screen coordinates. + + + + + Gets the location of an element relative to the origin of the view port. + + + + + Gets the location of an element's position within the HTML DOM. + + + + + Gets a locator providing a user-defined location for this element. + + + + + Defines the interface through which the user can execute advanced keyboard interactions. + + + + + Initializes a new instance of the class. + + The for which the keyboard will be managed. + + + + Sends a sequence of keystrokes to the target. + + A string representing the keystrokes to send. + + + + Presses a key. + + The key value representing the key to press. + The key value must be one of the values from the class. + + + + Releases a key. + + The key value representing the key to release. + The key value must be one of the values from the class. + + + + Defines the interface through which the user can execute advanced mouse interactions. + + + + + Initializes a new instance of the class. + + The for which the mouse will be managed. + + + + Clicks at a set of coordinates using the primary mouse button. + + An describing where to click. + + + + Double-clicks at a set of coordinates. + + A describing where to double-click. + + + + Presses the primary mouse button at a set of coordinates. + + A describing where to press the mouse button down. + + + + Releases the primary mouse button at a set of coordinates. + + A describing where to release the mouse button. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to move the mouse to. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to click. + A horizontal offset from the coordinates specified in . + A vertical offset from the coordinates specified in . + + + + Clicks at a set of coordinates using the secondary mouse button. + + A describing where to click. + + + + Provides a mechanism for Navigating with the driver. + + + + + Initializes a new instance of the RemoteNavigator class + + Driver in use + + + + Move the browser back + + + + + Move the browser forward + + + + + Navigate to a url for your test + + String of where you want the browser to go to + + + + Navigate to a url for your test + + Uri object of where you want the browser to go to + + + + Refresh the browser + + + + + Provides a mechanism for setting options needed for the driver during the test. + + + + + Initializes a new instance of the RemoteOptions class + + Instance of the driver currently in use + + + + Provides access to the timeouts defined for this driver. + + An object implementing the interface. + + + + Gets an object allowing the user to manipulate cookies on the page. + + + + + Gets an object allowing the user to manipulate the currently-focused browser window. + + "Currently-focused" is defined as the browser window having the window handle + returned when IWebDriver.CurrentWindowHandle is called. + + + + Provides a mechanism for finding elements on the page with locators. + + + + + Initializes a new instance of the RemoteTargetLocator class + + The driver that is currently in use + + + + Move to a different frame using its index + + The index of the + A WebDriver instance that is currently in use + + + + Move to different frame using its name + + name of the frame + A WebDriver instance that is currently in use + + + + Move to a frame element. + + a previously found FRAME or IFRAME element. + A WebDriver instance that is currently in use. + + + + Change to the Window by passing in the name + + name of the window that you wish to move to + A WebDriver instance that is currently in use + + + + Change the active frame to the default + + Element of the default + + + + Finds the active element on the page and returns it + + Element that is active + + + + Switches to the currently active modal dialog for this particular driver instance. + + A handle to the dialog. + + + + Defines the interface through which the user can define timeouts. + + + + + Initializes a new instance of the RemoteTimeouts class + + The driver that is currently in use + + + + Specifies the amount of time the driver should wait when searching for an + element if it is not immediately present. + + A structure defining the amount of time to wait. + A self reference + + When searching for a single element, the driver should poll the page + until the element has been found, or this timeout expires before throwing + a . When searching for multiple elements, + the driver should poll the page until at least one element has been found + or this timeout has expired. + + Increasing the implicit wait timeout should be used judiciously as it + will have an adverse effect on test run time, especially when used with + slower location strategies like XPath. + + + + + + Specifies the amount of time the driver should wait when executing JavaScript asynchronously. + + A structure defining the amount of time to wait. + A self reference + + + + Defines the interface through which the user can manipulate the browser window. + + + + + Initializes a new instance of the class. + + Instance of the driver currently in use + + + + Gets or sets the position of the browser window relative to the upper-left corner of the screen. + + When setting this property, it should act as the JavaScript window.moveTo() method. + + + + Gets or sets ths size of the outer browser window, including title bars and window borders. + + When setting this property, it should act as the JavaScript window.resizeTo() method. + + + + Handles reponses from the browser + + + + + Initializes a new instance of the Response class + + + + + Initializes a new instance of the Response class + + Session ID in use + + + + Returns a new from a JSON-encoded string. + + The JSON string to deserialize into a . + A object described by the JSON string. + + + + Returns this object as a JSON-encoded string. + + A JSON-encoded string representing this object. + + + + Returns the object as a string. + + A string with the Session ID, status value, and the value from JSON. + + + + Gets or sets the value from JSON. + + + + + Gets or sets the session ID. + + + + + Gets or sets the status value of the response. + + + + + Provides a mechanism for maintaining a session for a test + + + + + Initializes a new instance of the SessionId class + + Key for the session in use + + + + Get the value of the key + + The key in use + + + + Get the hashcode of the key + + The hashcode of the key + + + + Compares two Sessions + + Session to compare + True if they are equal or False if they are not + + + + Gives properties to get a stack trace + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the given property values. + + A containing the names and values for the properties of this . + + + + Gets a string representation of the object. + + A string representation of the object. + + + + Gets or sets the value of the filename in the stack + + + + + Gets or sets the value of the Class name in the stack trace + + + + + Gets or sets the line number + + + + + Gets or sets the Method name in the stack trace + + + + + Provides a way to convert a Char arry to JSON + + + + + Checks if the object can be converted + + Type of the object to see if can be converted + True if can be converted else false + + + + Writes the Object to JSON + + A JSON Writer object + Object to be converted + JSON Serializer object instance + + + + Method not implemented + + JSON Reader instance + Object type being read + Existing Value to be read + JSON Serializer instance + Object from JSON + + + + Provides a way to convert Cookies to JSON and back + + + + + Checks if the object can be converted + + Type of the object + A value indicating if it can be converted + + + + Get the platform from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Created a cookie from the JSON string + + The JSON writer with a string + Value of the string + JSON serializer instance + + + + Provides a way to convert DesiredCapabilities objects to JSON and back + + + + + Checks if the object can be converted + + Type of the object + A value indicating if it can be converted + + + + Get the capabilities from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Creates a JSON string representing the DesiredCapabilities object + + The JSON writer with a string + Value of the string + JSON serializer instance + + + + Provides a mechanism to get the platform from JSON and write the platform + + + + + Checks if the type can be converted + + Object type to be converted + A value indicating if it can be converted + + + + Get the platform from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Writes the platform to JSON + + JSON Writer instance + the platform + JSON Serializer Instance + + + + Provides a way to convert a arry to JSON + + + + + Checks if the object can be converted + + Type of the object + A value indicating if it can be converted + + + + Get the platform from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Create a JSON string representation of the Proxy + + The JSON writer with a string + Value of the string + JSON serializer instance + + + + Converts the response to JSON + + + + + Checks if the object can be converted + + The object to be converted + True if it can be converted or false if can't be + + + + Pricess the reader to return an object from JSON + + A JSON reader + Type of the object + The existing value of the object + JSON Serializer + Object created from JSON + + + + Writes objects to JSON. Currently not implemented + + JSON Writer Object + Value to be written + JSON Serializer + + + diff --git a/packages/Selenium.WebDriver.2.15.0/lib/net40/WebDriver.dll b/packages/Selenium.WebDriver.2.15.0/lib/net40/WebDriver.dll new file mode 100644 index 000000000..f629fafc8 Binary files /dev/null and b/packages/Selenium.WebDriver.2.15.0/lib/net40/WebDriver.dll differ diff --git a/packages/Selenium.WebDriver.2.15.0/lib/net40/WebDriver.xml b/packages/Selenium.WebDriver.2.15.0/lib/net40/WebDriver.xml new file mode 100644 index 000000000..72d805c74 --- /dev/null +++ b/packages/Selenium.WebDriver.2.15.0/lib/net40/WebDriver.xml @@ -0,0 +1,6697 @@ + + + + WebDriver + + + + + Provides a mechanism by which to find elements within a document. + + It is possible to create your own locating mechanisms for finding documents. + In order to do this,subclass this class and override the protected methods. However, + it is expected that that all subclasses rely on the basic finding mechanisms provided + through static methods of this class. An example of this can be found in OpenQA.Support.ByIdOrName + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the given functions to find elements. + + A function that takes an object implementing + and returns the found . + A function that takes an object implementing + and returns a of the foundIWebElements. + IWebElements/>. + + + + Gets a mechanism to find elements by their ID. + + The ID to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their link text. + + The link text to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their name. + + The name to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by an XPath query. + + The XPath query to use. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their CSS class. + + The CSS class to find. + A object the driver can use to find the elements. + If an element has many classes then this will match against each of them. + For example if the value is "one two onone", then the following values for the + className parameter will match: "one" and "two". + + + + Gets a mechanism to find elements by a partial match on their link text. + + The partial link text to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their tag name. + + The tag name to find. + A object the driver can use to find the elements. + + + + Gets a mechanism to find elements by their cascading stylesheet (CSS) selector. + + The CSS selector to find. + A object the driver can use to find the elements. + + + + Finds the first element matching the criteria. + + An object to use to search for the elements. + The first matching on the current context. + + + + Finds all elements matching the criteria. + + An object to use to search for the elements. + A of all WebElements + matching the current criteria, or an empty list if nothing matches. + + + + Gets a string representation of the finder. + + The string displaying the finder content. + + + + Determines whether the specified Object is equal + to the current Object. + + The Object to compare with the + current Object. + if the specified Object + is equal to the current Object; otherwise, + . + + + + Serves as a hash function for a particular type. + + A hash code for the current Object. + + + + Gets or sets the value of the description for this class instance. + + + + + Gets or sets the method used to find a single element matching specified criteria. + + + + + Gets or sets the method used to find all elements matching specified criteria. + + + + + Represents a cookie in the browser. + + + + + Initializes a new instance of the class with a specific name, + value, domain, path and expiration date. + + The name of the cookie. + The value of the cookie. + The domain of the cookie. + The path of the cookie. + The expiration date of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Initializes a new instance of the class with a specific name, + value, path and expiration date. + + The name of the cookie. + The value of the cookie. + The path of the cookie. + The expiration date of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Initializes a new instance of the class with a specific name, + value, and path. + + The name of the cookie. + The value of the cookie. + The path of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Initializes a new instance of the class with a specific name and value. + + The name of the cookie. + The value of the cookie. + If the name is or an empty string, + or if it contains a semi-colon. + If the value is . + + + + Creates and returns a string representation of the cookie. + + A string representation of the cookie. + + + + Determines whether the specified Object is equal + to the current Object. + + The Object to compare with the + current Object. + if the specified Object + is equal to the current Object; otherwise, + . + + + + Serves as a hash function for a particular type. + + A hash code for the current Object. + + + + Gets the name of the cookie. + + + + + Gets the value of the cookie. + + + + + Gets the domain of the cookie. + + + + + Gets the path of the cookie. + + + + + Gets a value indicating whether the cookie is secure. + + + + + Gets the expiration date of the cookie. + + + + + The exception that is thrown when an element is not visible. + + + + + Represents exceptions that are thrown when an error occurs during actions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Defines the interface through which the user can manipulate JavaScript alerts. + + + + + Dismisses the alert. + + + + + Accepts the alert. + + + + + Sends keys to the alert. + + The keystrokes to send. + + + + Gets the text of the alert. + + + + + Capabilities of the browser that you are going to use + + + + + Gets a value indicating whether the browser has a given capability. + + The capability ot get. + Returns if the browser has the capability; otherwise, . + + + + Gets a capability of the browser. + + The capability to get. + An object associated with the capability, or + if the capability is not set on the browser. + + + + Gets the browser name + + + + + Gets the platform + + + + + Gets the browser version + + + + + Gets a value indicating whether the browser is JavaScript enabled + + + + + Defines an interface allowing the user to manipulate cookies on the current page. + + + + + Adds a cookie to the current page. + + The object to be added. + + + + Gets a cookie with the specified name. + + The name of the cookie to retrieve. + The containing the name. Returns + if no cookie with the specified name is found. + + + + Deletes the specified cookie from the page. + + The to be deleted. + + + + Deletes the cookie with the specified name from the page. + + The name of the cookie to be deleted. + + + + Deletes all cookies from the page. + + + + + Gets all cookies defined for the current page. + + + + + Defines the interface through which the user can determine the capabilities of a driver. + + + + + Gets the object describing the driver's capabilities. + + + + + Provides access to input devices for advanced user interactions. + + + + + Gets an object for sending keystrokes to the browser. + + + + + Gets an object for sending mouse commands to the browser. + + + + + Defines the interface through which the user can execute JavaScript. + + + + + Executes JavaScript in the context of the currently selected frame or window. + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + The method executes JavaScript in the context of + the currently selected frame or window. This means that "document" will refer + to the current document. If the script has a return value, then the following + steps will be taken: + + + + For an HTML element, this method returns a + For a number, a is returned + For a boolean, a is returned + For all other cases a is returned. + For an array,we check the first element, and attempt to return a + of that type, following the rules above. Nested lists are not + supported. + If the value is null or there is no return value, + is returned. + + + + Arguments must be a number (which will be converted to a ), + a , a or a . + An exception will be thrown if the arguments do not meet these criteria. + The arguments will be made available to the JavaScript via the "arguments" magic + variable, as if the function were called via "Function.apply" + + + + + + Executes JavaScript asynchronously in the context of the currently selected frame or window. + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + + Provides methods representing basic keyboard actions. + + + + + Sends a sequence of keystrokes to the target. + + A string representing the keystrokes to send. + + + + Presses a key. + + The key value representing the key to press. + The key value must be one of the values from the class. + + + + Releases a key. + + The key value representing the key to release. + The key value must be one of the values from the class. + + + + The exception that is thrown when an attempt is made to locate an item using invalid criteria. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Defines the interface through which the user can discover where an element is on the screen. + + + + + Gets the location of an element on the screen, scrolling it into view + if it is not currently on the screen. + + + + + Gets the coordinates identifying the location of this element using + various frames of reference. + + + + + Provides methods representing basic mouse actions. + + + + + Clicks at a set of coordinates using the primary mouse button. + + An describing where to click. + + + + Double-clicks at a set of coordinates. + + A describing where to double-click. + + + + Presses the primary mouse button at a set of coordinates. + + A describing where to press the mouse button down. + + + + Releases the primary mouse button at a set of coordinates. + + A describing where to release the mouse button. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to move the mouse to. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to click. + A horizontal offset from the coordinates specified in . + A vertical offset from the coordinates specified in . + + + + Clicks at a set of coordinates using the secondary mouse button. + + A describing where to click. + + + + Defines an interface allowing the user to access the browser's history and to + navigate to a given URL. + + + + + Move back a single entry in the browser's history. + + + + + Move a single "item" forward in the browser's history. + + Does nothing if we are on the latest page viewed. + + + + Load a new web page in the current browser window. + + The URL to load. It is best to use a fully qualified URL + + Calling the method will load a new web page in the current browser window. + This is done using an HTTP GET operation, and the method will block until the + load is complete. This will follow redirects issued either by the server or + as a meta-redirect from within the returned HTML. Should a meta-redirect "rest" + for any duration of time, it is best to wait until this timeout is over, since + should the underlying page change while your test is executing the results of + future calls against this interface will be against the freshly loaded page. + + + + + Load a new web page in the current browser window. + + The URL to load. + + Calling the method will load a new web page in the current browser window. + This is done using an HTTP GET operation, and the method will block until the + load is complete. This will follow redirects issued either by the server or + as a meta-redirect from within the returned HTML. Should a meta-redirect "rest" + for any duration of time, it is best to wait until this timeout is over, since + should the underlying page change while your test is executing the results of + future calls against this interface will be against the freshly loaded page. + + + + + Refreshes the current page. + + + + + The exception that is thrown when the users attempts to set a cookie with an invalid domain. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when a reference to an element is no longer valid. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when an element is not visible. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Defines an interface allowing the user to set options on the browser. + + + + + Provides access to the timeouts defined for this driver. + + An object implementing the interface. + + + + Gets an object allowing the user to manipulate cookies on the page. + + + + + Gets an object allowing the user to manipulate the currently-focused browser window. + + "Currently-focused" is defined as the browser window having the window handle + returned when IWebDriver.CurrentWindowHandle is called. + + + + Represents rotation of the browser view for orientation-sensitive devices. + When using this with a real device, the device should not be moved so that + the built-in sensors do not interfere. + + + + + Gets or sets the screen orientation of the browser on the device. + + + + + Defines the interface used to search for elements. + + + + + Finds the first using the given method. + + The locating mechanism to use. + The first matching on the current context. + If no element matches the criteria. + + + + Finds all IWebElements within the current context + using the given mechanism. + + The locating mechanism to use. + A of all WebElements + matching the current criteria, or an empty list if nothing matches. + + + + Defines the interface used to take screen shot images of the screen. + + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Defines the interface through which the user can locate a given frame or window. + + + + + Select a frame by its (zero-based) index. + + The zero-based index of the frame to select. + An instance focused on the specified frame. + If the frame cannot be found. + + + + Select a frame by its name or ID. + + The name of the frame to select. + An instance focused on the specified frame. + If the frame cannot be found. + + + + Select a frame using its previously located + + The frame element to switch to. + An instance focused on the specified frame. + If the element is neither a FRAME nor an IFRAME element. + If the element is no longer valid. + + + + Switches the focus of future commands for this driver to the window with the given name. + + The name of the window to select. + An instance focused on the given window. + If the window cannot be found. + + + + Selects either the first frame on the page or the main document when a page contains iframes. + + An instance focused on the default frame. + + + + Switches to the element that currently has the focus, or the body element + if no element with focus can be detected. + + An instance representing the element + with the focus, or the body element if no element with focus can be detected. + + + + Switches to the currently active modal dialog for this particular driver instance. + + A handle to the dialog. + + + + Defines the interface through which the user can define timeouts. + + + + + Specifies the amount of time the driver should wait when searching for an + element if it is not immediately present. + + A structure defining the amount of time to wait. + A self reference + + When searching for a single element, the driver should poll the page + until the element has been found, or this timeout expires before throwing + a . When searching for multiple elements, + the driver should poll the page until at least one element has been found + or this timeout has expired. + + Increasing the implicit wait timeout should be used judiciously as it + will have an adverse effect on test run time, especially when used with + slower location strategies like XPath. + + + + + + Specifies the amount of time the driver should wait when executing JavaScript asynchronously. + + A structure defining the amount of time to wait. + A self reference + + + + Defines the interface through which the user controls the browser. + + + The interface is the main interface to use for testing, which + represents an idealised web browser. The methods in this class fall into three categories: + + Control of the browser itself + Selection of IWebElements + Debugging aids + + + Key properties and methods are , which is used to + load a new web page by setting the property, and the various methods similar + to , which is used to find IWebElements. + + + You use the interface by instantiate drivers that implement of this interface. + You should write your tests against this interface so that you may "swap in" a + more fully featured browser when there is a requirement for one. + + + + + + Close the current window, quitting the browser if it is the last window currently open. + + + + + Quits this driver, closing every associated window. + + + + + Instructs the driver to change its settings. + + An object allowing the user to change + the settings of the driver. + + + + Instructs the driver to navigate the browser to another location. + + An object allowing the user to access + the browser's history and to navigate to a given URL. + + + + Instructs the driver to send future commands to a different frame or window. + + An object which can be used to select + a frame or window. + + + + Gets or sets the URL the browser is currently displaying. + + + Setting the property will load a new web page in the current browser window. + This is done using an HTTP GET operation, and the method will block until the + load is complete. This will follow redirects issued either by the server or + as a meta-redirect from within the returned HTML. Should a meta-redirect "rest" + for any duration of time, it is best to wait until this timeout is over, since + should the underlying page change while your test is executing the results of + future calls against this interface will be against the freshly loaded page. + + + + + + + Gets the title of the current browser window. + + + + + Gets the source of the page last loaded by the browser. + + + If the page has been modified after loading (for example, by JavaScript) + there is no guarentee that the returned text is that of the modified page. + Please consult the documentation of the particular driver being used to + determine whether the returned text reflects the current state of the page + or the text last sent by the web server. The page source returned is a + representation of the underlying DOM: do not expect it to be formatted + or escaped in the same way as the response sent from the web server. + + + + + Gets the current window handle, which is an opaque handle to this + window that uniquely identifies it within this driver instance. + + + + + Gets the window handles of open browser windows. + + + + + Defines the interface through which the user controls elements on the page. + + The interface represents an HTML element. + Generally, all interesting operations to do with interacting with a page will + be performed through this interface. + + + + + Clears the content of this element. + + If this element is a text entry element, the + method will clear the value. It has no effect on other elements. Text entry elements + are defined as elements with INPUT or TEXTAREA tags. + Thrown when the target element is no longer valid in the document DOM. + + + + Simulates typing text into the element. + + The text to type into the element. + The text to be typed may include special characters like arrow keys, + backspaces, function keys, and so on. Valid special keys are defined in + . + + Thrown when the target element is not enabled. + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Submits this element to the web server. + + If this current element is a form, or an element within a form, + then this will be submitted to the web server. If this causes the current + page to change, then this method will block until the new page is loaded. + Thrown when the target element is no longer valid in the document DOM. + + + + Clicks this element. + + + + Click this element. If the click causes a new page to load, the + method will attempt to block until the page has loaded. After calling the + method, you should discard all references to this + element unless you know that the element and the page will still be present. + Otherwise, any further operations performed on this element will have an undefined. + behavior. + + + If this element is not clickable, then this operation is ignored. This allows you to + simulate a users to accidentally missing the target when clicking. + + + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of the specified attribute for this element. + + The name of the attribute. + The attribute's current value. Returns a if the + value is not set. + The method will return the current value + of the attribute, even if the value has been modified after the page has been + loaded. Note that the value of the following attributes will be returned even if + there is no explicit attribute on the element: + + + Attribute name + Value returned if not explicitly specified + Valid element types + + + checked + checked + Check Box + + + selected + selected + Options in Select elements + + + disabled + disabled + Input and other UI elements + + + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of a CSS property of this element. + + The name of the CSS property to get the value of. + The value of the specified CSS property. + The value returned by the + method is likely to be unpredictable in a cross-browser environment. + Color values should be returned as hex strings. For example, a + "background-color" property set as "green" in the HTML source, will + return "#008000" for its value. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the tag name of this element. + + + The property returns the tag name of the + element, not the value of the name attribute. For example, it will return + "input" for an element specifiedby the HTML markup <input name="foo" />. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the innerText of this element, without any leading or trailing whitespace, + and with other whitespace collapsed. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is enabled. + + The property will generally + return for everything except explicitly disabled input elements. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is selected. + + This operation only applies to input elements such as checkboxes, + options in a select element and radio buttons. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containgin the coordinates of the upper-left corner + of this element relative to the upper-left corner of the page. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containing the height and width of this element. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is displayed. + + The property avoids the problem + of having to parse an element's "style" attribute to determine + visibility of an element. + Thrown when the target element is no longer valid in the document DOM. + + + + Provides methods for getting and setting the size and position of the browser window. + + + + + Gets or sets the position of the browser window relative to the upper-left corner of the screen. + + When setting this property, it should act as the JavaScript window.moveTo() method. + + + + Gets or sets ths size of the outer browser window, including title bars and window borders. + + When setting this property, it should act as the JavaScript window.resizeTo() method. + + + + Representations of pressable keys that are not text keys for sending to the browser. + + + + + Represents the NUL keystroke. + + + + + Represents the Cancel keystroke. + + + + + Represents the Help keystroke. + + + + + Represents the Backspace key. + + + + + Represents the Tab key. + + + + + Represents the Clear keystroke. + + + + + Represents the Return key. + + + + + Represents the Enter key. + + + + + Represents the Shift key. + + + + + Represents the Shift key. + + + + + Represents the Control key. + + + + + Represents the Control key. + + + + + Represents the Alt key. + + + + + Represents the Alt key. + + + + + Represents the Pause key. + + + + + Represents the Escape key. + + + + + Represents the Spacebar key. + + + + + Represents the Page Up key. + + + + + Represents the Page Down key. + + + + + Represents the End key. + + + + + Represents the Home key. + + + + + Represents the left arrow key. + + + + + Represents the left arrow key. + + + + + Represents the up arrow key. + + + + + Represents the up arrow key. + + + + + Represents the right arrow key. + + + + + Represents the right arrow key. + + + + + Represents the Left arrow key. + + + + + Represents the Left arrow key. + + + + + Represents the Insert key. + + + + + Represents the Delete key. + + + + + Represents the semi-colon key. + + + + + Represents the equal sign key. + + + + + Represents the number pad 0 key. + + + + + Represents the number pad 1 key. + + + + + Represents the number pad 2 key. + + + + + Represents the number pad 3 key. + + + + + Represents the number pad 4 key. + + + + + Represents the number pad 5 key. + + + + + Represents the number pad 6 key. + + + + + Represents the number pad 7 key. + + + + + Represents the number pad 8 key. + + + + + Represents the number pad 9 key. + + + + + Represents the number pad multiplication key. + + + + + Represents the number pad addition key. + + + + + Represents the number pad thousands separator key. + + + + + Represents the number pad subtraction key. + + + + + Represents the number pad decimal separator key. + + + + + Represents the number pad division key. + + + + + Represents the function key F1. + + + + + Represents the function key F2. + + + + + Represents the function key F3. + + + + + Represents the function key F4. + + + + + Represents the function key F5. + + + + + Represents the function key F6. + + + + + Represents the function key F7. + + + + + Represents the function key F8. + + + + + Represents the function key F9. + + + + + Represents the function key F10. + + + + + Represents the function key F12. + + + + + Represents the function key F12. + + + + + Represents the function key META. + + + + + Represents the function key COMMAND. + + + + + The exception that is thrown when an alert is not found. + + + + + 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. + + + + + The exception that is thrown when an item is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when a frame is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when a window is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Represents the known and supported Platforms that WebDriver runs on. + + The class maps closely to the Operating System, + but differs slightly, because this class is used to extract information such as + program locations and line endings. + + + + Any platform. This value is never returned by a driver, but can be used to find + drivers with certain capabilities. + + + + + Any version of Microsoft Windows. This value is never returned by a driver, + but can be used to find drivers with certain capabilities. + + + + + Any Windows NT-based version of Microsoft Windows. This value is never returned + by a driver, but can be used to find drivers with certain capabilities. This value + is equivalent to PlatformType.Windows. + + + + + Versions of Microsoft Windows that are compatible with Windows XP. + + + + + Versions of Microsoft Windows that are compatible with Windows Vista. + + + + + Any version of the Macintosh OS + + + + + Any version of the Unix operating system. + + + + + Any version of the Linux operating system. + + + + + Represents the platform on which tests are to be run. + + + + + Initializes a new instance of the class for a specific platform type. + + The platform type. + + + + Compares the platform to the specified type. + + A value to compare to. + if the platforms match; otherwise . + + + + Gets the current platform. + + + + + Gets the major version of the platform operating system. + + + + + Gets the major version of the platform operating system. + + + + + Gets the type of the platform. + + + + + Describes the kind of proxy. + + + Keep these in sync with the Firefox preferences numbers: + http://kb.mozillazine.org/Network.proxy.type + + + + + Direct connection, no proxy (default on Windows). + + + + + Manual proxy settings (e.g., for httpProxy). + + + + + Proxy autoconfiguration from URL. + + + + + Use proxy autodetection. + + + + + Use the system values for proxy settings (default on Linux). + + + + + No proxy type is specified. + + + + + Describes proxy settings to be used with a driver instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the given proxy settings. + + A dictionary of settings to use with the proxy. + + + + Gets or sets the type of proxy. + + + + + Gets or sets a value indicating whether the proxy uses autodetection. + + + + + Gets or sets the value of the proxy for the FTP protocol. + + + + + Gets or sets the value of the proxy for the HTTP protocol. + + + + + Gets or sets the value for when no proxy is specified. + + + + + Gets or sets the URL used for proxy autoconfiguration. + + + + + Gets or sets the value of the proxy for the SSL protocol. + + + + + Represents possible screen orientations. + + + + + Represents a portrait mode, where the screen is vertical. + + + + + Represents Landscape mode, where the screen is horizontal. + + + + + Represents an image of the page currently loaded in the browser. + + + + + Initializes a new instance of the class. + + The image of the page as a Base64-encoded string. + + + + Saves the screenshot to a file, overwriting the file if it already exists. + + The full path and file name to save the screenshot to. + A object indicating the format + to save the image to. + + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + + Gets the value of the screenshot image as a Base64-encoded string. + + + + + Gets the value of the screenshot image as an array of bytes. + + + + + The exception that is thrown when a reference to an element is no longer valid. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when the user is unable to set a cookie. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + The exception that is thrown when an unhandled alert is present. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Specifies return values for actions in the driver. + + + + + The action was successful. + + + + + The index specified for the action was out of the acceptable range. + + + + + No collection was specified. + + + + + No string was specified. + + + + + No string length was specified. + + + + + No string wrapper was specified. + + + + + No driver matching the criteria exists. + + + + + No element matching the criteria exists. + + + + + No frame matching the criteria exists. + + + + + The functionality is not supported. + + + + + The specified element is no longer valid. + + + + + The specified element is not displayed. + + + + + The specified element is not enabled. + + + + + An unhandled error occurred. + + + + + An error occurred, but it was expected. + + + + + The specified element is not selected. + + + + + No document matching the criteria exists. + + + + + An unexpected JavaScript error occurred. + + + + + No result is available from the JavaScript execution. + + + + + The result from the JavaScript execution is not recognized. + + + + + No collection matching the criteria exists. + + + + + A timeout occurred. + + + + + A null pointer was received. + + + + + No window matching the criteria exists. + + + + + An illegal attempt was made to set a cookie under a different domain than the current page. + + + + + A request to set a cookie's value could not be satisfied. + + + + + An alert was found open unexpectedly. + + + + + A request was made to switch to an alert, but no alert is currently open. + + + + + An asynchronous JavaScript execution timed out. + + + + + The coordinates of the element are invalid. + + + + + The selector used (CSS/XPath) was invalid. + + + + + The exception that is thrown when an error occurs during an XPath lookup. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, + or if no inner exception is specified. + + + + Initializes a new instance of the class with serialized data. + + The that holds the serialized + object data about the exception being thrown. + The that contains contextual + information about the source or destination. + + + + Provides a mechanism to write tests against an Android device + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new AndroidDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + Using the Android driver requires the Android device or emulator + to be running, and the WebDriver application be active on the device. + + + + + Provides a way to use the driver through + + /// + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer()); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + + + Defines the interface through which the user finds elements by their ID. + + + + + Finds the first element matching the specified id. + + The id to match. + The first matching the criteria. + + + + Finds all elements matching the specified id. + + The id to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their CSS class. + + + + + Finds the first element matching the specified CSS class. + + The CSS class to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS class. + + The CSS class to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their link text. + + + + + Finds the first element matching the specified link text. + + The link text to match. + The first matching the criteria. + + + + Finds all elements matching the specified link text. + + The link text to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their name. + + + + + Finds the first element matching the specified name. + + The name to match. + The first matching the criteria. + + + + Finds all elements matching the specified name. + + The name to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their tag name. + + + + + Finds the first element matching the specified tag name. + + The tag name to match. + The first matching the criteria. + + + + Finds all elements matching the specified tag name. + + The tag name to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by XPath. + + + + + Finds the first element matching the specified XPath query. + + The XPath query to match. + The first matching the criteria. + + + + Finds all elements matching the specified XPath query. + + The XPath query to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by a partial match on their link text. + + + + + Finds the first element matching the specified partial link text. + + The partial link text to match. + The first matching the criteria. + + + + Finds all elements matching the specified partial link text. + + The partial link text to match. + A containing all + IWebElements matching the criteria. + + + + Defines the interface through which the user finds elements by their cascading stylesheet (CSS) selector. + + + + + Finds the first element matching the specified CSS selector. + + The id to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS selector. + + The CSS selector to match. + A containing all + IWebElements matching the criteria. + + + + Initializes a new instance of the RemoteWebDriver class + + An object which executes commands for the driver. + An object containing the desired capabilities of the browser. + + + + Initializes a new instance of the RemoteWebDriver class. This constructor defaults proxy to http://127.0.0.1:4444/wd/hub + + An object containing the desired capabilities of the browser. + + + + Initializes a new instance of the RemoteWebDriver class + + URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub). + An object containing the desired capabilities of the browser. + + + + Initializes a new instance of the RemoteWebDriver class using the specified remote address, desired capabilties, and command timeout. + + URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub). + An object containing the desired capabilities of the browser. + The maximum amount of time to wait for each command. + + + + Finds the first element in the page that matches the object + + By mechanism to find the object + IWebElement object so that you can interction that object + + + IWebDriver driver = new InternetExplorerDriver(); + IWebElement elem = driver.FindElement(By.Name("q")); + + + + + + Finds the elements on the page by using the object and returns a ReadOnlyCollection of the Elements on the page + + By mechanism to find the element + ReadOnlyCollection of IWebElement + + + IWebDriver driver = new InternetExplorerDriver(); + ReadOnlyCollection]]> classList = driver.FindElements(By.ClassName("class")); + + + + + + Closes the Browser + + + + + Close the Browser and Dispose of WebDriver + + + + + Method For getting an object to set the Speen + + Returns an IOptions object that allows the driver to set the speed and cookies and getting cookies + + + + IWebDriver driver = new InternetExplorerDriver(); + driver.Manage().GetCookies(); + + + + + + Method to allow you to Navigate with WebDriver + + Returns an INavigation Object that allows the driver to navigate in the browser + + + IWebDriver driver = new InternetExplorerDriver(); + driver.Navigate().GoToUrl("http://www.google.co.uk"); + + + + + + Method to give you access to switch frames and windows + + Returns an Object that allows you to Switch Frames and Windows + + + IWebDriver driver = new InternetExplorerDriver(); + driver.SwitchTo().Frame("FrameName"); + + + + + + Executes JavaScript in the context of the currently selected frame or window + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + + Executes JavaScript asynchronously in the context of the currently selected frame or window. + + The JavaScript code to execute. + The arguments to the script. + The value returned by the script. + + + + Finds the first element in the page that matches the ID supplied + + ID of the element + IWebElement object so that you can interction that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementById("id") + + + + + + Finds the first element in the page that matches the ID supplied + + ID of the Element + ReadOnlyCollection of Elements that match the object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsById("id") + + + + + + Finds the first element in the page that matches the CSS Class supplied + + className of the + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementByClassName("classname") + + + + + + Finds a list of elements that match the classname supplied + + CSS class Name on the element + ReadOnlyCollection of IWebElement object so that you can interact with those objects + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname") + + + + + + Finds the first of elements that match the link text supplied + + Link text of element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByLinkText("linktext") + + + + + + Finds a list of elements that match the link text supplied + + Link text of element + ReadOnlyCollection]]> object so that you can interact with those objects + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname") + + + + + + Finds the first of elements that match the part of the link text supplied + + part of the link text + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByPartialLinkText("partOfLink") + + + + + + Finds a list of elements that match the classname supplied + + part of the link text + ReadOnlyCollection]]> objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByPartialLinkText("partOfTheLink") + + + + + + Finds the first of elements that match the name supplied + + Name of the element on the page + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + elem = driver.FindElementsByName("name") + + + + + + Finds a list of elements that match the name supplied + + Name of element + ReadOnlyCollect of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByName("name") + + + + + + Finds the first of elements that match the DOM Tag supplied + + DOM tag Name of the element being searched + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByTagName("tag") + + + + + + Finds a list of elements that match the DOM Tag supplied + + DOM tag Name of element being searched + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByTagName("tag") + + + + + + Finds the first of elements that match the XPath supplied + + xpath to the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByXPath("//table/tbody/tr/td/a"); + + + + + + Finds a list of elements that match the XPath supplied + + xpath to the element + ReadOnlyCollection of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByXpath("//tr/td/a") + + + + + + Finds the first element matching the specified CSS selector. + + The CSS selector to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS selector. + + The CSS selector to match. + A containing all + IWebElements matching the criteria. + + + + Dispose the RemoteWebDriver Instance + + + + + Executes commands with the driver + + Command that needs executing + Parameters needed for the command + WebDriver Response + + + + Find the element in the response + + Reponse from the browser + Element from the page + + + + Finds the elements that are in the response + + Response from the browser + Collection of elements + + + + Stops the client from running + + if its in the process of disposing + + + + Starts a session with the driver + + Capabilities of the browser + + + + Executes a command with this driver . + + A value representing the command to execute. + A containing the names and values of the parameters of the command. + A containing information about the success or failure of the command and any data returned by the command. + + + + Starts the command executor, enabling communication with the browser. + + + + + Stops the command executor, ending further communication with the browser. + + + + + Finds an element matching the given mechanism and value. + + The mechanism by which to find the element. + The value to use to search for the element. + The first matching the given criteria. + + + + Finds all elements matching the given mechanism and value. + + The mechanism by which to find the elements. + The value to use to search for the elements. + A collection of all of the IWebElements matchings the given criteria. + + + + Creates a with the specified ID. + + The ID of this element. + A with the specified ID. + + + + Gets or sets the URL the browser is currently displaying. + + + + + + + + Gets the title of the current browser window. + + + + + Gets the source of the page last loaded by the browser. + + + + + Gets the current window handle, which is an opaque handle to this + window that uniquely identifies it within this driver instance. + + + + + Gets the window handles of open browser windows. + + + + + Gets an object for sending keystrokes to the browser. + + + + + Gets an object for sending mouse commands to the browser. + + + + + Gets the capabilities that the RemoteWebDriver instance is currently using + + + + + Gets the which executes commands for this driver. + + + + + Gets the for the current session of this driver. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + communicating with the device at a specific URL. + + The URL of the WebDriver application on the Android device. + + + + Initializes a new instance of the class, + communicating with the device at a specific URL. + + The URL of the WebDriver application on the Android device. + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Gets or sets the screen orientation of the browser on the device. + + + + + Provides a mechanism to execute commands on the browser + + + + + Provides a way of executing Commands over HTTP + + + + + Provides a way to send commands to the remote server + + + + + Executes a command + + The command you wish to execute + A response from the browser + + + + Initializes a new instance of the HttpCommandExecutor class + + Address of the WebDriver Server + The timeout within which the server must respond. + + + + Executes a command + + The command you wish to execute + A response from the browser + + + + Initializes a new instance of the class. + + The that drives the browser. + The maximum amount of time to wait for each command. + + + + Starts the . + + + + + Stops the . + + + + + Provides a mechanism to write tests against Chrome + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new ChromeDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + + + Accept untrusted SSL Certificates + + + + + Initializes a new instance of the ChromeDriver class. + + + + + Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe. + + The full path to the directory containing ChromeDriver.exe. + + + + Initializes a new instance of the ChromeDriver class using the capabilities. + + The desired capabilities of the Chrome driver. + + + + Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe and capabilities. + + The full path to the directory containing ChromeDriver.exe. + The desired capabilities of the Chrome driver. + + + + Initializes a new instance of the ChromeDriver class using the specified path to the directory containing ChromeDriver.exe, command timeout, and capabilities. + + The full path to the directory containing ChromeDriver.exe. + The desired capabilities of the Chrome driver. + The maximum amount of time to wait for each command. + + + + Initializes a new instance of the ChromeDriver class using the specified . + + The to use. + The desired capabilities of 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. + + + + By default will try to load Chrome from system property + webdriver.chrome.bin and the extension from + webdriver.chrome.extensiondir. If the former fails, will try to guess the + path to Chrome. If the latter fails, will try to unzip from the JAR we + hope we're in. If these fail, throws exceptions. + + + + + Kills the started Chrome process and ChromeCommandExecutor if they exist + + + + + 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. + + + + Releases all resources associated with this . + + + + + Starts the ChromeDriverService. + + + + + Stops the ChromeDriverService. + + + + + Gets the Uri of the service. + + + + + Gets a value indicating whether the service is running. + + + + + Provides a mechanism to get elements off the page for test + + + + + RemoteWebElement allows you to have access to specific items that are found on the page + + + + + + + Defines the interface through which the user can access the driver used to find an element. + + + + + Gets the used to find this element. + + + + + Initializes a new instance of the class. + + The instance hosting this element. + The ID assigned to the element. + + + + Clears the content of this element. + + If this element is a text entry element, the + method will clear the value. It has no effect on other elements. Text entry elements + are defined as elements with INPUT or TEXTAREA tags. + Thrown when the target element is no longer valid in the document DOM. + + + + Simulates typing text into the element. + + The text to type into the element. + The text to be typed may include special characters like arrow keys, + backspaces, function keys, and so on. Valid special keys are defined in + . + + Thrown when the target element is not enabled. + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Submits this element to the web server. + + If this current element is a form, or an element within a form, + then this will be submitted to the web server. If this causes the current + page to change, then this method will attempt to block until the new page + is loaded. + Thrown when the target element is no longer valid in the document DOM. + + + + Clicks this element. + + + Click this element. If the click causes a new page to load, the + method will attempt to block until the page has loaded. After calling the + method, you should discard all references to this + element unless you know that the element and the page will still be present. + Otherwise, any further operations performed on this element will have an undefined + behavior. + + Thrown when the target element is not enabled. + Thrown when the target element is not visible. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of the specified attribute for this element. + + The name of the attribute. + The attribute's current value. Returns a if the + value is not set. + The method will return the current value + of the attribute, even if the value has been modified after the page has been + loaded. Note that the value of the following attributes will be returned even if + there is no explicit attribute on the element: + + + Attribute name + Value returned if not explicitly specified + Valid element types + + + checked + checked + Check Box + + + selected + selected + Options in Select elements + + + disabled + disabled + Input and other UI elements + + + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the value of a CSS property of this element. + + The name of the CSS property to get the value of. + The value of the specified CSS property. + The value returned by the + method is likely to be unpredictable in a cross-browser environment. + Color values should be returned as hex strings. For example, a + "background-color" property set as "green" in the HTML source, will + return "#008000" for its value. + Thrown when the target element is no longer valid in the document DOM. + + + + Finds all IWebElements within the current context + using the given mechanism. + + The locating mechanism to use. + A of all WebElements + matching the current criteria, or an empty list if nothing matches. + + + + Finds the first using the given method. + + The locating mechanism to use. + The first matching on the current context. + If no element matches the criteria. + + + + Finds the first of elements that match the link text supplied + + Link text of element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementByLinkText("linktext") + + + + + + Finds the first of elements that match the link text supplied + + Link text of element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByLinkText("linktext") + + + + + + Finds the first element in the page that matches the ID supplied + + ID of the element + IWebElement object so that you can interction that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementById("id") + + + + + + Finds the first element in the page that matches the ID supplied + + ID of the Element + ReadOnlyCollection of Elements that match the object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsById("id") + + + + + + Finds the first of elements that match the name supplied + + Name of the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + elem = driver.FindElementsByName("name") + + + + + + Finds a list of elements that match the name supplied + + Name of element + ReadOnlyCollect of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByName("name") + + + + + + Finds the first of elements that match the DOM Tag supplied + + tag name of the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByTagName("tag") + + + + + + Finds a list of elements that match the DOM Tag supplied + + DOM Tag of the element on the page + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByTagName("tag") + + + + + + Finds the first element in the page that matches the CSS Class supplied + + className of the + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementByClassName("classname") + + + + + + Finds a list of elements that match the classname supplied + + CSS class name of the elements on the page + ReadOnlyCollection of IWebElement object so that you can interact with those objects + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByClassName("classname") + + + + + + Finds the first of elements that match the XPath supplied + + xpath to the element + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByXPath("//table/tbody/tr/td/a"); + + + + + + Finds a list of elements that match the XPath supplied + + xpath to element on the page + ReadOnlyCollection of IWebElement objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByXpath("//tr/td/a") + + + + + + Finds the first of elements that match the part of the link text supplied + + part of the link text + IWebElement object so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + IWebElement elem = driver.FindElementsByPartialLinkText("partOfLink") + + + + + + Finds a list of elements that match the classname supplied + + part of the link text + ReadOnlyCollection]]> objects so that you can interact that object + + + IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); + ReadOnlyCollection]]> elem = driver.FindElementsByPartialLinkText("partOfTheLink") + + + + + + Finds the first element matching the specified CSS selector. + + The id to match. + The first matching the criteria. + + + + Finds all elements matching the specified CSS selector. + + The CSS selector to match. + A containing all + IWebElements matching the criteria. + + + + Method to get the hash code of the element + + Interger of the hash code for the element + + + + Compares if two elements are equal + + Object to compare against + A boolean if it is equal or not + + + + Finds a child element matching the given mechanism and value. + + The mechanism by which to find the element. + The value to use to search for the element. + The first matching the given criteria. + + + + Finds all child elements matching the given mechanism and value. + + The mechanism by which to find the elements. + The value to use to search for the elements. + A collection of all of the IWebElements matchings the given criteria. + + + + Executes a command on this element using the specified parameters. + + The to execute against this element. + A containing names and values of the parameters for the command. + The object containing the result of the command execution. + + + + Gets the used to find this element. + + + + + Gets the tag name of this element. + + + The property returns the tag name of the + element, not the value of the name attribute. For example, it will return + "input" for an element specifiedby the HTML markup <input name="foo" />. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the innerText of this element, without any leading or trailing whitespace, + and with other whitespace collapsed. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is enabled. + + The property will generally + return for everything except explicitly disabled input elements. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is selected. + + This operation only applies to input elements such as checkboxes, + options in a select element and radio buttons. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containgin the coordinates of the upper-left corner + of this element relative to the upper-left corner of the page. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a object containing the height and width of this element. + + Thrown when the target element is no longer valid in the document DOM. + + + + Gets a value indicating whether or not this element is displayed. + + The property avoids the problem + of having to parse an element's "style" attribute to determine + visibility of an element. + Thrown when the target element is no longer valid in the document DOM. + + + + Gets the point where the element would be when scrolled into view. + + + + + Gets the coordinates identifying the location of this element using + various frames of reference. + + + + + Gets the ID of the element. + + This property is internal to the WebDriver instance, and is + not intended to be used in your code. The element's ID has no meaning + outside of internal WebDriver usage, so it would be improper to scope + it as public. However, both subclasses of + and the parent driver hosting the element have a need to access the + internal element ID. Therefore, we have two properties returning the + same value, one scoped as internal, the other as protected. + + + + Gets the ID of the element + + This property is internal to the WebDriver instance, and is + not intended to be used in your code. The element's ID has no meaning + outside of internal WebDriver usage, so it would be improper to scope + it as public. However, both subclasses of + and the parent driver hosting the element have a need to access the + internal element ID. Therefore, we have two properties returning the + same value, one scoped as internal, the other as protected. + + + + Initializes a new instance of the ChromeWebElement class + + Driver in use + Id of the element + + + + Returns the HashCode of the Element + + Hashcode of the element + + + + Compares current element against another + + element to compare against + A value indicating whether they are the same + + + + Represents the binary associated with Firefox. + + The class is responsible for instantiating the + Firefox process, and the operating system environment in which it runs. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class located at a specific file location. + + Full path and file name to the Firefox executable. + + + + Starts Firefox using the specified profile and command-line arguments. + + The to use with this instance of Firefox. + The command-line arguments to use in starting Firefox. + + + + Sets a variable to be used in the Firefox execution environment. + + The name of the environment variable to set. + The value of the environment variable to set. + + + + Creates a named profile for Firefox. + + The name of the profile to create. + + + + Waits for the process to complete execution. + + + + + Intializes the binary with the specified profile. + + The to use to initialize the binary. + + + + Stops the execution of this , terminating the process if necessary. + + + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + + Starts the Firefox process. + + A object used to start Firefox. + + + + Gets or sets the timeout (in milliseconds) to wait for command execution. + + + + + Gets all console output of the binary. + + Output retrieval is non-destructive and non-blocking. + + + + Gets the associated with this . + + + + + Gets a value indicating whether the current operating system is Linux. + + + + + Gets a containing string key-value pairs + representing any operating system environment variables beyond the defaults. + + + + + Provides a way to access Firefox to run tests. + + + When the FirefoxDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and + start your test. + + In the case of the FirefoxDriver, you can specify a named profile to be used, or you can let the + driver create a temporary, anonymous profile. A custom extension allowing the driver to communicate + to the browser will be installed into the profile. + + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new FirefoxDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + } + } + + + + + + The name of the ICapabilities setting to use to define a custom Firefox profile. + + + + + The name of the ICapabilities setting to use to define a custom location for the + Firefox executable. + + + + + The default port on which to communicate with the Firefox extension. + + + + + Indicates whether native events is enabled by default for this platform. + + + + + Indicates whether the driver will accept untrusted SSL certificates. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class for a given profile. + + A object representing the profile settings + to be used in starting Firefox. + + + + Initializes a new instance of the class for a given set of capabilities. + + The object containing the desired + capabilities of this FirefoxDriver. + + + + Initializes a new instance of the class for a given profile and binary environment. + + A object representing the operating system + environmental settings used when running Firefox. + A object representing the profile settings + to be used in starting Firefox. + + + + Initializes a new instance of the class for a given profile, binary environment, and timeout value. + + A object representing the operating system + environmental settings used when running Firefox. + A object representing the profile settings + to be used in starting Firefox. + The maximum amount of time to wait for each command. + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Starts the command executor, enabling communication with the browser. + + + + + Stops the command executor, ending further communication with the browser. + + + + + In derived classes, the method prepares the environment for test execution. + + + + + Creates a with the specified ID. + + The ID of this element. + A with the specified ID. For the FirefoxDriver this will be a . + + + + Gets the FirefoxBinary and its details for subclasses + + + + + Gets the FirefoxProfile that is currently in use by subclasses + + + + + Provides the ability to install extensions into a . + + + + + Initializes a new instance of the class. + + The name of the file containing the Firefox extension. + WebDriver attempts to resolve the parameter + by looking first for the specified file in the directory of the calling assembly, + then using the full path to the file, if a full path is provided. + + + + Initializes a new instance of the class. + + The name of the file containing the Firefox extension. + The ID of the resource within the assembly containing the extension + if the file is not present in the file system. + WebDriver attempts to resolve the parameter + by looking first for the specified file in the directory of the calling assembly, + then using the full path to the file, if a full path is provided. If the file is + not found in the file system, WebDriver attempts to locate a resource in the + executing assembly with the name specified by the + parameter. + + + + Installs the extension into a profile directory. + + The Firefox profile directory into which to install the extension. + + + + Provides the ability to edit the preferences associated with a Firefox profile. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using a + specific profile directory. + + The directory containing the profile. + + + + Initializes a new instance of the class using a + specific profile directory. + + The directory containing the profile. + Delete the source directory of the profile upon cleaning. + + + + Converts a base64-encoded string into a . + + The base64-encoded string containing the profile contents. + The constructed . + + + + Adds a Firefox Extension to this profile + + The path to the new extension + + + + Sets a preference in the profile. + + The name of the preference to add. + A value to add to the profile. + + + + Sets a preference in the profile. + + The name of the preference to add. + A value to add to the profile. + + + + Sets a preference in the profile. + + The name of the preference to add. + A value to add to the profile. + + + + Set proxy preferences for this profile. + + The object defining the proxy + preferences for the profile. + + + + Writes this in-memory representation of a profile to disk. + + + + + Cleans this Firefox profile. + + If this profile is a named profile that existed prior to + launching Firefox, the method removes the WebDriver + Firefox extension. If the profile is an anonymous profile, the profile + is deleted. + + + + Converts the profile into a base64-encoded string. + + A base64-encoded string containing the contents of the profile. + + + + Adds the WebDriver extension for Firefox to the profile. + + + + + Adds a preference to the profile. + + The preferences dictionary. + The name of the preference. + The value of the preference. + + + + Generates a random directory name for the profile. + + A random directory name for the profile. + + + + Deletes the lock files for a profile. + + + + + Installs all extensions in the profile in the directory on disk. + + + + + Deletes the cache of extensions for this profile, if the cache exists. + + If the extensions cache does not exist for this profile, the + method performs no operations, but + succeeds. + + + + Writes the user preferences to the profile. + + + + + Reads the existing preferences from the profile. + + A containing key-value pairs representing the preferences. + Assumes that we only really care about the preferences, not the comments + + + + Writes the specified preferences to the user preferences file. + + A containing key-value pairs + representing the preferences to write. + + + + Sets a preference for a manually specified proxy. + + The protocol for which to set the proxy. + The setting for the proxy. + + + + Gets or sets the port on which the profile connects to the WebDriver extension. + + + + + Gets the directory containing the profile. + + + + + Gets or sets a value indicating whether native events are enabled. + + + + + Gets or sets a value indicating whether to always load the library for allowing Firefox + to execute commands without its window having focus. + + The property is only used on Linux. + + + + Gets or sets a value indicating whether Firefox should accept untrusted certificates. + + + + + Gets a value indicating whether Firefox is currently running with this profile loaded. + + + + + Allows the user to enumerate and access existing named Firefox profiles. + + + + + Initializes a new instance of the class. + + + + + Gets a with a given name. + + The name of the profile to get. + A with a given name. + Returns if no profile with the given name exists. + + + + Gets a containing FirefoxProfiles + representing the existing named profiles for Firefox. + + + + + Allows the user to control elements on a page in Firefox. + + + + + Initializes a new instance of the class. + + The instance hosting this element. + The ID assigned to the element. + + + + Determines whether two instances are equal. + + The to compare with the current . + if the specified is equal to the + current ; otherwise, . + + + + Serves as a hash function for a . + + A hash code for the current . + + + + Defines the interface by which a driver connects to the WebDriver extension. + + + + + Starts the connection to the extension. + + + + + Closes the connection to the extension. + + + + + Represents the preferences used by a profile in Firefox. + + + + + Sets a preference. + + The name of the preference to set. + A value give the preference. + + + + Sets a preference. + + The name of the preference to set. + A value give the preference. + + + + Sets a preference. + + The name of the preference to set. + A value give the preference. + + + + Appends this set of preferences to the specified set of preferences. + + A dictionary containing the preferences to which to + append these values. + If the preference already exists in , + the value will be updated. + + + + Represents the executable file for Firefox. + + + + + Initializes a new instance of the class. + + The path and file name to the Firefox executable. + + + + Sets the library path for the Firefox executable environment. + + The used to execute the binary. + + + + Locates the Firefox binary by platform. + + The full path to the binary. + + + + Retrieves an environment variable + + Name of the variable. + Default value of the variable. + The value of the variable. If no variable with that name is set, returns the default. + + + + Retrieves the platform specific environment property name which contains the library path. + + The platform specific environment property name which contains the library path. + + + + Walk a PATH to locate binaries with a specified name. Binaries will be searched for in the + order they are provided. + + The binary names to search for. + The first binary found matching that name. + + + + Gets the full path to the executable. + + + + + Represents the connection to the WebDriver Firefox extension. + + + + + Initializes a new instance of the class. + + The on which to make the connection. + The creating the connection. + The name of the host on which to connect to the Firefox extension (usually "localhost"). + The maximum amount of time to wait for each command. + + + + Starts the connection to the extension. + + + + + Closes the connection to the extension. + + + + + Executes a command + + The command you wish to execute + A response from the browser + + + + Gets the associated with this connection. + + + + + Defines the interface through which the mutex port for establishing communication + with the WebDriver extension can be locked. + + + + + Locks the mutex port. + + The amount of time (in milliseconds) to wait for + the mutex port to become available. + + + + Unlocks the mutex port. + + + + + Parses and reads an INI file. + + + + + Initializes a new instance of the class. + + The full path to the .INI file to be read. + + + + Gets a value from the .INI file. + + The section in which to find the key-value pair. + The key of the key-value pair. + The value associated with the given section and key. + + + + Gets a containing the names of the sections in the .INI file. + + + + + Provides a mutex-like lock on a socket. + + + + + Initializes a new instance of the class. + + Port to use to acquire the lock. + The class will attempt to acquire the + specified port number, and wait for it to become free. + + + + Locks the mutex port. + + The amount of time (in milliseconds) to wait for + the mutex port to become available. + + + + Unlocks the mutex port. + + + + + Releases all resources associated with this + + + + + Provides a way to access Internet Explorer to run your tests by creating a InternetExplorerDriver instance + + + When the WebDriver object has been instantiated the browser will load. The test can then navigate to the URL under test and + start your test. + + + + [TestFixture] + public class Testing + { + private IWebDriver driver; + + [SetUp] + public void SetUp() + { + driver = new InternetExplorerDriver(); + } + + [Test] + public void TestGoogle() + { + driver.Navigate().GoToUrl("http://www.google.co.uk"); + /* + * Rest of the test + */ + } + + [TearDown] + public void TearDown() + { + driver.Quit(); + driver.Dispose(); + } + } + + + + + + The name of the ICapabilities setting to use to ignore Protected Mode settings. + + + + + Initializes a new instance of the InternetExplorerDriver class. + + + + + Initializes a new instance of the InternetExplorerDriver class for the specified port. + + The port to use to communicate with the IE server. + + + + Initializes a new instance of the InternetExplorerDriver class with the desired capabilities. + + The desired capabilities of the IE driver. + + + + Initializes a new instance of the InternetExplorerDriver class for the specified port and desired capabilities. + + The port to use to communicate with the IE server. + The desired capabilities of the IE driver. + + + + Initializes a new instance of the InternetExplorerDriver class for the specified port, desired capabilities, and command timeout. + + The port to use to communicate with the IE server. + The desired capabilities of the IE driver. + The maximum amount of time to wait for each command. + + + + Gets a object representing the image of the page on the screen. + + A object containing the image. + + + + Starts the command executor, enabling communication with the browser. + + + + + Stops the command executor, ending further communication with the browser. + + + + + Provides a wrapper for the native-code Internet Explorer driver library. + + + + + Initializes a new instance of the class. + + + + + Starts the server, communicating on the specified port, if it is not already running + + The port on which the server should listen for requests. + The port on which the server is actually listening for requests. + If the server has already been started, there is no need to start it + again. We can leverage the already-running server, and the port it is listening + on. + + + + Releases all resources used by this InternetExplorerDriverServer. + + + + + Releases all resources used by this InternetExplorerDriverServer. + + to dispose of managed and unmanaged resources; + to only dispose of unmanaged resources. + + + + Gets a value indicating whether the unmanaged native code library has been loaded. + + + + + Gets a value indicating whether the Internet Explorer driver server is running. + + + + + InternetExplorerWebElement allows you to have access to specific items that are found on the page. + + + + + + [Test] + public void TestGoogle() + { + driver = new InternetExplorerDriver(); + InternetExplorerWebElement elem = driver.FindElement(By.Name("q")); + elem.SendKeys("Cheese please!"); + } + + + + + + Initializes a new instance of the InternetExplorerWebElement class. + + Driver in use. + ID of the element. + + + + Provides a mechanism for building advanced interactions with the browser. + + + + + Initializes a new instance of the class. + + The object on which the actions built will be performed. + + + + Sends a modifier key down message to the browser. + + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a modifier key down message to the specified element in the browser. + + The element to which to send the key command. + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a modifier key up message to the browser. + + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a modifier up down message to the specified element in the browser. + + The element to which to send the key command. + The key to be sent. + A self-reference to this . + If the key sent is not is not one + of , , or . + + + + Sends a sequence of keystrokes to the browser. + + The keystrokes to send to the browser. + A self-reference to this . + + + + Sends a sequence of keystrokes to the specified element in the browser. + + The element to which to send the keystrokes. + The keystrokes to send to the browser. + A self-reference to this . + + + + Clicks and holds the mouse button down on the specified element. + + The element on which to click and hold. + A self-reference to this . + + + + Clicks and holds the mouse button at the last known mouse coordinates. + + A self-reference to this . + + + + Releases the mouse button on the specified element. + + The element on which to release the button. + A self-reference to this . + + + + Releases the mouse button at the last known mouse coordinates. + + A self-reference to this . + + + + Clicks the mouse on the specified element. + + The element on which to click. + A self-reference to this . + + + + Clicks the mouse at the last known mouse coordinates. + + A self-reference to this . + + + + Double-clicks the mouse on the specified element. + + The element on which to double-click. + A self-reference to this . + + + + Double-clicks the mouse at the last known mouse coordinates. + + A self-reference to this . + + + + Moves the mouse to the specified element. + + The element to which to move the mouse. + A self-reference to this . + + + + Moves the mouse to the specified offset of the top-left corner of the specified element. + + The element to which to move the mouse. + The horizontal offset to which to move the mouse. + The vertical offset to which to move the mouse. + A self-reference to this . + + + + Moves the mouse to the specified offset of the last known mouse coordinates. + + The horizontal offset to which to move the mouse. + The vertical offset to which to move the mouse. + A self-reference to this . + + + + Right-clicks the mouse on the specified element. + + The element on which to right-click. + A self-reference to this . + + + + Performs a drag-and-drop operation from one element to another. + + The element on which the drag operation is started. + The element on which the drop is performed. + A self-reference to this . + + + + Performs a drag-and-drop operation on one element to a specified offset. + + The element on which the drag operation is started. + The horizontal offset to which to move the mouse. + The vertical offset to which to move the mouse. + A self-reference to this . + + + + Builds the sequence of actions. + + A composite which can be used to perform the actions. + + + + Performs the currently built action. + + + + + Adds an action to current list of actions to be performed. + + The to be added. + + + + Defines an action for releasing the currently held mouse button. + + + This action can be called for an element different than the one + ClickAndHoldAction was called for. However, if this action is + performed out of sequence (without holding down the mouse button, + for example) the results will be different. + + + + + Defines an action for mouse interaction with the browser. + + + + + Defines an action for keyboard and mouse interaction with the browser. + + + + + Initializes a new instance of the class for the given element. + + An object tha provides coordinates for this action. + + + + Initializes a new instance of the class. + + This action will take place in the context of the previous action's coordinates. + + + + Gets the target of the action providing coordinates of the action. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Moves the mouse to the location at which to perform the action. + + + + + Gets the coordinates at which to perform the mouse action. + + + + + Gets the mouse with which to perform the action. + + + + + Provides methods by which an interaction with the browser can be performed. + + + + + Performs this action on the browser. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for clicking on an element. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for clicking and holding the mouse button on an element. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action that consists of a list of other actions to be performed in the browser. + + + + + Adds an action to the list of actions to be performed. + + An to be appended to the + list of actions to be performed. + A self reference. + + + + Performs the actions defined in this list of actions. + + + + + Defines an action for clicking the secondary mouse button on an element, displaying a context menu. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for double-clicking on an element. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Provides location of the element using various frames of reference. + + + + + Gets the location of an element in absolute screen coordinates. + + + + + Gets the location of an element relative to the origin of the view port. + + + + + Gets the location of an element's position within the HTML DOM. + + + + + Gets a locator providing a user-defined location for this element. + + + + + Defines an action for keyboard interaction with the browser. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + + + + Focuses on the element on which the action is to be performed. + + + + + Gets the keyboard with which to perform the action. + + + + + Defines an action for pressing a modifier key (Shift, Alt, or Control) on the keyboard. + + + + + Defines an action for keyboard interaction with the browser using a single modifier key. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The modifier key (, , ) to use in the action. + + + + Gets the key with which to perform the action. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The modifier key (, , ) to use in the action. + + + + Performs this action. + + + + + Defines an action for releasing a modifier key (Shift, Alt, or Control) on the keyboard. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The modifier key (, , ) to use in the action. + + + + Performs this action. + + + + + Defines an action for moving the mouse to a specified location. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + + + + Performs this action. + + + + + Defines an action for moving the mouse to a specified offset from its current location. + + + + + Initializes a new instance of the class. + + The with which the action will be performed. + An describing an element at which to perform the action. + The horizontal offset from the origin of the target to which to move the mouse. + The vertical offset from the origin of the target to which to move the mouse. + + + + Performs this action. + + + + + Defines an action for sending a sequence of keystrokes to an element. + + + + + Initializes a new instance of the class. + + The to use in performing the action. + The to use in setting focus to the element on which to perform the action. + An object providing the element on which to perform the action. + The key sequence to send. + + + + Performs this action. + + + + + Utility class used to execute "asynchronous" scripts. This class should + only be used by browsers that do not natively support asynchronous + script execution. + Warning: this class is intended for internal use + only. This class will be removed without warning after all + native asynchronous implemenations have been completed. + + + + + + Initializes a new instance of the class. + + An object capable of executing JavaScript. + + + + Executes a JavaScript script asynchronously. + + The script to execute. + An array of objects used as arguments in the script. + The object which is the return value of the script. + if the object executing the function doesn't support JavaScript. + if the page reloads during the JavaScript execution. + if the timeout expires during the JavaScript execution. + + + + Gets or sets the timeout for the script executor. + + + + + Encapsulates methods for working with files. + + + + + Recursively copies a directory. + + The source directory to copy. + The destination directory. + if the copy is completed; otherwise . + + + + Recursively deletes a directory, retrying on error until a timeout. + + The directory to delete. + This method does not throw an exception if the delete fails. + + + + Defines the interface through which the user can discover if there is an underlying element to be used. + + + + + Gets the wrapped by this object. + + + + + Utility class to wrap an unmanaged DLL and be responsible for freeing it. + + + This is a managed wrapper over the native LoadLibrary, GetProcAddress, + and FreeLibrary calls. + + + + + Initializes a new instance of the class. + + full path name of dll to load + + If fileName can't be found + + + This constructor loads a DLL and makes this class responible for + freeing it. Throws exceptions on failure. Most common failure would be + file-not-found, or that the file is not a loadable image. + + + + + Dynamically lookup a function in the dll via kernel32!GetProcAddress. + + The name of the function in the export table. + The Type of the delegate to be returned. + A delegate to the unmanaged function. Returns + if the function is not found. + + + GetProcAddress results are valid as long as the dll is not yet + unloaded. This is very very dangerous to use since you need to + ensure that the dll is not unloaded until after you're done with any + objects implemented by the dll. For example, if you get a delegate + that then gets an IUnknown implemented by this dll, you can not + dispose this library until that IUnknown is collected. Else, you may + free the library and then the CLR may call release on that IUnknown + and it will crash. + + + + + Call FreeLibrary on the unmanaged dll. All function pointers handed + out from this class become invalid after this. + + + This is very dangerous because it suddenly invalidate everything + retrieved from this dll. This includes any functions handed out via + GetProcAddress, and potentially any objects returned from those + functions (which may have an implemention in the dll). + + + + + Represents a wrapper class for the handle to a native library. + + + + + Initializes a new instance of the class. + + + + + Releases the native library handle. + + if the library was released, otherwise . + The handle is released by calling the FreeLibrary API. + + + + Provides entry points into needed unmanaged APIs. + + + + + Values for flags for setting information about a native operating system handle. + + + + + No flags are to be set for the handle. + + + + + If this flag is set, a child process created with the bInheritHandles + parameter of CreateProcess set to TRUE will inherit the object handle. + + + + + If this flag is set, calling the CloseHandle function will not close the + object handle. + + + + + Encapsulates methods for finding and extracting WebDriver resources. + + + + + Gets a that contains the resource to use. + + A file name in the file system containing the resource to use. + A string representing the resource name embedded in the + executing assembly, if it is not found in the file system. + A Stream from which the resource can be read. + Thrown if neither the file nor the embedded resource can be found. + + The GetResourceStream method searches for the specified resource using the following + algorithm: + + + In the same directory as the calling assembly. + In the full path specified by the argument. + Inside the calling assembly as an embedded resource. + + + + + + + Represents a cookie returned to the driver by the browser. + + + + + Initializes a new instance of the class with a specific name, + value, domain, path and expiration date. + + The name of the cookie. + The value of the cookie. + The domain of the cookie. + The path of the cookie. + The expiration date of the cookie. + if the cookie is secure; otherwise + The current the browser is viewing. + If the name is or an empty string, + or if it contains a semi-colon. + If the value or currentUrl is . + + + + Creates and returns a string representation of the current cookie. + + A string representation of the current cookie. + + + + Gets the current URL the browser is viewing. + + + + + Gets a value determining if the cookie is secure. + + + + + Provides types of capabilities for the DesiredCapabilities object. + + + + + Capability name used for the browser name. + + + + + Capability name used for the browser platform. + + + + + Capability name used for the browser version. + + + + + Capability name used to indicate whether JavaScript is enabled for the browser. + + + + + Capability name used to indicate whether the browser can take screenshots. + + + + + Capability name used to indicate whether the browser can handle alerts. + + + + + Capability name used to indicate whether the browser can find elements via CSS selectors. + + + + + Capability name used for the browser proxy. + + + + + Capability name used to indicate whether the browser supports rotation. + + + + + Capability name used to indicate whether the browser accepts SSL certificates. + + + + + Capability name used to indicate whether the browser uses native events. + + + + + Provides a way to send commands to the remote server + + + + + Initializes a new instance of the Command class using a command name and a JSON-encoded string for the parameters. + + Name of the command + Parameters for the command as a JSON-encoded string. + + + + Initializes a new instance of the Command class for a Session + + Session ID the driver is using + Name of the command + Parameters for that command + + + + Returns a string of the Command object + + A string representation of the Command Object + + + + Gets the command parameters as a , with a string key, and an object value. + + The JSON-encoded string representing the command parameters. + A with a string keys, and an object value. + + + + Gets the SessionID of the command + + + + + Gets the command name + + + + + Gets the parameters of the command + + + + + Gets the parameters of the command as a JSON-encoded string. + + + + + Provides the execution information for a . + + + + + POST verb for the command info + + + + + GET verb for the command info + + + + + DELETE verb for the command info + + + + + Initializes a new instance of the CommandInfo class + + Method of the Command + Relative URL path to the resource used to execute the command + + + + Creates a webrequest for your command + + Uri that will have the command run against + Command to execute + A web request of what has been run + + + + Gets the URL representing the path to the resource. + + + + + Gets the HTTP method associated with the command. + + + + + Holds the information about all commands specified by the JSON wire protocol. + + + + + Prevents a default instance of the class from being created. + + + + + Gets the for a . + + The for which to get the information. + The for the specified command. + + + + Gets the singleton instance of the . + + + + + Class to Create the capabilities of the browser you require for . + If you wish to use default values use the static methods + + + + + Initializes a new instance of the DesiredCapabilities class + + Name of the browser e.g. firefox, internet explorer, safari + Version of the browser + The platform it works on + + + + Initializes a new instance of the DesiredCapabilities class + + + + + Initializes a new instance of the DesiredCapabilities class + + Dictionary of items for the remotedriver + + + DesiredCapabilities capabilities = new DesiredCapabilities(new Dictionary]]>(){["browserName","firefox"],["version",string.Empty],["javaScript",true]}); + + + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilites for use with Firefox + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Internet Explorer + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with HTMLUnit + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with HTMLUnit with JS + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with iPhone + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with iPad + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Chrome + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Android + + + + Method to return a new DesiredCapabilities using defaults + + New instance of DesiredCapabilities for use with Opera + + + + Gets a value indicating whether the browser has a given capability. + + The capability ot get. + Returns if the browser has the capability; otherwise, . + + + + Gets a capability of the browser. + + The capability to get. + An object associated with the capability, or + if the capability is not set on the browser. + + + + Sets a capability of the browser. + + The capability to get. + The value for the capability. + + + + Return HashCode for the DesiredCapabilties that has been created + + Integer of HashCode generated + + + + Return a string of capabilies being used + + String of capabilites being used + + + + Compare two DesiredCapabilities and will return either true or false + + DesiredCapabities you wish to compare + true if they are the same or false if they are not + + + + Gets the browser name + + + + + Gets or sets the platform + + + + + Gets the browser version + + + + + Gets or sets a value indicating whether the browser is javascript enabled + + + + + Gets the internal capabilities dictionary. + + + + + Values describing the list of commands understood by a remote server using the JSON wire protocol. + + + + + Represents the Define Driver Mapping command + + + + + Represents a New Session command + + + + + Represents the Get Session Capabilities command + + + + + Represents a Browser close command + + + + + Represents a browser quit command + + + + + Represents a GET command + + + + + Represents a Browser going back command + + + + + Represents a Browser going forward command + + + + + Represents a Browser refreshing command + + + + + Represents adding a cookie command + + + + + Represents getting all cookies command + + + + + Represents deleting a cookie command + + + + + Represents Deleting all cookies command + + + + + Represents findelement command + + + + + Represents findelements command + + + + + Represents findchildelements command + + + + + Represents findchildelements command + + + + + Describes an element + + + + + Represents clearelements command + + + + + Represents clickelements command + + + + + Represents hoverelements command + + + + + Represents SendKeysToElements command + + + + + Represents SubmitElement command + + + + + Represents TogleElements command + + + + + Represents findchildelements command + + + + + Represents GetWindowHandles command + + + + + Represents SwitchToWindow command + + + + + Represents SwitchToFrame command + + + + + Represents GetActiveElement command + + + + + Represents GetCurrentUrl command + + + + + Represents GetPageSource command + + + + + Represents GetTitle command + + + + + Represents ExecuteScript command + + + + + Represents ExecuteAsyncScript command + + + + + Represents GetSpeed command + + + + + Represents SetSpeed command + + + + + Represents SetBrowserVisible command + + + + + Represents IsBrowserVisible command + + + + + Represents GetElementText command + + + + + Represents GetElementValue command + + + + + Represents GetElementTagName command + + + + + Represents SetElementSelected command + + + + + Represents DragElement 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 the DismissAlert command + + + + + Represents the AcceptAlert command + + + + + Represents the GetAlertText command + + + + + Represents the SetAlertValue command + + + + + Represents the ImplicitlyWait command + + + + + Represents the SetAsyncScriptTimeout command + + + + + Represents the MouseClick command. + + + + + Represents the MouseDoubleClick command. + + + + + Represents the MouseDown command. + + + + + Represents the MouseUp command. + + + + + Represents the MouseMoveTo command. + + + + + Represents the SendKeysToActiveElement command. + + + + + Provides a way to store errors from a repsonse + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the specified values. + + A containing names and values of + the properties of this . + + + + Gets or sets the message from the reponse + + + + + Gets or sets the class name that threw the error + + + + + Gets or sets the screenshot of the error + + + + + Gets or sets the stack trace of the error + + + + + Defines the interface through which the user can manipulate JavaScript alerts. + + + + + Initializes a new instance of the class. + + The for which the alerts will be managed. + + + + Dismisses the alert. + + + + + Accepts the alert. + + + + + Sends keys to the alert. + + The keystrokes to send. + + + + Gets the text of the alert. + + + + + Defines an interface allowing the user to manipulate cookies on the current page. + + + + + Initializes a new instance of the class. + + The driver that is currently in use + + + + Method for creating a cookie in the browser + + that represents a cookie in the browser + + + + Delete the cookie by passing in the name of the cookie + + The name of the cookie that is in the browser + + + + Delete a cookie in the browser by passing in a copy of a cookie + + An object that represents a copy of the cookie that needs to be deleted + + + + Delete All Cookies that are present in the browser + + + + + Method for returning a getting a cookie by name + + name of the cookie that needs to be returned + A Cookie from the name + + + + Method for getting a Collection of Cookies that are present in the browser + + ReadOnlyCollection of Cookies in the browser + + + + Gets all cookies defined for the current page. + + + + + Defines the interface through which the user can discover where an element is on the screen. + + + + + Initializes a new instance of the class. + + The to be located. + + + + Gets the location of an element in absolute screen coordinates. + + + + + Gets the location of an element relative to the origin of the view port. + + + + + Gets the location of an element's position within the HTML DOM. + + + + + Gets a locator providing a user-defined location for this element. + + + + + Defines the interface through which the user can execute advanced keyboard interactions. + + + + + Initializes a new instance of the class. + + The for which the keyboard will be managed. + + + + Sends a sequence of keystrokes to the target. + + A string representing the keystrokes to send. + + + + Presses a key. + + The key value representing the key to press. + The key value must be one of the values from the class. + + + + Releases a key. + + The key value representing the key to release. + The key value must be one of the values from the class. + + + + Defines the interface through which the user can execute advanced mouse interactions. + + + + + Initializes a new instance of the class. + + The for which the mouse will be managed. + + + + Clicks at a set of coordinates using the primary mouse button. + + An describing where to click. + + + + Double-clicks at a set of coordinates. + + A describing where to double-click. + + + + Presses the primary mouse button at a set of coordinates. + + A describing where to press the mouse button down. + + + + Releases the primary mouse button at a set of coordinates. + + A describing where to release the mouse button. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to move the mouse to. + + + + Moves the mouse to the specified set of coordinates. + + A describing where to click. + A horizontal offset from the coordinates specified in . + A vertical offset from the coordinates specified in . + + + + Clicks at a set of coordinates using the secondary mouse button. + + A describing where to click. + + + + Provides a mechanism for Navigating with the driver. + + + + + Initializes a new instance of the RemoteNavigator class + + Driver in use + + + + Move the browser back + + + + + Move the browser forward + + + + + Navigate to a url for your test + + String of where you want the browser to go to + + + + Navigate to a url for your test + + Uri object of where you want the browser to go to + + + + Refresh the browser + + + + + Provides a mechanism for setting options needed for the driver during the test. + + + + + Initializes a new instance of the RemoteOptions class + + Instance of the driver currently in use + + + + Provides access to the timeouts defined for this driver. + + An object implementing the interface. + + + + Gets an object allowing the user to manipulate cookies on the page. + + + + + Gets an object allowing the user to manipulate the currently-focused browser window. + + "Currently-focused" is defined as the browser window having the window handle + returned when IWebDriver.CurrentWindowHandle is called. + + + + Provides a mechanism for finding elements on the page with locators. + + + + + Initializes a new instance of the RemoteTargetLocator class + + The driver that is currently in use + + + + Move to a different frame using its index + + The index of the + A WebDriver instance that is currently in use + + + + Move to different frame using its name + + name of the frame + A WebDriver instance that is currently in use + + + + Move to a frame element. + + a previously found FRAME or IFRAME element. + A WebDriver instance that is currently in use. + + + + Change to the Window by passing in the name + + name of the window that you wish to move to + A WebDriver instance that is currently in use + + + + Change the active frame to the default + + Element of the default + + + + Finds the active element on the page and returns it + + Element that is active + + + + Switches to the currently active modal dialog for this particular driver instance. + + A handle to the dialog. + + + + Defines the interface through which the user can define timeouts. + + + + + Initializes a new instance of the RemoteTimeouts class + + The driver that is currently in use + + + + Specifies the amount of time the driver should wait when searching for an + element if it is not immediately present. + + A structure defining the amount of time to wait. + A self reference + + When searching for a single element, the driver should poll the page + until the element has been found, or this timeout expires before throwing + a . When searching for multiple elements, + the driver should poll the page until at least one element has been found + or this timeout has expired. + + Increasing the implicit wait timeout should be used judiciously as it + will have an adverse effect on test run time, especially when used with + slower location strategies like XPath. + + + + + + Specifies the amount of time the driver should wait when executing JavaScript asynchronously. + + A structure defining the amount of time to wait. + A self reference + + + + Defines the interface through which the user can manipulate the browser window. + + + + + Initializes a new instance of the class. + + Instance of the driver currently in use + + + + Gets or sets the position of the browser window relative to the upper-left corner of the screen. + + When setting this property, it should act as the JavaScript window.moveTo() method. + + + + Gets or sets ths size of the outer browser window, including title bars and window borders. + + When setting this property, it should act as the JavaScript window.resizeTo() method. + + + + Handles reponses from the browser + + + + + Initializes a new instance of the Response class + + + + + Initializes a new instance of the Response class + + Session ID in use + + + + Returns a new from a JSON-encoded string. + + The JSON string to deserialize into a . + A object described by the JSON string. + + + + Returns this object as a JSON-encoded string. + + A JSON-encoded string representing this object. + + + + Returns the object as a string. + + A string with the Session ID, status value, and the value from JSON. + + + + Gets or sets the value from JSON. + + + + + Gets or sets the session ID. + + + + + Gets or sets the status value of the response. + + + + + Provides a mechanism for maintaining a session for a test + + + + + Initializes a new instance of the SessionId class + + Key for the session in use + + + + Get the value of the key + + The key in use + + + + Get the hashcode of the key + + The hashcode of the key + + + + Compares two Sessions + + Session to compare + True if they are equal or False if they are not + + + + Gives properties to get a stack trace + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the given property values. + + A containing the names and values for the properties of this . + + + + Gets a string representation of the object. + + A string representation of the object. + + + + Gets or sets the value of the filename in the stack + + + + + Gets or sets the value of the Class name in the stack trace + + + + + Gets or sets the line number + + + + + Gets or sets the Method name in the stack trace + + + + + Provides a way to convert a Char arry to JSON + + + + + Checks if the object can be converted + + Type of the object to see if can be converted + True if can be converted else false + + + + Writes the Object to JSON + + A JSON Writer object + Object to be converted + JSON Serializer object instance + + + + Method not implemented + + JSON Reader instance + Object type being read + Existing Value to be read + JSON Serializer instance + Object from JSON + + + + Provides a way to convert Cookies to JSON and back + + + + + Checks if the object can be converted + + Type of the object + A value indicating if it can be converted + + + + Get the platform from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Created a cookie from the JSON string + + The JSON writer with a string + Value of the string + JSON serializer instance + + + + Provides a way to convert DesiredCapabilities objects to JSON and back + + + + + Checks if the object can be converted + + Type of the object + A value indicating if it can be converted + + + + Get the capabilities from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Creates a JSON string representing the DesiredCapabilities object + + The JSON writer with a string + Value of the string + JSON serializer instance + + + + Provides a mechanism to get the platform from JSON and write the platform + + + + + Checks if the type can be converted + + Object type to be converted + A value indicating if it can be converted + + + + Get the platform from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Writes the platform to JSON + + JSON Writer instance + the platform + JSON Serializer Instance + + + + Provides a way to convert a arry to JSON + + + + + Checks if the object can be converted + + Type of the object + A value indicating if it can be converted + + + + Get the platform from the JSON reader + + JSON Reader instance + Object type being read + The exisiting value of the object + JSON Serializer instance + Platform from JSON reader + + + + Create a JSON string representation of the Proxy + + The JSON writer with a string + Value of the string + JSON serializer instance + + + + Converts the response to JSON + + + + + Checks if the object can be converted + + The object to be converted + True if it can be converted or false if can't be + + + + Pricess the reader to return an object from JSON + + A JSON reader + Type of the object + The existing value of the object + JSON Serializer + Object created from JSON + + + + Writes objects to JSON. Currently not implemented + + JSON Writer Object + Value to be written + JSON Serializer + + + diff --git a/packages/repositories.config b/packages/repositories.config index 534610e53..d4c939a97 100644 --- a/packages/repositories.config +++ b/packages/repositories.config @@ -10,4 +10,5 @@ + \ No newline at end of file