Example #1
0
        /// <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;
        }