Example #1
0
        private static RemoteWebDriver createPhantomJSDriver(string seleniumHub)
        {
            RemoteWebDriver  driver;
            PhantomJSOptions opt = new PhantomJSOptions();

            driver = new RemoteWebDriver(new Uri(seleniumHub), opt.ToCapabilities(), TimeSpan.FromSeconds(600));
            return(driver);
        }
Example #2
0
        private IWebDriver GetRemoteBrowser(BrowserType browser, string version = null, DriverOptions options = null, LogLevel logLevel = LogLevel.Severe)
        {
            var gridAddress = new Uri($"{WebDriverSettings.SeleniumGridServer}/wd/hub");

            Log.Debug($"EXECUTING: GetRemoteBrowser(): {gridAddress.AbsoluteUri},{browser},{(!string.IsNullOrEmpty(version) ? version : string.Empty)},{(options != null ? options.GetType().Name : string.Empty)},{logLevel}");
            ICapabilities capabillities;

            SetupDriverOptions(browser, options, logLevel);

            switch (browser)
            {
            case BrowserType.Chrome:
                capabillities = _chromeOpts.ToCapabilities();
                break;

            case BrowserType.Edge:
                capabillities = _edgeOpts.ToCapabilities();
                break;

            case BrowserType.Firefox:
                capabillities = _firefoxOpts.ToCapabilities();
                break;

            case BrowserType.IE:
                _ieOpts.AddAdditionalCapability("version", !string.IsNullOrEmpty(version) ? version : "11");
                capabillities = _ieOpts.ToCapabilities();
                break;

            case BrowserType.Phantomjs:
                capabillities = _phantomJsOpts.ToCapabilities();
                break;

            case BrowserType.Safari:
                capabillities = _safariOpts.ToCapabilities();
                break;

            default:
                throw new Exception($"Unsupported BrowserType={browser}");
            }

            try
            {
                return(new RemoteWebDriver(gridAddress, capabillities));
            }

            catch (Exception e)
            {
                if (e is WebDriverTimeoutException || e is WebDriverException)
                {
                    var msg = $"Unable to connect to Selenium Grid: {gridAddress}, {e.Message}";
                    throw new Exception(msg, e);
                }

                throw new Exception($"An exception has occurred: {e.Message}", e);
            }
        }