/// <summary> /// Creates the instance of WebDriver class. /// </summary> /// <param name="configuration">The configuration.</param> /// <returns> /// The instance of WebDriver class. /// </returns> public static IWebDriver Create(DriverConfiguration configuration) { switch (configuration.Remote) { case false: CreateLocalDriver(configuration); break; case true: CreateRemoteDriver(configuration); break; } return webDriver; }
/// <summary> /// Creates the local driver. /// </summary> /// <param name="configuration">The configuration.</param> private static void CreateLocalDriver(DriverConfiguration configuration) { switch (configuration.Browser) { case "Firefox": webDriver = new FirefoxDriver(); break; case "Chrome": webDriver = new ChromeDriver(AppDomain.CurrentDomain.BaseDirectory); break; case "IE": webDriver = new InternetExplorerDriver(AppDomain.CurrentDomain.BaseDirectory); break; default: webDriver = new FirefoxDriver(); break; } }
/// <summary> /// Creates the remote driver. /// </summary> /// <param name="configuration">The configuration.</param> private static void CreateRemoteDriver(DriverConfiguration configuration) { switch (configuration.Browser) { case "Firefox": desiredCapabilities = DesiredCapabilities.Firefox(); break; case "Chrome": desiredCapabilities = DesiredCapabilities.Chrome(); break; case "IE": desiredCapabilities = DesiredCapabilities.InternetExplorer(); break; default: desiredCapabilities = DesiredCapabilities.Firefox(); break; } webDriver = new RemoteWebDriver(new Uri(configuration.SeleniumHubUrl), desiredCapabilities); }