/// <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);
        }