/// <summary> /// Initializes the browser. /// </summary> /// <param name="kind">The browser kind.</param> /// <returns>The web driver.</returns> public static IWebDriver Initialize(BrowserKind kind) { if (!s_initialized) { LogHelper.Log("Initializing browser..."); var driversFolder = AppConfig.BrowserDriverFolder; var proxy = new Proxy(); switch (kind) { case BrowserKind.Chrome: Current = new ChromeBrowser(); break; case BrowserKind.Firefox: Current = new FirefoxBrowser(); break; case BrowserKind.IE: Current = new IEBrowser(); break; case BrowserKind.PhantomJS: Current = new PhantomJSBrowser(); break; default: throw new InvalidOperationException("Browser {0} not supported.".With(kind)); } LogHelper.Log("{0} selected.", kind); ExecutionEvents.RaiseBrowserInitializing(); Current.Initialize(driversFolder, proxy); LogHelper.Log("Browser initialized."); s_initialized = true; ExecutionEvents.RaiseBrowserInitialized(); } return Current.Driver; }