<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Selenium_WebDriver_in_C-Sharp</id>
	<title>Selenium WebDriver in C-Sharp - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Selenium_WebDriver_in_C-Sharp"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Selenium_WebDriver_in_C-Sharp&amp;action=history"/>
	<updated>2026-05-13T01:44:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=Selenium_WebDriver_in_C-Sharp&amp;diff=24818&amp;oldid=prev</id>
		<title>Łukasz Walec: /* Parameters in Selenium WebDriver */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Selenium_WebDriver_in_C-Sharp&amp;diff=24818&amp;oldid=prev"/>
		<updated>2015-03-07T01:24:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Parameters in Selenium WebDriver&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Preparing environment ==&lt;br /&gt;
&lt;br /&gt;
Download and install Oracle Java:&lt;br /&gt;
 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html&lt;br /&gt;
&lt;br /&gt;
Download and install Visual Studio Community 2013:&lt;br /&gt;
 http://www.visualstudio.com/downloads/download-visual-studio-vs&lt;br /&gt;
&lt;br /&gt;
Download NUnit:&lt;br /&gt;
 http://nunit.org/?p=download&lt;br /&gt;
&lt;br /&gt;
Run NUnit-2.6.4.msi or install it later from Package Manager.&lt;br /&gt;
&lt;br /&gt;
Run Visual Studio, select Development Settings: Visual C# and Light color theme. Create a new Project:&lt;br /&gt;
 Templates &amp;gt; Visual C# &amp;gt; Class Library&lt;br /&gt;
 Name: SeleniumTests&lt;br /&gt;
&lt;br /&gt;
Download and install NuGet Package Manager. Go to:&lt;br /&gt;
 Tools &amp;gt; Extensions and Updates&lt;br /&gt;
&lt;br /&gt;
Restart Visual Studio.&lt;br /&gt;
&lt;br /&gt;
Open Package Manager Console.&lt;br /&gt;
 NuGet Package Manager &amp;gt; Package Manager Console&lt;br /&gt;
&lt;br /&gt;
Install required Selenium packages:&lt;br /&gt;
 Install-Package Selenium.WebDriver&lt;br /&gt;
 Install-Package Selenium.Support&lt;br /&gt;
 Install-Package NUnit -Version 2.6.4&lt;br /&gt;
 Install-Package NUnitTestAdapter&lt;br /&gt;
&lt;br /&gt;
Now in Solution Explorer we should have References to WebDriver and WebDriver.Support libraries.&lt;br /&gt;
&lt;br /&gt;
Install NUnit Test Adapter&lt;br /&gt;
 Tools &amp;gt; Extensions and Updates &amp;gt; Online &amp;gt; Visual Studio Gallery &amp;gt; NUnit Test Adapter&lt;br /&gt;
&lt;br /&gt;
Install Firefox and Selenium add-on.&lt;br /&gt;
&lt;br /&gt;
== Prepare and run a test ==&lt;br /&gt;
&lt;br /&gt;
Record a test with Selenium IDE and export it:&lt;br /&gt;
 File &amp;gt; Export Test Case As &amp;gt;  C# / NUnit / WebDriver&lt;br /&gt;
&lt;br /&gt;
Name it like this:&lt;br /&gt;
 Wallet.cs&lt;br /&gt;
&lt;br /&gt;
Load exported file in Visual Studio.&lt;br /&gt;
 Project &amp;gt; Add existing Item&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can drag and drop file on to project name in Solution Explorer.&lt;br /&gt;
&lt;br /&gt;
Run Test.&lt;br /&gt;
 Test &amp;gt; Windows &amp;gt; Test Explorer&lt;br /&gt;
&lt;br /&gt;
Use shortcut ctrl + r and then press a to run all tests.&lt;br /&gt;
&lt;br /&gt;
Yo can open Output window:&lt;br /&gt;
 View &amp;gt; Output&lt;br /&gt;
&lt;br /&gt;
== Data sets in Selenium WebDriver ==&lt;br /&gt;
&lt;br /&gt;
Prepare TestCase with two parameters like user and password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[TestCase(&amp;quot;demo&amp;quot;, &amp;quot;demo&amp;quot;)]&lt;br /&gt;
[TestCase(&amp;quot;test&amp;quot;, &amp;quot;demo&amp;quot;)]&lt;br /&gt;
public void TheWalletTest(string user, string password)&lt;br /&gt;
{&lt;br /&gt;
	driver.Navigate().GoToUrl(baseURL + &amp;quot;/wallet/&amp;quot;);&lt;br /&gt;
	driver.FindElement(By.Name(&amp;quot;user&amp;quot;)).Clear();&lt;br /&gt;
	driver.FindElement(By.Name(&amp;quot;user&amp;quot;)).SendKeys(user);&lt;br /&gt;
	driver.FindElement(By.Name(&amp;quot;password&amp;quot;)).Clear();&lt;br /&gt;
	driver.FindElement(By.Name(&amp;quot;password&amp;quot;)).SendKeys(password);&lt;br /&gt;
	driver.FindElement(By.Id(&amp;quot;log-in&amp;quot;)).Click();&lt;br /&gt;
	Assert.IsTrue(IsElementPresent(By.Id(&amp;quot;log-out&amp;quot;)));&lt;br /&gt;
	driver.FindElement(By.Id(&amp;quot;log-out&amp;quot;)).Click();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Annotations:&lt;br /&gt;
 [TestFixture]	- This marks a class that contains tests and, optionally, setup or teardown methods&lt;br /&gt;
 [SetUp]		- Is used to provide a set of functions that are performed just before each test method is called&lt;br /&gt;
 [Test]		- This marks a method inside a TestFixture class as a test&lt;br /&gt;
 [TestCase]	- This serves the dual purpose of marking a method with parameters as a test method and providing inline data to be used when invoking that method&lt;br /&gt;
 [TearDown]	- Is used to provide a set of functions that are performed after each test method is run&lt;br /&gt;
&lt;br /&gt;
== Run tests on multiple browsers ==&lt;br /&gt;
&lt;br /&gt;
Change driver from:&lt;br /&gt;
 driver = new FirefoxDriver();&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
 driver = new ChromeDriver();&lt;br /&gt;
&lt;br /&gt;
Download Chrome Driver:&lt;br /&gt;
 http://chromedriver.storage.googleapis.com/2.12/chromedriver_win32.zip&lt;br /&gt;
&lt;br /&gt;
Specify path to Chrome Driver executable file:&lt;br /&gt;
 driver = new ChromeDriver(@&amp;quot;C:\Selenium&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Chrome Driver can be also installed using Package Manager Console:&lt;br /&gt;
 Install-Package WebDriver.ChromeDriver.win32&lt;br /&gt;
 Install-Package WebDriver.IEDriverServer.win32&lt;br /&gt;
&lt;br /&gt;
Run tests.&lt;br /&gt;
&lt;br /&gt;
== Getting Internet Explorer to work ==&lt;br /&gt;
&lt;br /&gt;
Change security settings for Internet Explorer. Go to:&lt;br /&gt;
 Internet Options &amp;gt; Security&lt;br /&gt;
&lt;br /&gt;
Enable Protected Mode for all zones.&lt;br /&gt;
&lt;br /&gt;
Depending on situation, in Trusted sites zone click on Sites, add Web application server address e.g. http://192.168.0.108 and uncheck Require server verification box.&lt;br /&gt;
&lt;br /&gt;
== Parameters in Selenium WebDriver ==&lt;br /&gt;
&lt;br /&gt;
Prepare TestFixture with browser names as parameters.&lt;br /&gt;
&lt;br /&gt;
Create default constructor for TestFixture class.&lt;br /&gt;
&lt;br /&gt;
Create if statement to assign different drivers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace SeleniumTests&lt;br /&gt;
{&lt;br /&gt;
	[TestFixture(&amp;quot;firefox&amp;quot;)]&lt;br /&gt;
	[TestFixture(&amp;quot;chrome&amp;quot;)]&lt;br /&gt;
	[TestFixture(&amp;quot;internet explorer&amp;quot;)]&lt;br /&gt;
	public class Wallet&lt;br /&gt;
	{&lt;br /&gt;
		private IWebDriver driver;&lt;br /&gt;
		private StringBuilder verificationErrors;&lt;br /&gt;
		private string baseURL;&lt;br /&gt;
		private bool acceptNextAlert = true;&lt;br /&gt;
		private string browser;&lt;br /&gt;
		&lt;br /&gt;
		public Wallet(string browser)&lt;br /&gt;
		{&lt;br /&gt;
			this.browser = browser;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		[SetUp]&lt;br /&gt;
		public void SetupTest()&lt;br /&gt;
		{            &lt;br /&gt;
			if (browser == &amp;quot;chrome&amp;quot;)&lt;br /&gt;
			{&lt;br /&gt;
				driver = new ChromeDriver();&lt;br /&gt;
			}&lt;br /&gt;
			else if (browser == &amp;quot;internet explorer&amp;quot;)&lt;br /&gt;
			{&lt;br /&gt;
				driver = new InternetExplorerDriver();&lt;br /&gt;
			}&lt;br /&gt;
			else&lt;br /&gt;
			{&lt;br /&gt;
				driver = new FirefoxDriver();&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			baseURL = &amp;quot;http://192.168.0.108&amp;quot;;&lt;br /&gt;
			verificationErrors = new StringBuilder();&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other option is to create a switch statement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
			switch (browser)&lt;br /&gt;
			{&lt;br /&gt;
				case &amp;quot;chrome&amp;quot;:&lt;br /&gt;
					driver = new ChromeDriver();&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;internet explorer&amp;quot;:&lt;br /&gt;
					driver = new InternetExplorerDriver();&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					driver = new FirefoxDriver();&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remote WebDriver ==&lt;br /&gt;
&lt;br /&gt;
Download Selenium Server Standalone and run it from command line. Configure all necessary drivers:&lt;br /&gt;
 java -jar selenium-server-standalone-2.44.0.jar -Dwebdriver.chrome.driver=chromedriver.exe -Dwebdriver.ie.driver=IEDriverServer.exe&lt;br /&gt;
&lt;br /&gt;
Change the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DesiredCapabilities capabilities = new DesiredCapabilities();&lt;br /&gt;
&lt;br /&gt;
switch (browser)&lt;br /&gt;
{&lt;br /&gt;
	case &amp;quot;chrome&amp;quot;:&lt;br /&gt;
		capabilities = DesiredCapabilities.Chrome();&lt;br /&gt;
		break;&lt;br /&gt;
	case &amp;quot;internet explorer&amp;quot;:&lt;br /&gt;
		capabilities = DesiredCapabilities.InternetExplorer();&lt;br /&gt;
		break;&lt;br /&gt;
	default:&lt;br /&gt;
		capabilities = DesiredCapabilities.Firefox();&lt;br /&gt;
		break;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
capabilities.SetCapability(CapabilityType.BrowserName, browser);&lt;br /&gt;
capabilities.SetCapability(CapabilityType.Platform, os);&lt;br /&gt;
&lt;br /&gt;
driver = new RemoteWebDriver(new Uri(&amp;quot;http://localhost:4444/wd/hub&amp;quot;), capabilities);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add second parameter to TestFixture :&lt;br /&gt;
&lt;br /&gt;
 [TestFixture(&amp;quot;firefox&amp;quot;, &amp;quot;WINDOWS&amp;quot;)]&lt;br /&gt;
 [TestFixture(&amp;quot;chrome&amp;quot;, &amp;quot;WINDOWS&amp;quot;)]&lt;br /&gt;
 [TestFixture(&amp;quot;internet explorer&amp;quot;, &amp;quot;WINDOWS&amp;quot;)]&lt;br /&gt;
&lt;br /&gt;
Add missing variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private string browser;&lt;br /&gt;
private string os;&lt;br /&gt;
&lt;br /&gt;
public Wallet(string browser, string os)&lt;br /&gt;
{&lt;br /&gt;
	this.browser = browser;&lt;br /&gt;
	this.os = os;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run all tests again.&lt;br /&gt;
&lt;br /&gt;
== Selenium Grid ==&lt;br /&gt;
&lt;br /&gt;
Start Selenium Server as a Hub:&lt;br /&gt;
 java -jar selenium-server-standalone-2.44.0.jar -role hub&lt;br /&gt;
&lt;br /&gt;
The console is available at:&lt;br /&gt;
 http://localhost:4444/grid/console&lt;br /&gt;
&lt;br /&gt;
Prepare configuration file for Node.&lt;br /&gt;
&lt;br /&gt;
Register the Node with network address e.g. 192.168.0.50 to Selenium Hub with specific network address e.g. 192.168.0.10:&lt;br /&gt;
 java -jar selenium-server-standalone-2.44.0.jar -role node -nodeConfig Windows_7.json -Dwebdriver.chrome.driver=chromedriver.exe -Dwebdriver.ie.driver=IEDriverServer.exe&lt;br /&gt;
&lt;br /&gt;
Change the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[TestFixture(&amp;quot;firefox&amp;quot;, &amp;quot;WINDOWS&amp;quot;)]&lt;br /&gt;
[TestFixture(&amp;quot;chrome&amp;quot;, &amp;quot;WINDOWS&amp;quot;)]&lt;br /&gt;
[TestFixture(&amp;quot;internet explorer&amp;quot;, &amp;quot;WINDOWS&amp;quot;)]&lt;br /&gt;
[TestFixture(&amp;quot;firefox&amp;quot;, &amp;quot;LINUX&amp;quot;)]&lt;br /&gt;
[TestFixture(&amp;quot;chrome&amp;quot;, &amp;quot;LINUX&amp;quot;)]&lt;br /&gt;
public class Wallet&lt;br /&gt;
{&lt;br /&gt;
	private IWebDriver driver;&lt;br /&gt;
	private StringBuilder verificationErrors;&lt;br /&gt;
	private string baseURL;&lt;br /&gt;
	private bool acceptNextAlert = true;&lt;br /&gt;
	&lt;br /&gt;
	private string browser;&lt;br /&gt;
	private string os;&lt;br /&gt;
	&lt;br /&gt;
	public Wallet(string browser, string os)&lt;br /&gt;
	{&lt;br /&gt;
		this.browser = browser;&lt;br /&gt;
		this.os = os;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	[SetUp]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run all tests again.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
You can debug your tests:&lt;br /&gt;
 System.Console.WriteLine(&amp;quot;Page title is: &amp;quot; + driver.Title);&lt;br /&gt;
 System.Console.WriteLine(&amp;quot;Page address is: &amp;quot; + driver.Url);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Selenium]]&lt;/div&gt;</summary>
		<author><name>Łukasz Walec</name></author>
	</entry>
</feed>