Setting the Browser key in the app.config, we can execute the same script in the different browser(s).
///
/// Returns an instance of the web driver based on test
browser.
///
/// The browser driver.
public static IWebDriver
GetInstance()
{
string
browserName = ConfigurationManager.AppSettings["Browser"];
IWebDriver
webDriver = null;
switch
(browserName)
{
case
Internet_Explorer:
webDriver = IEWebDriver(); break;
case
FireFox: webDriver =
FireFoxWebDriver(); break;
case
Safari: webDriver =
SafariWebDriver(); break;
case
Chrome: webDriver =
ChromeWebDriver(); break;
default: throw new ArgumentException("The
suggested browser was not found");
}
return
webDriver;
}
///
/// Returns an instance of IE based driver.
///
/// IE based driver.
private
static IWebDriver
IEWebDriver()
{
IWebDriver
webDriver = new InternetExplorerDriver(ieDriverPath,
options, TimeSpan.FromMinutes(20)); webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(timeOut));
//Set The
Cursor Position Center of the Screen
Cursor.Position
= new Point(Screen.PrimaryScreen.Bounds.Width / 2, Screen.PrimaryScreen.Bounds.Height / 2);
return
webDriver;
}
///
/// Returns an instance of Firefox based driver.
///
/// FireFox based driver.
private
static IWebDriver
FireFoxWebDriver()
{
IWebDriver
webDriver = new FirefoxDriver(); webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(timeOut));
//Set The
Cursor Position Center of the Screen
Cursor.Position
= new Point(Screen.PrimaryScreen.Bounds.Width / 2, Screen.PrimaryScreen.Bounds.Height / 2);
return
webDriver;
}
///
/// Returns an instance of Safari based driver.
///
/// Safari based driver
private
static IWebDriver
SafariWebDriver()
{
IWebDriver
webDriver = new SafariDriver(); webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(timeOut));
return
webDriver;
}
///
/// Returns an instance of Chrome based driver.
///
/// Chrome based driver.
private
static IWebDriver
ChromeWebDriver()
{
IWebDriver
webDriver = new ChromeDriver(
(Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
+ "\\..\\..\\..\\..\\ExternalAssemblies").Replace("file:\\", ""));
return
webDriver;
}
}
Add browser key
in the app.config -
<add key="Browser" value="Internet Explorer"
/>