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