Ejemplo n.º 1
0
        public RemoteWebDriver ReturnWebDriver(Browsers browsers)
        {
            switch (browsers)
            {
            case Browsers.FirefoxLocal:
                return(new FirefoxDriver());

            case Browsers.FirefoxRemote:
                var firefoxOptions = new FirefoxOptions();
                firefoxOptions.AddAdditionalCapability("enableVNC", true, true);
                firefoxOptions.AddAdditionalCapability("enableVideo", true, true);
                //Place where you put url address to Selenoid
                return(new RemoteWebDriver(new Uri("http://addressToYourSelenoid:4444/wd/hub"), firefoxOptions));

            case Browsers.ChromeLocal:
                return(new ChromeDriver());

            case Browsers.ChromeRemote:
                var options = new ChromeOptions();
                options.BrowserVersion = "69.0";
                options.AddAdditionalCapability("enableVNC", true, true);
                options.AddAdditionalCapability("enableVideo", true, true);
                //Place where you put url address to Selenoid
                return(new RemoteWebDriver(new Uri("http://addressToYourSelenoid:4444/wd/hub"), options));

            default:
                throw new ArgumentOutOfRangeException(nameof(browsers), browsers, null);
            }
        }
Ejemplo n.º 2
0
 internal static void AddBrowserCapabilities <T>(this T options, BrowserType browser, string testDetails)
 {
     if (browser == BrowserType.Chrome)
     {
         ChromeOptions chromeOptions = BaseUtil.ConvertToType <ChromeOptions>(options);
         chromeOptions.PageLoadStrategy = PageLoadStrategy.None;
         chromeOptions.AddArgument("no-sandbox");
         chromeOptions.AddAdditionalCapability("zal:tz", "America/Chicago", true);
         chromeOptions.AddAdditionalCapability("zal:name", testDetails, true);
         chromeOptions.AddAdditionalCapability("zal:screenResolution", "1600x900", true);
     }
     else if (browser == BrowserType.Firefox)
     {
         FirefoxOptions firefoxOptions = BaseUtil.ConvertToType <FirefoxOptions>(options);
         firefoxOptions.PageLoadStrategy = PageLoadStrategy.None;
         firefoxOptions.AddAdditionalCapability("zal:tz", "America/Chicago", true);
         firefoxOptions.AddAdditionalCapability("zal:name", testDetails, true);
         firefoxOptions.AddAdditionalCapability("zal:screenResolution", "1600x900", true);
     }
     else
     {
         DriverOptions _options = BaseUtil.ConvertToType <DriverOptions>(options);
         _options.PageLoadStrategy = PageLoadStrategy.None;
         _options.AddAdditionalCapability("zal:tz", "America/Chicago");
         _options.AddAdditionalCapability("zal:name", testDetails);
         _options.AddAdditionalCapability("zal:screenResolution", "1600x900");
     }
 }
Ejemplo n.º 3
0
        private FirefoxOptions CreateOptions()
        {
            var options = new FirefoxOptions();

            if (BrowserSettings.Settings.IsRemoteRun())
            {
                options.AddAdditionalCapability("version", BrowserSettings.Settings.Remote.Version ?? Constants.DEFAULT_VERSION, true);
                options.AddAdditionalCapability("enableVNC", true, true);
                options.AddAdditionalCapability("platform", BrowserSettings.Settings.Remote.Platform ?? Constants.DEFAULT_PLATFORM, true);
                options.AddAdditionalCapability("name", BrowserSettings.Settings.Remote.Project ?? Constants.DEFAULT_PROJECT, true);
            }

            if (BrowserSettings.Settings.IsOptions())
            {
                options.AddArguments(BrowserSettings.Settings.Options);
            }

            if (!BrowserSettings.Settings.IsBinaryPath())
            {
                options.BrowserExecutableLocation = BrowserSettings.Settings.BinaryLocation;
            }

            if (BrowserSettings.Settings.CheckCapability())
            {
                options.AddCapabilities(BrowserSettings.Settings.Capabilities);
            }

            return(options);
        }
        private static IWebDriver GetLocalDriver(TestConfig config)
        {
            switch (config.Browser.ToLower())
            {
            case "firefox":
                FirefoxProfile defaultProfile = (new FirefoxProfileManager()).GetProfile("default");
                //DesiredCapabilities capabilities = new DesiredCapabilities();
                //capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, defaultProfile);
                //capabilities.SetCapability(CapabilityType.PageLoadStrategy, "none");
                FirefoxOptions qwe = new FirefoxOptions();
                qwe.AddAdditionalCapability(FirefoxDriver.ProfileCapabilityName, defaultProfile);
                qwe.AddAdditionalCapability(CapabilityType.PageLoadStrategy, "none");
                return(new FirefoxDriver(qwe));

            case "chrome":
                return(new ChromeDriver(libPath));

            case "internet explorer":
                var options = new InternetExplorerOptions()
                {
                    InitialBrowserUrl = null,
                    IntroduceInstabilityByIgnoringProtectedModeSettings = true,
                    IgnoreZoomLevel    = true,
                    EnableNativeEvents = false
                };
                return(new InternetExplorerDriver(libPath, options));

            case "phantomjs":
                return(new PhantomJSDriver(libPath));

            default:
                throw new PlatformNotSupportedException("Framework does not support browser: " + config.Browser);
            }
        }
Ejemplo n.º 5
0
        private static FirefoxOptions FirefoxOptions()
        {
            var firefoxOptions = new FirefoxOptions();

            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            firefoxOptions.Profile = new FirefoxProfile();
            firefoxOptions.Profile.SetPreference("intl.accept_languages", "en-GB");
            firefoxOptions.AddAdditionalCapability("enableVNC", true, true);
            firefoxOptions.AddAdditionalCapability("enableVideo", true, true);
            firefoxOptions.AddAdditionalCapability("videoName", $"{TestContext.CurrentContext.Test.Name}.mp4", true);
            return(firefoxOptions);
        }
Ejemplo n.º 6
0
        public static void InitBrowser(BrowserType browserType)
        {
            int commandTimeOut = 10;

            switch (browserType)
            {
            case BrowserType.Chrome:
                ChromeOptions chromeOptions = new ChromeOptions();
                chromeOptions.AddAdditionalCapability(CapabilityType.AcceptInsecureCertificates, true, true);
                chromeOptions.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true, true);

                driver = new ChromeDriver(ChromeDriverService.CreateDefaultService(), chromeOptions, TimeSpan.FromMinutes(commandTimeOut));

                break;

            case BrowserType.Edge:
                EdgeOptions edgeOptions = new EdgeOptions();
                edgeOptions.AddAdditionalCapability(CapabilityType.AcceptInsecureCertificates, true);
                edgeOptions.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true);

                driver = new EdgeDriver(EdgeDriverService.CreateDefaultService(), edgeOptions, TimeSpan.FromMinutes(commandTimeOut));

                break;

            case BrowserType.Firefox:
                FirefoxOptions ffOptions = new FirefoxOptions();
                ffOptions.AddAdditionalCapability(CapabilityType.AcceptInsecureCertificates, true, true);
                ffOptions.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true, true);

                driver = new FirefoxDriver(FirefoxDriverService.CreateDefaultService(), ffOptions, TimeSpan.FromMinutes(commandTimeOut));

                break;

            case BrowserType.InternetExplorer:
                InternetExplorerOptions ieOptions = new InternetExplorerOptions();
                ieOptions.AddAdditionalCapability(CapabilityType.AcceptInsecureCertificates, false, false);
                ieOptions.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true, true);
                ieOptions.IgnoreZoomLevel = true;

                driver = new InternetExplorerDriver(InternetExplorerDriverService.CreateDefaultService(), ieOptions, TimeSpan.FromMinutes(commandTimeOut));

                break;

            default:
                throw new NotImplementedException("BrowserType not implemented");
            }

            driver.Manage().Timeouts().PageLoad.Add(System.TimeSpan.FromSeconds(60));
            driver.Manage().Cookies.DeleteAllCookies();
            driver.Manage().Window.Maximize();
        }
Ejemplo n.º 7
0
        private IWebDriver GetGridFirefox() //throws MalformedURLException
        {
            FirefoxOptions options = new FirefoxOptions();

            options.AddAdditionalCapability("ignoreProtectedModeSettings", true);
            options.AddAdditionalCapability("EnsureCleanSession", true);
            IWebDriver _webdriver = new RemoteWebDriver(new Uri(_HUB_URI), options.ToCapabilities(), TimeSpan.FromSeconds(300));

            return(_webdriver);

            //TAK W JAVA
            //DesiredCapabilities dc = DesiredCapabilities.Firefox();
            //IWebDriver driver = new RemoteWebDriver(new URL(_HUB_URI), dc);
            //return driver;
        }
        public void FirefoxDriverTest()
        {
            var options = new FirefoxOptions();

            options.AddAdditionalCapability("username", sauceUserName, true);
            options.AddAdditionalCapability("accessKey", sauceAccessKey, true);
            options.AddAdditionalCapability(CapabilityType.Platform, "Windows", true);

            using (var driver = new RemoteWebDriver(RemoteAddress, options.ToCapabilities(), CommandTimeout))
            {
                //driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
                //driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(30);
                driver.Navigate().GoToUrl("https://login.live.com");
            }
        }
Ejemplo n.º 9
0
        private static RemoteWebDriver StartFirefoxDriver(DriverSettings settings)
        {
            var profile = new FirefoxProfile(null, true);

            if (!string.IsNullOrEmpty(settings.Proxy))
            {
                profile.SetProxyPreferences(new Proxy {
                    HttpProxy = settings.Proxy
                });
            }
            settings.Extensions?.ForEach(ext => profile.AddExtension(ext.RelativeToBaseDirectory()));
            var options = new FirefoxOptions {
                Profile = profile, UseLegacyImplementation = false
            };

            settings.Capabilities?.ForEach(cap => options.AddAdditionalCapability(cap.Key, cap.Value));
            if (!string.IsNullOrEmpty(settings.BrowserBinaryPath))
            {
                options.BrowserExecutableLocation = settings.BrowserBinaryPath;
            }
            if (settings.CmdArgs != null)
            {
                options.AddArguments(settings.CmdArgs);
            }
            settings.ProfilePrefs?.ForEach(pref => options.SetPreference(pref.Key, (dynamic)pref.Value));
            return(new FirefoxDriver(options));
        }
        private void OpenBrowser(DriverOptions driverOptions)
        {
            switch (driverOptions)
            {
            case InternetExplorerOptions internetExplorerOptions:
                //ToDo: Set the Desired capabilities
                driverOptions = new InternetExplorerOptions();
                break;

            case FirefoxOptions firefoxOptions:
                FirefoxOptions firefoxOption = new FirefoxOptions();
                firefoxOption.AddAdditionalCapability(firefoxOption.BrowserName, "Firefox");

                /* firefoxOptions.AddAdditionalCapability(CapabilityType.BrowserName, Setting.BrowserType);
                 * firefoxOptions.AddAdditionalCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));
                 * firefoxOptions.BrowserExecutableLocation = @"C:\Program Files (x86)\firefoxDriver\geckodriver.exe";*/
                break;

            case ChromeOptions chromeOptions:
                ChromeOptions chromeOption = new ChromeOptions();
                chromeOption.AddAdditionalCapability(driverOptions.BrowserName, "Chrome");
                chromeOptions.AddAdditionalCapability(CapabilityType.EnableProfiling, true, true);
                break;
            }

            _parallelConfig.Driver = new RemoteWebDriver(new Uri(Setting.AUT), driverOptions.ToCapabilities());
        }
Ejemplo n.º 11
0
        public dynamic Setcapabilites(WebBrowserConfiguration webBrowserConfiguration)
        {
            FirefoxOptions option = new FirefoxOptions();

            option.AddAdditionalCapability("name", TestContext.CurrentContext.Test.Name, true);
            return(option);
        }
Ejemplo n.º 12
0
        public void W3CFirefoxTest()
        {
            // Set up the browser options
            var ffOptions = new FirefoxOptions();

            ffOptions.PlatformName   = "Windows 10";
            ffOptions.BrowserVersion = "latest";

            // Set up the new Sauce Options for C#
            // For more information: https://wiki.saucelabs.com/display/DOCS/Selenium+W3C+Capabilities+Support+-+Beta
            var sauceOptions = new Dictionary <string, object>();

            sauceOptions.Add("username", _sauceUsername);
            sauceOptions.Add("accessKey", _sauceAccessKey);
            sauceOptions.Add("name", TestContext.CurrentContext.Test.Name);

            // seleniumVersion is REQUIRED for any browser other than Chrome
            sauceOptions.Add("seleniumVersion", "3.141.59");

            ffOptions.AddAdditionalCapability("sauce:options", sauceOptions, true);

            // Sauce Lab's endpoint
            var uri = new Uri("http://ondemand.saucelabs.com/wd/hub");

            // Instantiate the driver with the Uri and browser options
            _driver = new RemoteWebDriver(uri, ffOptions);

            _driver.Navigate().GoToUrl("https://www.saucelabs.com");
            StringAssert.Contains("Sauce Labs", _driver.Title);
        }
Ejemplo n.º 13
0
        public static void StartDriver(string whichDriver)
        {
            Log(logPrefix + "starting driver " + whichDriver);
            Browser = whichDriver;

            switch (whichDriver)
            {
            case "chrome":
                driver = new ChromeDriver();
                break;

            //there is some problem with compabitility driver and firefox version
            //both should be compatible to avoid blank page after firefox started
            //Current version of driver (0.21.0) supports FF 57 or higher
            case "firefox":

                FirefoxOptions options = new FirefoxOptions();
                options.AddAdditionalCapability("moz:webdriverClick", true, true);

                //firefox preferences to avoid download manager window (unfortunetly it doesn't work):
                options.SetPreference("browser.download.folderList", 1);
                options.SetPreference("browser.download.useDownloadDir", true);
                options.SetPreference("browser.download.manager.showWhenStarting", false);
                options.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
                options.SetPreference("pdfjs.disabled", true);
                options.SetPreference("browser.download.panel.shown", false);
                options.SetPreference("browser.download.manager.alertOnEXEOpen", false);
                options.SetPreference("browser.download.manager.closeWhenDone", true);
                options.SetPreference("browser.download.manager.focusWhenStarting", false);
                options.SetPreference("browser.download.manager.showWhenStarting", false);
                options.SetPreference("browser.download.manager.useWindow", false);
                options.SetPreference("browser.download.manager.showAlertOnComplete", false);
                options.SetPreference("pdfjs.enabledCache.state", false);
                options.SetPreference("browser.helperApps.alwaysAsk.force", false);
                options.SetPreference("plugin.scan.Acrobat", "99.0");
                options.SetPreference("plugin.scan.plid.all", false);

                driver = new FirefoxDriver(options);

                driver.Manage().Timeouts().PageLoad.Add(System.TimeSpan.FromSeconds(10));
                driver.Manage().Timeouts().AsynchronousJavaScript.Add(TimeSpan.FromSeconds(10));

                break;

            default:
            {
                Log(logPrefix + "Not compatible drivers");
                break;
            }
            }

            driver.Manage().Window.Maximize();
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            driver.Manage().Timeouts().PageLoad     = TimeSpan.FromSeconds(10);

            Log(logPrefix + "driver " + whichDriver + " started");
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Instancia o driver do Firefox e  maximiza a tela do navegador
        /// </summary>
        /// <remarks>Escrita por Alan Spindler em 07/03/2016</remarks>
        private void TestarNoFirefox()
        {
            Environment.SetEnvironmentVariable("PATH", (DIRETORIO_APLICACAO));
            var options = new FirefoxOptions();

            options.AddAdditionalCapability("acceptInsecureCerts", true, true);
            driver = new FirefoxDriver(DIRETORIO_APLICACAO, options);
            driver.Manage().Window.Maximize();
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
        }
Ejemplo n.º 15
0
        public static IWebDriver SetUp(string driverType)
        {
            switch (driverType)
            {
            case "firefox":
                var fireFoxOptions = new FirefoxOptions();
                fireFoxOptions.AddArguments("--start-maximized");
                fireFoxOptions.AddAdditionalCapability(CapabilityType.Version, "latest", true);
                fireFoxOptions.AddAdditionalCapability(CapabilityType.Platform, "Windows 10", true);
                return(new FirefoxDriver(fireFoxOptions));

            default:
                var chromeOptions = new ChromeOptions();
                chromeOptions.AddArguments("--start-maximized", "--disable-notifications", "--disable-popup-blocking", "–disable-infobars");
                chromeOptions.AddAdditionalCapability(CapabilityType.Version, "latest", true);
                chromeOptions.AddAdditionalCapability(CapabilityType.Platform, "Windows 10", true);
                return(new ChromeDriver(chromeOptions));
            }
        }
Ejemplo n.º 16
0
        public static IWebDriver CreateSauceDriver(SauceConfigurations sauceConfigurations)
        {
            var sauceOptions = new Dictionary <string, object>
            {
                { "screenResolution", sauceConfigurations.ScreenResolution },
                { "username", SauceUserName },
                { "accessKey", SauceAccessKey },
                { "deviceName", sauceConfigurations.DeviceName },
                { "deviceOrientation", sauceConfigurations.DeviceOrientation },
                { "name", TestContext.CurrentContext.Test.Name }
            };

            switch (sauceConfigurations.Browser)
            {
            case Browser.Chrome:
                var chromeOptions = new ChromeOptions
                {
                    UseSpecCompliantProtocol = true,
                    PlatformName             = sauceConfigurations.Os,
                    BrowserVersion           = sauceConfigurations.Version
                };
                chromeOptions.AddAdditionalCapability("sauce:options", sauceOptions, true);
                return(new RemoteWebDriver(new Uri(SauceRemoteAddress), chromeOptions));

            case Browser.Firefox:
                var firefoxOptions = new FirefoxOptions
                {
                    PlatformName   = sauceConfigurations.Os,
                    BrowserVersion = sauceConfigurations.Version
                };
                firefoxOptions.AddAdditionalCapability("sauce:options", sauceOptions, true);
                return(new RemoteWebDriver(new Uri(SauceRemoteAddress), firefoxOptions));

            case Browser.Safari:
                var safariOptions = new SafariOptions
                {
                    PlatformName   = sauceConfigurations.Os,
                    BrowserVersion = sauceConfigurations.Version
                };
                safariOptions.AddAdditionalCapability("sauce:options", sauceOptions);
                return(new RemoteWebDriver(new Uri(SauceRemoteAddress), safariOptions));

            case Browser.Edge:
                var edgeOptions = new EdgeOptions
                {
                    PlatformName   = sauceConfigurations.Os,
                    BrowserVersion = sauceConfigurations.Version
                };
                edgeOptions.AddAdditionalCapability("sauce:options", sauceOptions);
                return(new RemoteWebDriver(new Uri(SauceRemoteAddress), edgeOptions));

            default:
                throw new ArgumentException("Invalid browser");
            }
        }
Ejemplo n.º 17
0
        public static IWebDriver CreateSauceDriver(BrowserType browserType, TestContext currentContext)
        {
            //var sauceUserName = Environment.GetEnvironmentVariable("SAUCE_USERNAME");
            //var sauceAccessKey = Environment.GetEnvironmentVariable("SAUCE_ACCESS_KEY");
            var sauceUserName  = "******";
            var sauceAccessKey = "6eff0f7a-02a0-438d-8cf1-ef33bed304fd";

            var sauceLabUrl = ConfigurationManager.AppSettings["SauceLabWebDriverHub"];

            /*
             * In this section, we will configure our test to run on some specific
             * browser/os combination in Sauce Labs
             */
            var sauceOptions = new Dictionary <string, object>();

            sauceOptions.Add("username", sauceUserName);
            sauceOptions.Add("accessKey", sauceAccessKey);
            sauceOptions.Add("name", currentContext.Test.Name);

            switch (browserType)
            {
            case BrowserType.Chrome:
                var chromeOptions = new ChromeOptions();
                var chromeCaps    = ConfigurationManager.GetSection("environments/chrome") as NameValueCollection;
                chromeOptions.UseSpecCompliantProtocol = true;
                chromeOptions.PlatformName             = chromeCaps["platform"];
                chromeOptions.BrowserVersion           = chromeCaps["browser_version"];
                chromeOptions.AddAdditionalCapability("sauce:options", sauceOptions, true);

                return(new RemoteWebDriver(new Uri(sauceLabUrl),
                                           chromeOptions));

            case BrowserType.Edge:
                break;

            case BrowserType.Firefox:
                var firefoxOptions = new FirefoxOptions();
                var firefoxCaps    = ConfigurationManager.GetSection("environments/firefox") as NameValueCollection;
                firefoxOptions.PlatformName   = firefoxCaps["platform"];
                firefoxOptions.BrowserVersion = firefoxCaps["browser_version"];
                firefoxOptions.AddAdditionalCapability("sauce:options", sauceOptions, true);

                return(new RemoteWebDriver(new Uri(sauceLabUrl), firefoxOptions));

            case BrowserType.Safari:
                break;

            default:
                break;
            }

            return(null);
        }
        RemoteWebDriver RemoteFirefoxBrowser(IApplicationSource applicationSource)
        {
            FirefoxOptions options = new FirefoxOptions();

            options.AddArguments(applicationSource.GetBrowserOptions());

            foreach (var capabilities in applicationSource.GetCapabilities())
            {
                options.AddAdditionalCapability(capabilities.Key, capabilities.Value, true);
            }
            return(new RemoteWebDriver(applicationSource.GetUri(), options.ToCapabilities(), TimeSpan.FromSeconds(180)));
        }
        private static FirefoxOptions SetOptions(Dictionary <string, object> capabilities)
        {
            var options = new FirefoxOptions();
            var profile = new FirefoxProfile();

            foreach (var cap in capabilities)
            {
                if (cap.Key.Equals("FirefoxProfile", StringComparison.OrdinalIgnoreCase))
                {
                    profile = new FirefoxProfileManager().GetProfile(cap.Value.ToString());
                }
                else if (cap.Key.StartsWith("Capability", StringComparison.OrdinalIgnoreCase))
                {
                    var args = Extensions.ParseWithDelimiter(cap.Value.ToString());
                    options.AddAdditionalCapability(args[0], args[1]);
                }
                else if (cap.Key.Equals("Binary", StringComparison.OrdinalIgnoreCase))
                {
                    options.BrowserExecutableLocation = cap.Value.ToString();
                }
                else if (cap.Key.Equals("Arguments", StringComparison.OrdinalIgnoreCase))
                {
                    options.AddArguments(cap.Value.ToString().Split(';'));
                }
                else if (cap.Key.StartsWith("Preference", StringComparison.OrdinalIgnoreCase))
                {
                    var args = Extensions.ParseWithDelimiter(cap.Value.ToString());
                    options.SetPreference(args[0], args[1]);
                }
                else if (cap.Key.Equals("Extensions", StringComparison.OrdinalIgnoreCase))
                {
                    foreach (var extension in cap.Value.ToString().Split(';'))
                    {
                        profile.AddExtension(extension);
                    }
                }
                else if (cap.Key.Equals("AcceptUntrustedCertificates", StringComparison.OrdinalIgnoreCase))
                {
                    profile.AcceptUntrustedCertificates = true;
                }
                else if (cap.Key.Equals("AcceptInsecureCertificates", StringComparison.OrdinalIgnoreCase))
                {
                    options.AcceptInsecureCertificates = true;
                }
                else if (cap.Key.Equals("AssumeUntrustedCertificateIssuer", StringComparison.OrdinalIgnoreCase))
                {
                    profile.AssumeUntrustedCertificateIssuer = true;
                }
            }

            options.Profile = profile;
            return(options);
        }
Ejemplo n.º 20
0
        private DriverOptions GetDriverOptions()
        {
            switch (this.BrowserStackSettings.BrowserName.ToLower(CultureInfo.CurrentCulture))
            {
            case "chrome":
                var chromeDriverOptions = new ChromeOptions();
                foreach (var capability in this.AdditionalCapabilities)
                {
                    chromeDriverOptions.AddAdditionalCapability(capability.Key, capability.Value, true);
                }

                return(chromeDriverOptions);

            case "ie":
                var ieDriverOptions = new InternetExplorerOptions();
                foreach (var capability in this.AdditionalCapabilities)
                {
                    ieDriverOptions.AddAdditionalCapability(capability.Key, capability.Value, true);
                }

                return(ieDriverOptions);

            case "edge":
                var edgeDriverOptions = new EdgeOptions();
                foreach (var capability in this.AdditionalCapabilities)
                {
                    edgeDriverOptions.AddAdditionalCapability(capability.Key, capability.Value);
                }

                return(edgeDriverOptions);

            case "firefox":
                var firefoxDriverOptions = new FirefoxOptions();
                foreach (var capability in this.AdditionalCapabilities)
                {
                    firefoxDriverOptions.AddAdditionalCapability(capability.Key, capability.Value, true);
                }

                return(firefoxDriverOptions);

            case "safari":
                var safariDriverOptions = new SafariOptions();
                foreach (var capability in this.AdditionalCapabilities)
                {
                    safariDriverOptions.AddAdditionalCapability(capability.Key, capability.Value);
                }

                return(safariDriverOptions);

            default:
                throw new ArgumentOutOfRangeException("Unable to create the browser specific driver options. An update is required.");
            }
        }
Ejemplo n.º 21
0
        private void SetRemoteDriverFireFoxOptions(NameValueCollection driverCapabilitiesConf, NameValueCollection settings, FirefoxOptions firefoxOptions)
        {
            // if there are any capability
            if (driverCapabilitiesConf != null)
            {
                // loop through all of them
                for (var i = 0; i < driverCapabilitiesConf.Count; i++)
                {
                    string value = driverCapabilitiesConf.GetValues(i)[0];
                    Logger.Trace(CultureInfo.CurrentCulture, "Adding driver capability {0}", driverCapabilitiesConf.GetKey(i));
                    firefoxOptions.AddAdditionalCapability(driverCapabilitiesConf.GetKey(i), value, true);
                }
            }

            foreach (string key in settings.AllKeys)
            {
                Logger.Trace(CultureInfo.CurrentCulture, "Adding driver capability {0} from {1}", key, this.CrossBrowserEnvironment);

                firefoxOptions.AddAdditionalCapability(key, settings[key], true);
            }
        }
        /// <summary>
        /// TODO: Set as Private
        /// </summary>
        /// <param name="locale"></param>
        /// <returns></returns>
        public IWebDriver GetFirefoxDriver(string locale = "", FirefoxProfile profile = null)
        {
            Console.Write("Loading FireFox Driver");
            if (locale == "")
            {
                locale = "en_US";
            }
            IWebDriver d;

            if (profile == null)
            {
                profile = new FirefoxProfile();
                profile.AcceptUntrustedCertificates      = true;
                profile.AssumeUntrustedCertificateIssuer = true;
            }

            if (Settings.isLocal)
            {
                FirefoxOptions options = new FirefoxOptions();
                options.Profile = profile;
                options.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true);
                options.AddAdditionalCapability(CapabilityType.HasNativeEvents, true);
                options.AddAdditionalCapability("acceptSslCerts", true);
                options.AddAdditionalCapability("acceptInsecureCerts", true);
                options.SetLoggingPreference(LogType.Browser.ToString(), LogLevel.All);
                options.LogLevel = FirefoxDriverLogLevel.Trace;

                FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(URL.driver);
                d = new FirefoxDriver(service, options, TimeSpan.FromMinutes(60));

                return(d);
            }
            else
            {
                DesiredCapabilities desiredCapabilities = DesiredCapabilities.Firefox();
                desiredCapabilities.SetCapability("firefox_profile", profile);
                d = new RemoteWebDriverPlus(new Uri(URL.seleniumHub), desiredCapabilities);
                return(d);
            }
        }
Ejemplo n.º 23
0
        public static IWebDriver InitBrowser(Settings settings)
        {
            IWebDriver driver;

            switch (settings.BrowserType)
            {
            case BrowserType.Firefox:
                driver = new FirefoxDriver();
                break;

            case BrowserType.Chrome:
            default:
                driver = new ChromeDriver();
                break;

            case BrowserType.RemoteChrome:
                var chromeOptions = new ChromeOptions
                {
                    AcceptInsecureCertificates = true
                };
                chromeOptions.AddAdditionalCapability("version", settings.BrowserVersion, true);
                chromeOptions.AddAdditionalCapability("platform", "Any", true);
                chromeOptions.AddAdditionalCapability("enableVNC", true, true);
                driver = new RemoteWebDriver(new Uri(settings.RemoteUri), chromeOptions);
                DetectFile(driver);
                // var sessionIdProperty = typeof(RemoteWebDriver).GetProperty("SessionId", BindingFlags.Instance | BindingFlags.NonPublic);
                //var sessionId = sessionIdProperty.GetValue(driver, null) as SessionId;
                break;

            case BrowserType.RemoteFirefox:
                var firefoxOptions = new FirefoxOptions();
                firefoxOptions.AddAdditionalCapability("version", settings.BrowserVersion, true);
                firefoxOptions.AddAdditionalCapability("platform", "Any", true);
                firefoxOptions.AddAdditionalCapability("enableVNC", true, true);
                driver = new RemoteWebDriver(new Uri(settings.RemoteUri), firefoxOptions);
                DetectFile(driver);
                break;
            }
            return(driver);
        }
Ejemplo n.º 24
0
        public void testBrowserStack()
        {
            //var driver = new FirefoxDriver();
            //var driverService = FirefoxDriverService.CreateDefaultService();
            //driverService.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
            //driverService.HideCommandPromptWindow = true;
            //driverService.SuppressInitialDiagnosticInformation = true;
            //driver = new FirefoxDriver(driverService, new FirefoxOptions(), TimeSpan.FromSeconds(60));
            //driver.Navigate().GoToUrl("https://www.google.com");
            //string title = driver.Title;
            //driver.Quit();
            //driver.Close();
            //Assert.AreEqual("Google2", title);


            IWebDriver driver;
            //DesiredCapabilities capability = DesiredCapabilities.Firefox();
            //capability.SetCapability("browserstack.user", "mehmetserce1");
            //capability.SetCapability("browserstack.key", "fxrxXXDT9xYmgkLSzqLs");

            FirefoxOptions capability = new FirefoxOptions();

            capability.AddAdditionalCapability("browserstack.user", "mehmetserce1");
            capability.AddAdditionalCapability("browserstack.key", "fxrxXXDT9xYmgkLSzqLs");

            driver = new RemoteWebDriver(
                new Uri("http://hub-cloud.browserstack.com/wd/hub/"), capability
                );
            driver.Navigate().GoToUrl("https://www.google.com");
            Console.WriteLine(driver.Title);

            IWebElement query = driver.FindElement(By.Name("q"));

            query.SendKeys("Browserstack");
            query.Submit();
            Console.WriteLine(driver.Title);

            driver.Quit();
        }
Ejemplo n.º 25
0
        private static FirefoxOptions GetFirefoxProfile()
        {
            FirefoxOptions firefoxProfile = new FirefoxOptions();

            firefoxProfile.SetPreference("browser.download.folderList", 2);
            firefoxProfile.SetPreference("browser.download.manager.showWhenStarting", false);
            firefoxProfile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel,application/pdf");
            firefoxProfile.SetPreference("pdfjs.disabled", true);
            firefoxProfile.SetPreference("plugin.scan.Acrobat", "99.0");
            firefoxProfile.SetPreference("plugin.scan.plid.all", false);
            firefoxProfile.AddAdditionalCapability("acceptInsecureCerts", true, true);

            return(firefoxProfile);
        }
        private FirefoxOptions CreateFirefoxGeckoOptions()
        {
            var firefoxGeckoOptions = new FirefoxOptions
            {
                Profile = new FirefoxProfile {
                    DeleteAfterUse = true
                }
            };

            firefoxGeckoOptions.AddAdditionalCapability("acceptInsecureCerts", true, true);

            firefoxGeckoOptions.Profile.EnableFileDownloading(this.config.DownloadDirPath, config.AllowedMimeTypes);
            return(firefoxGeckoOptions);
        }
Ejemplo n.º 27
0
        public void Setup()
        {
            //TODO please supply your Sauce Labs user name in an environment variable
            var sauceUserName = Environment.GetEnvironmentVariable("irinamakarevich", EnvironmentVariableTarget.User);
            //TODO please supply your own Sauce Labs access Key in an environment variable
            var sauceAccessKey = Environment.GetEnvironmentVariable("2acad7c0-0b62-49ed-ba78-47fb33494aa2", EnvironmentVariableTarget.User);

            var caps = new FirefoxOptions();

            caps.AddAdditionalCapability(CapabilityType.Version, "39.0", true);
            caps.AddAdditionalCapability(CapabilityType.Platform, "Windows 8.1", true);
            caps.AddAdditionalCapability("username", "irinamakarevich", true);
            caps.AddAdditionalCapability("accessKey", "2acad7c0-0b62-49ed-ba78-47fb33494aa2", true);
            //caps.AddAdditionalCapability("name", TestContext.CurrentContext.Test.Name, true);
            firefoxDriver = new RemoteWebDriver(new Uri("http://ondemand.saucelabs.com:80/wd/hub"), caps.ToCapabilities(),
                                                TimeSpan.FromSeconds(600));
            //driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capability.ToCapabilities());
            objLogin  = new TutByLoginPage(firefoxDriver);
            objLogout = new TutByLogOutPage(firefoxDriver);
            firefoxDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            firefoxDriver.Manage().Timeouts().PageLoad     = TimeSpan.FromMinutes(5);
            firefoxDriver.Navigate().GoToUrl("https://tut.by");
        }
Ejemplo n.º 28
0
        public void ConfirmBox()
        {
            RemoteWebDriver driver;
            FirefoxOptions  Options = new FirefoxOptions();

            Options.PlatformName = "windows";
            Options.AddAdditionalCapability("platform", "VISTA", true);
            Options.AddAdditionalCapability("version", "77", true);

            // We configure launch remotely in a virtual machine Oracle VM (Windows 7)
            driver = new RemoteWebDriver(new Uri("http://10.0.2.15:5557/wd/hub/"), Options.ToCapabilities(), TimeSpan.FromSeconds(600)); // NOTE: connection timeout of 600 seconds or more required for time to launch grid nodes if non are available

            try
            {
                driver.Manage().Window.Maximize();
                driver.Navigate().GoToUrl(UserConstantData.URL2);
                driver.Manage().Timeouts().ImplicitWait = new TimeSpan(5000);

                IWebElement searchConfirmButton = driver.FindElement(By.CssSelector("button[onclick='myConfirmFunction()']"));
                searchConfirmButton.Click();

                var confirm = driver.SwitchTo().Alert();
                confirm.Accept();

                IWebElement clickResult = driver.FindElement(By.Id("confirm-demo"));
                Console.WriteLine(clickResult.Text);
                if (clickResult.Text == "You pressed OK!")
                {
                    Console.WriteLine("Confirm test successful");
                }
            }
            finally
            {
                Console.WriteLine("Driver session: " + driver.SessionId);
                driver.Close();
            }
        }
        public WebDriverFF()
        {
            FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(@"C:\DRIVERS");

            service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\Firefox.exe";
            //var profile = new FirefoxProfile { EnableNativeEvents = true };
            FirefoxOptions option = new FirefoxOptions();

            option.AddArgument("no-sandbox");
            option.AddAdditionalCapability("acceptInsecureCerts", true, true);
            //  driver = new FirefoxDriver(service, option, TimeSpan.FromSeconds(180));
            driver = new FirefoxDriver();
            driver.Navigate().GoToUrl("https://www.google.com");
            // driver = new FirefoxDriver();
        }
Ejemplo n.º 30
0
 private void CreateWebDriverWithProfiling()
 {
     if (TestUtilities.IsFirefox(driver))
     {
         FirefoxOptions options = new FirefoxOptions();
         options.AddAdditionalCapability(CapabilityType.EnableProfiling, true, true);
         localDriver = new FirefoxDriver(options);
     }
     else if (TestUtilities.IsChrome(driver))
     {
         ChromeOptions options = new ChromeOptions();
         options.AddAdditionalCapability(CapabilityType.EnableProfiling, true, true);
         localDriver = new ChromeDriver(options);
         ICapabilities c = ((IHasCapabilities)localDriver).Capabilities;
     }
 }