コード例 #1
0
ファイル: DriverSession.cs プロジェクト: jimevans/strontium
 /// <summary>
 /// Initializes a new instance of the <see cref="DriverSession"/> class.
 /// </summary>
 /// <param name="factory">The <see cref="DriverFactory"/> responsible for creating the <see cref="IWebDriver"/> for the session.</param>
 /// <param name="capabilities">The capabilities of the driver of the session.</param>
 internal DriverSession(DriverFactory factory, ICapabilities capabilities)
 {
     this.sessionDriver = factory.CreateDriverInstance(capabilities);
     DesiredCapabilities actualSessionCapabilities = new DesiredCapabilities(capabilities.BrowserName, capabilities.Version, Platform.CurrentPlatform);
     actualSessionCapabilities.IsJavaScriptEnabled = true;
     this.sessionCapabilities = actualSessionCapabilities;
 }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NewSessionHandler"/> class.
        /// </summary>
        /// <param name="locatorParameters">A <see cref="Dictionary{K, V}"/> containing the parameters used to match a resource in the URL.</param>
        /// <param name="parameters">A <see cref="Dictionary{K, V}"/> containing the parameters used to operate on the resource.</param>
        public NewSessionHandler(Dictionary<string, string> locatorParameters, Dictionary<string, object> parameters)
            : base(locatorParameters, parameters)
        {
            Dictionary<string, object> capabilitiesDictionary = GetCommandParameter("desiredCapabilities") as Dictionary<string, object>;
            if (capabilitiesDictionary == null)
            {
                throw new InvalidParameterException("Parameter 'desiredCapabilities' is not a dictionary");
            }

            try
            {
                this.capabilities = new DesiredCapabilities(capabilitiesDictionary);
            }
            catch (Exception ex)
            {
                throw new InvalidParameterException("Error found parsing parameter 'desiredCapabilities': " + ex.Message, ex);
            }
        }
コード例 #3
0
 public WebDriverFactory(SauceLabsCapabilities sauceConfig)
 {
     _sauceCustomCapabilities = sauceConfig;
     _desiredCapabilities     = new DesiredCapabilities();
 }
コード例 #4
0
ファイル: SauceryRoot.cs プロジェクト: kinow/Saucery
 public abstract void InitialiseDriver(DesiredCapabilities caps, int waitSecs);
コード例 #5
0
        public void VerificarSeMultiClubesEstaAbertoELogado()
        {
            try
            {
                // verificando se o processo já está em execução
                Process[] processlist = Process.GetProcesses();
                // variavel para verificar se o MultiClubes está aberto (por padrão, é falso)
                bool openedMultiClubes  = false;
                bool OpenedWiniumDriver = false;

                foreach (Process process in processlist)
                {
                    if (!String.IsNullOrEmpty(process.MainWindowTitle))
                    {
                        //a linha abaixo, que está comentada, mostra todos os processos em execução
                        //Console.WriteLine("Process: {0} | ID: {1} | Window title: {2}", process.ProcessName, process.Id, process.MainWindowTitle);
                        if (process.MainWindowTitle.Contains("MultiClubes"))
                        {
                            // se for identificado algum processo em que o título contenha "MultiClubes", a variavel recebe True
                            openedMultiClubes = true;
                        }
                        else if (process.MainWindowTitle.Contains("Winium.Desktop.Driver.exe"))
                        {
                            OpenedWiniumDriver = true;
                        }
                    }
                }

                if (!OpenedWiniumDriver)
                {
                    //Console.WriteLine("Winium Driver fechado {0}", OpenedWiniumDriver);
                    Process.Start("C:/TestesAutomatizados/" + "Winium.Desktop.Driver.exe");
                }

                var dc = new DesiredCapabilities();
                dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application");

                // se a variavel estiver como falso, entra nessa condição que abre o MultiClubes
                if (openedMultiClubes)
                {
                    dc.SetCapability("debugConnectToRunningApp", true);
                }

                driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc);

                CheckMCWindow();

                //int counter = 0;
                if (!openedMultiClubes)
                {
                    //while (counter < 50)
                    //{
                    //    if (driver.FindElements(By.Id("textBoxPassword")).Count > 0)
                    //    {
                    //        SendUsernameAndPassword();
                    //        break;
                    //    }
                    //    Thread.Sleep(200);
                    //    counter++;
                    //}
                    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(120));
                    wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("textBoxPassword")));
                    SendUsernameAndPassword();

                    WinWindow winLincense = new WinWindow();
                    winLincense.SearchProperties[WinWindow.PropertyNames.Name] = "Licença";
                    winLincense.WindowTitles.Add("Licença");

                    if (winLincense.Exists)
                    {
                        driver.FindElement(By.Id("FormLicensing")).FindElement(By.Id("buttonClose")).Click();
                    }
                }
                //else
                //{
                //    if (driver.FindElements(By.Id("textBoxPassword")).Count > 0)
                //    {
                //        //this.UIMap.InserirUsuarioESenha();
                //        SendUsernameAndPassword();
                //    }
                //}
            }
            catch (ArgumentException e)
            {
                Console.WriteLine("Erro: {0}", e.Source);
            }
        }
コード例 #6
0
        public void WebTest()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();

            // 1. Replace <<cloud name>> with your perfecto cloud name (e.g. demo is the cloudName of demo.perfectomobile.com).
            String cloudName = "<<cloud name>>";

            // 2. Replace <<security token>> with your perfecto security token.
            String securityToken = "<<security token>>";

            capabilities.SetCapability("securityToken", securityToken);

            // 3. Set web capabilities.
            capabilities.SetCapability("platformName", "Windows");
            capabilities.SetCapability("platformVersion", "10");
            capabilities.SetCapability("browserName", "Chrome");
            capabilities.SetCapability("browserVersion", "latest");
            capabilities.SetCapability("location", "US East");
            capabilities.SetCapability("resolution", "1024x768");

            // Set other capabilities.
            capabilities.SetCapability("takesScreenshot", false);
            capabilities.SetCapability("screenshotOnError", true);

            // Initialize the  driver
            RemoteWebDriver driver = new RemoteWebDriver(
                new Uri("https://" + cloudName.Replace(".perfectomobile.com", "")
                        + ".perfectomobile.com/nexperience/perfectomobile/wd/hub"),
                capabilities);

            // Setting implicit wait
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

            PerfectoExecutionContext perfectoExecutionContext;

            if (System.Environment.GetEnvironmentVariable("jobName") != null)
            {
                perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder()
                                           .WithProject(new Project("My Project", "1.0"))
                                           .WithJob(new Job(System.Environment.GetEnvironmentVariable("jobName"),
                                                            int.Parse(System.Environment.GetEnvironmentVariable("jobNumber"))))
                                           .WithWebDriver(driver).Build();
            }
            else
            {
                perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder()
                                           .WithProject(new Project("My Project", "1.0"))
                                           .WithWebDriver(driver).Build();
            }
            ReportiumClient reportiumClient = PerfectoClientFactory.CreatePerfectoReportiumClient(perfectoExecutionContext);

            reportiumClient.TestStart("Selenium C# Web Sample", new Reportium.Test.TestContext("selenium", "web"));

            try
            {
                WebDriverWait wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
                String        search = "perfectomobile";
                reportiumClient.StepStart("Navigate to Google");
                driver.Url = "https://www.google.com";
                reportiumClient.StepEnd();

                reportiumClient.StepStart("Search for " + search);
                IWebElement searchbox = wait.Until(ExpectedConditions.ElementToBeClickable(driver.FindElement(By.XPath("//*[@name='q']"))));
                searchbox.SendKeys(search);
                searchbox.SendKeys(Keys.Enter);
                reportiumClient.StepEnd();

                reportiumClient.StepStart("Verify Title");
                String expectedText = "perfectomobile - Google Search";
                // Adding assertions to the Execution Report. This method will not fail the test
                reportiumClient.ReportiumAssert(expectedText, driver.Title.Contains(expectedText));
                reportiumClient.StepEnd();

                reportiumClient.TestStop(TestResultFactory.CreateSuccess());
            }
            catch (Exception e)
            {
                reportiumClient.TestStop(TestResultFactory.CreateFailure(e));
            }

            // Prints the Smart Reporting URL
            String reportURL = reportiumClient.GetReportUrl();

            Console.WriteLine("Report url - " + reportURL);

            // Quits the driver
            driver.Quit();
        }
コード例 #7
0
ファイル: KobitonTestProvider.cs プロジェクト: JP-3/Appium
        /// <summary>
        /// Creates DesiredCababilities object based on Device information.
        /// </summary>
        /// <returns>The desired capabilities.</returns>
        /// <param name="device">Device.</param>
        /// <param name="methodInfo"></param>
        private DesiredCapabilities CreateDesiredCapabilities(Device device, MethodInfo methodInfo)
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();

            //capabilities.SetCapability("username", AppiumConfig.GetKobitonUserName());
            //capabilities.SetCapability("accessKey", AppiumConfig.GetKobitonAccessKey());
            //capabilities.SetCapability("newCommandTimeout", "400");

            ////capabilities.SetCapability("appWaitActivity", "md5a28fba6e093d468832e1157c64fa578d.MainActivity");
            //capabilities.SetCapability("unicodeKeyboard", true);
            //capabilities.SetCapability("resetKeyboard", true);
            //capabilities.SetCapability("browserName", "Kobiton TestProvider");
            //capabilities.SetCapability("browserTimeout", 120);
            //capabilities.SetCapability("app", $"kobiton-store:{RunAppId}");

            //var className = methodInfo.ReflectedType.ToString().Split('.').Last();
            //var buildName = Environment.GetEnvironmentVariable("JOB_BASE_NAME");
            //capabilities.SetCapability("sessionName", $" {buildName} - {className} - {methodInfo.Name}");
            //capabilities.SetCapability("sessionDescription", "Automation Run");

            //capabilities.SetCapability("deviceOrientation", "portrait");
            //capabilities.SetCapability("captureScreenshots", true);
            //capabilities.SetCapability("deviceGroup", "KOBITON");
            //capabilities.SetCapability("deviceName", "i");
            //capabilities.SetCapability("platformVersion", "11.");
            //capabilities.SetCapability("version", "11.");

            capabilities.SetCapability("username", AppiumConfig.GetKobitonUserName());
            capabilities.SetCapability("accessKey", AppiumConfig.GetKobitonAccessKey());
            capabilities.SetCapability("newCommandTimeout", "400");

            //capabilities.SetCapability("appWaitActivity", "md5a28fba6e093d468832e1157c64fa578d.MainActivity");
            capabilities.SetCapability("unicodeKeyboard", true);
            capabilities.SetCapability("resetKeyboard", true);
            capabilities.SetCapability("browserName", "Kobiton TestProvider");
            capabilities.SetCapability("browserTimeout", 120);
            capabilities.SetCapability("app", $"kobiton-store:{RunAppId}");

            var className = methodInfo.ReflectedType.ToString().Split('.').Last();
            var buildName = Environment.GetEnvironmentVariable("JOB_BASE_NAME");

            capabilities.SetCapability("sessionName", $" {buildName} - {className} - {methodInfo.Name}");
            capabilities.SetCapability("sessionDescription", "Automation Run");

            capabilities.SetCapability("deviceOrientation", "portrait");
            capabilities.SetCapability("captureScreenshots", true);
            capabilities.SetCapability("deviceGroup", "KOBITON");
            capabilities.SetCapability("deviceName", "Galaxy");
            //capabilities.SetCapability("platformVersion", "11.");
            //capabilities.SetCapability("version", "11.");

            //var devicePlatform = AppiumConfig.GetDevicePlatform();
            //if (devicePlatform == DevicePlatform.IOS)
            //{
            //    // HACK: converting iOS to MAC, watch out for when Appium switches back to iOS
            //    capabilities.SetCapability("platformName", "MAC");
            //}
            //else
            //{
            capabilities.SetCapability("platformName", device.PlatformName);
            //}

            return(capabilities);
        }
コード例 #8
0
 public IWebDriver Create(Uri hubUrl, DesiredCapabilities capabilities, TimeSpan commandTimeout)
 {
     return(_fakeDriver);
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FirefoxDriver"/> class for a given profile, binary environment, and timeout value.
 /// </summary>
 /// <param name="binary">A <see cref="FirefoxBinary"/> object representing the operating system
 /// environmental settings used when running Firefox.</param>
 /// <param name="profile">A <see cref="FirefoxProfile"/> object representing the profile settings
 /// to be used in starting Firefox.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout)
     : this(binary, profile, DesiredCapabilities.Firefox(), commandTimeout)
 {
 }
コード例 #10
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using desired capabilities and command timeout
 /// </summary>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AndroidDriver(DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout)
     : base(SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout)
 {
 }
コード例 #11
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using desired capabilities
 /// </summary>
 /// <param name="desiredCapabilities">An <see cref="DesiredCapabilities"/> object containing the desired capabilities of the browser.</param>
 public AndroidDriver(DesiredCapabilities desiredCapabilities)
     : base(SetPlatformToCapabilities(desiredCapabilities, Platform))
 {
 }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class
 /// </summary>
 /// <param name="commandExecutor">An <see cref="ICommandExecutor"/> object which executes commands for the driver.</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 public AndroidDriver(ICommandExecutor commandExecutor, DesiredCapabilities desiredCapabilities)
     : base(commandExecutor, SetPlatformToCapabilities(desiredCapabilities, Platform))
 {
 }
コード例 #13
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the specified Appium local service, desired capabilities, and command timeout.
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AndroidDriver(AppiumLocalService service, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout)
     : base(service, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout)
 {
 }
コード例 #14
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the specified remote address, desired capabilities, and command timeout.
 /// </summary>
 /// <param name="remoteAddress">URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4723/wd/hub).</param>
 /// <param name="desiredCapabilities">An <see cref="DesiredCapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AndroidDriver(Uri remoteAddress, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout)
     : base(remoteAddress, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout)
 {
 }
コード例 #15
0
        private static IWebDriver ConnetctToRemoteWebDriver(WebDriverOptions browserOptions)
        {
            DesiredCapabilities caps = null;
            Uri hubUri = new Uri(browserOptions.RemoteUrl);

            switch (browserOptions.BrowserName)
            {
            /*
             * http://stackoverflow.com/questions/17398896/how-to-use-different-version-of-firefox-using-webdriver
             * https://code.google.com/p/selenium/wiki/FirefoxDriver
             * https://code.google.com/p/selenium/wiki/InternetExplorerDriver
             * https://code.google.com/p/selenium/wiki/ChromeDriver#Overriding_the_Chrome_binary_location
             *
             */

            case WebDriverOptions.browser_Firefox:
                path_to_binary      = @"C:\Program Files\Mozilla Firefox\firefox.exe";
                binary_path_propery = "webdriver.firefox.bin";
                caps = DesiredCapabilities.Firefox();
                break;

            case WebDriverOptions.browser_Chrome:
                path_to_driver      = @"C:\Program Files\Mozilla Firefox\firefox.exe";
                driver_path_propery = "webdriver.chrome.driver";
                caps = DesiredCapabilities.Chrome();
                break;

            case WebDriverOptions.browser_InternetExplorer:
                caps                = DesiredCapabilities.InternetExplorer();
                path_to_driver      = @"C:\Program Files\Mozilla Firefox\firefox.exe";
                driver_path_propery = "webdriver.ie.driver";
                break;

            case WebDriverOptions.browser_PhantomJS:
                caps = DesiredCapabilities.PhantomJS();
                break;

            case WebDriverOptions.browser_HtmlUnit:
                caps = DesiredCapabilities.HtmlUnit();
                break;

            case WebDriverOptions.browser_HtmlUnitWithJavaScript:
                caps = DesiredCapabilities.HtmlUnitWithJavaScript();
                break;

            case WebDriverOptions.browser_Opera:
                caps = DesiredCapabilities.Opera();
                break;

            case WebDriverOptions.browser_Safari:
                caps = DesiredCapabilities.Safari();
                break;

            case WebDriverOptions.browser_IPhone:
                caps = DesiredCapabilities.IPhone();
                break;

            case WebDriverOptions.browser_IPad:
                caps = DesiredCapabilities.IPad();
                break;

            case WebDriverOptions.browser_Android:
                caps = DesiredCapabilities.Android();
                break;

            default:
                throw new ArgumentException(String.Format(@"<{0}> was not recognized as supported browser. This parameter is case sensitive", browserOptions.BrowserName),
                                            "WebDriverOptions.BrowserName");
            }
            RemoteWebDriver newDriver = new RemoteWebDriver(hubUri, caps);

            return(newDriver);
        }
        public void InclusaoEExclusaoDeDependente_7875_7876()
        {
            MultiClubesFunctions McFunctions = new MultiClubesFunctions();
            MultiClubesMenus     McMenus     = new MultiClubesMenus();
            OpenCash             openCash    = new OpenCash();

            openCash.OpenCashMethod();

            var dc = new DesiredCapabilities();

            dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application");
            dc.SetCapability("debugConnectToRunningApp", true);
            RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc);

            string holderName    = "Sócio criado em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
            string dependentName = "Dependente criado em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");

            McMenus.AcessarMenuOperacaoTituloCadastroDeTitulo();

            McFunctions.SearchElementByIdAndClick("comboBoxSalePlan", true);
            McFunctions.SearchElementByNameAndClick("AGE - AGEPES");

            McFunctions.SearchElementByIdAndSendKeys("maskedTextBoxPostalCode", "01311000", true);

            McFunctions.SearchElementByIdAndClick("buttonSearch");

            McFunctions.SearchElementByIdAndSendKeys("textBoxNumber", "100", true);

            McFunctions.SearchElementByIdAndClick("buttonOK");

            McFunctions.SearchElementByIdAndSendKeys("textBoxName", holderName);
            McFunctions.SearchElementByIdAndSendKeys("textBox", "123");
            McFunctions.SearchElementByIdAndClick("buttonOK");

            McFunctions.SearchElementByIdAndClick("buttonFinalize", true);
            McFunctions.SearchElementByNameAndClick("Sim", true);

            McFunctions.SearchElementByIdAndClick("buttonService", true);

            McFunctions.SearchElementByNameAndClick("Título", true);

            McFunctions.SearchElementByIdAndClick("sideButtonNewMember", true);

            McFunctions.SearchElementByIdAndSendKeys("textBoxName", dependentName, true);
            McFunctions.SearchElementByIdAndClick("comboBoxParentage");
            McFunctions.SearchElementByNameAndClick("Nora");
            McFunctions.SearchElementByIdAndSendKeys("textBox", "123");
            McFunctions.SearchElementByIdAndClick("buttonOK");

            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(50));

            wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("listViewMembers")));

            var listViewDunElements = driver.FindElement(By.Id("listViewMembers")).FindElements(By.Id(""));

            int  counter        = 0;
            bool dependentFound = false;

            foreach (IWebElement i in listViewDunElements)
            {
                if (i.GetAttribute("Name") == dependentName)
                {
                    dependentFound = true;
                    break;
                }
                counter++;
            }

            Assert.IsTrue(dependentFound, "Dependente não encontrado");

            McFunctions.SearchElementByNameAndClick("Dependente");
            new Actions(driver).MoveToElement(driver.FindElement(By.Name("Dependente"))).ContextClick(driver.FindElement(By.Name("Dependente"))).Build().Perform();

            McFunctions.SearchElementByNameAndClick("Status", true);
            McFunctions.SearchElementByNameAndClick("Excluir");
            McFunctions.SearchElementByNameAndClick("Sim");
            McFunctions.SearchElementByIdAndClick("buttonOK");

            McFunctions.TreatWaitScreen();

            int  counter2        = 0;
            bool dependentFound2 = false;

            foreach (IWebElement i in listViewDunElements)
            {
                if (i.GetAttribute("Name") == dependentName)
                {
                    dependentFound2 = true;
                    break;
                }
                counter2++;
            }

            Assert.IsFalse(dependentFound2, "Dependente encontrado");

            McFunctions.FinalizarAtendimentoTitulo();
            McFunctions.CloseWindow("Central de atendimento");
        }
コード例 #17
0
        private static TimeSpan TIMEOUT   = TimeSpan.FromSeconds(10); // for Remote WebDriver
        #endregion

        #region Public Static Method
        /// <summary>
        /// Create a WebDriver based on Browser and URL (remote)
        /// For Internet Explorer, it is necessary to run the Selenium in Administrator mode.
        /// </summary>
        /// <param name="service">instance of LocalDriver service</param>
        /// <returns>Driver that meets the configuration service</returns>
        public static IWebDriver Create(WebDriverConfig service)
        {
            if (service == null)
            {
                return(null);
            }

            if (service.IsRemote) // Remote
            {
                switch (service.Browser)
                {
                case Browsers.Chrome:
                    capabilities = DesiredCapabilities.Chrome();
                    break;

                case Browsers.Firefox:
                    capabilities = DesiredCapabilities.Firefox();
                    break;

                case Browsers.InternetExplorer:
                    capabilities = DesiredCapabilities.InternetExplorer();
                    capabilities.SetCapability("ignoreProtectedModeSettings", true);
                    break;

                default:
                    capabilities = DesiredCapabilities.InternetExplorer();
                    capabilities.SetCapability("ignoreProtectedModeSettings", true);
                    break;
                }

                capabilities.SetCapability(CapabilityType.Platform, new Platform(service.Platform));
                capabilities.SetCapability(CapabilityType.Version, service.BrowserVersion);

                Uri url = new Uri(string.Format(NODE_URL, service.NodeUrl));
                driver = new RemoteWebDriver(url, capabilities, TIMEOUT);
            }
            else //  Local
            {
                InternetExplorerOptions options;
                switch (service.Browser)
                {
                case Browsers.Chrome:
                    driver = new ChromeDriver(DRIVER_PATH);
                    break;

                case Browsers.Firefox:
                    driver = new FirefoxDriver();
                    break;

                case Browsers.InternetExplorer:
                    // Selenium must be run on Administrator mode in order to work properly
                    options = new InternetExplorerOptions {
                        EnableNativeEvents = false
                    };
                    driver = new InternetExplorerDriver(DRIVER_PATH, options);
                    break;

                case Browsers.InternetExplorer64:
                    options = new InternetExplorerOptions {
                        EnableNativeEvents = false
                    };
                    driver = new InternetExplorerDriver(DRIVER_PATH + @"\x64", options);
                    break;

                default:
                    // If EPM settings are different on every zones, IntroduceInstabilityByIgnoringProtectedModeSettings can help to bypass
                    options = new InternetExplorerOptions {
                        EnableNativeEvents = false, IntroduceInstabilityByIgnoringProtectedModeSettings = true
                    };
                    driver = new InternetExplorerDriver(DRIVER_PATH, options);
                    break;
                }
            }
            return(driver);
        }
コード例 #18
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the AppiumServiceBuilder instance and desired capabilities
 /// </summary>
 /// <param name="builder"> object containing settings of the Appium local service which is going to be started</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 public AndroidDriver(AppiumServiceBuilder builder, DesiredCapabilities desiredCapabilities)
     : base(builder, SetPlatformToCapabilities(desiredCapabilities, Platform))
 {
 }
コード例 #19
0
 internal static DesiredCapabilities SetPlatformToCapabilities(DesiredCapabilities dc, string desiredPlatform)
 {
     dc.SetCapability(MobileCapabilityType.PlatformName, desiredPlatform);
     return(dc);
 }
コード例 #20
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the AppiumServiceBuilder instance, desired capabilities and command timeout
 /// </summary>
 /// <param name="builder"> object containing settings of the Appium local service which is going to be started</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AndroidDriver(AppiumServiceBuilder builder, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout)
     : base(builder, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout)
 {
 }
コード例 #21
0
 public IWebDriver Create(Uri hubUrl, DesiredCapabilities capabilities)
 {
     return(_fakeDriver);
 }
コード例 #22
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the specified remote address and desired capabilities
 /// </summary>
 /// <param name="remoteAddress">URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4723/wd/hub).</param>
 /// <param name="desiredCapabilities">An <see cref="DesiredCapabilities"/> object containing the desired capabilities.</param>
 public AndroidDriver(Uri remoteAddress, DesiredCapabilities desiredCapabilities)
     : base(remoteAddress, SetPlatformToCapabilities(desiredCapabilities, Platform))
 {
 }
コード例 #23
0
        public IWebDriver GetWebDriver(string browser)
        {
            IWebDriver    driver = null;
            WebDriverWait wait   = null;

            switch (browser.ToLower())
            {
            case "firefox":

                FirefoxOptions ffoptions  = new FirefoxOptions();
                var            portNumber = new Random();
                ffoptions.Profile = new FirefoxProfile();
                ffoptions.Profile.Clean();
                ffoptions.Profile.Port = portNumber.Next(7000, 8000);
                ffoptions.BrowserExecutableLocation = Path.Combine(Hooks.GetBasePath, @"Drivers");

                driver = new FirefoxDriver();
                wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                break;

            case "ie":
                var ieOptions = new InternetExplorerOptions
                {
                    IntroduceInstabilityByIgnoringProtectedModeSettings = true
                };

                driver = new InternetExplorerDriver(Path.Combine(Hooks.GetBasePath, @"Drivers"), ieOptions);
                wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                break;

            case "edge":

                EdgeOptions eoptions = new EdgeOptions();
                eoptions.PageLoadStrategy = EdgePageLoadStrategy.Normal;

                driver = new EdgeDriver(Path.Combine(Hooks.GetBasePath, @"Drivers"), eoptions);
                wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                break;

            case "chrome":
                ChromeOptions options = new ChromeOptions();
                driver = new ChromeDriver(Path.Combine(Hooks.GetBasePath, @"Drivers"));
                wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                break;

            case "phantomjs":
                driver = new PhantomJSDriver(Path.Combine(Hooks.GetBasePath, @"Drivers"));
                wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
                break;

            case "androidchrome":

                Console.WriteLine("Connecting to Appium server");

                DesiredCapabilities androidcapabilities = new DesiredCapabilities();
                androidcapabilities.SetCapability("chromedriverExecutable", Path.Combine(GetBasePath, @"AppiumDrivers\chromedriver.exe"));
                //androidcapabilities.SetCapability(CapabilityType.BrowserName, "Browser");
                androidcapabilities.SetCapability(CapabilityType.BrowserName, "Chrome");
                androidcapabilities.SetCapability(CapabilityType.Platform, "Android");
                androidcapabilities.SetCapability(CapabilityType.Version, "7.0");
                androidcapabilities.SetCapability("Device", "Android");
                androidcapabilities.SetCapability("deviceName", "Android Emulator");

                driver = new AndroidDriver <IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), androidcapabilities);
                wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
                break;

            default:
                Console.WriteLine("No Driver");
                break;
            }

            return(driver);
        }
コード例 #24
0
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the specified Appium local service and desired capabilities
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public AndroidDriver(AppiumLocalService service, DesiredCapabilities desiredCapabilities)
     : base(service, SetPlatformToCapabilities(desiredCapabilities, Platform))
 {
 }
コード例 #25
0
 public void Before()
 {
     webDriver = new RemoteWebDriver(new Uri(@"http://10.0.2.200:4444/wd/hub"), DesiredCapabilities.Firefox());
 }
コード例 #26
0
 private void ImportCapabilities(DesiredCapabilities capabilities)
 {
     foreach (KeyValuePair <string, object> pair in capabilities.CapabilitiesDictionary)
     {
         if (pair.Key == CapabilityType.BrowserName)
         {
         }
         else if (pair.Key == CapabilityType.BrowserVersion)
         {
             this.BrowserVersion = pair.Value.ToString();
         }
         else if (pair.Key == CapabilityType.PlatformName)
         {
             this.PlatformName = pair.Value.ToString();
         }
         else if (pair.Key == CapabilityType.Proxy)
         {
             this.Proxy = new Proxy(pair.Value as Dictionary <string, object>);
         }
         else if (pair.Key == CapabilityType.UnhandledPromptBehavior)
         {
             this.UnhandledPromptBehavior = (UnhandledPromptBehavior)Enum.Parse(typeof(UnhandledPromptBehavior), pair.Value.ToString(), true);
         }
         else if (pair.Key == CapabilityType.PageLoadStrategy)
         {
             this.PageLoadStrategy = (PageLoadStrategy)Enum.Parse(typeof(PageLoadStrategy), pair.Value.ToString(), true);
         }
         else if (pair.Key == FirefoxOptionsCapability)
         {
             Dictionary <string, object> mozFirefoxOptions = pair.Value as Dictionary <string, object>;
             foreach (KeyValuePair <string, object> option in mozFirefoxOptions)
             {
                 if (option.Key == FirefoxArgumentsCapability)
                 {
                     object[] args = option.Value as object[];
                     for (int i = 0; i < args.Length; i++)
                     {
                         this.firefoxArguments.Add(args[i].ToString());
                     }
                 }
                 else if (option.Key == FirefoxPrefsCapability)
                 {
                     this.profilePreferences = option.Value as Dictionary <string, object>;
                 }
                 else if (option.Key == FirefoxLogCapability)
                 {
                     Dictionary <string, object> logDictionary = option.Value as Dictionary <string, object>;
                     if (logDictionary.ContainsKey("level"))
                     {
                         this.logLevel = (FirefoxDriverLogLevel)Enum.Parse(typeof(FirefoxDriverLogLevel), logDictionary["level"].ToString(), true);
                     }
                 }
                 else if (option.Key == FirefoxBinaryCapability)
                 {
                     this.browserBinaryLocation = option.Value.ToString();
                 }
                 else if (option.Key == FirefoxProfileCapability)
                 {
                     this.profile = FirefoxProfile.FromBase64String(option.Value.ToString());
                 }
                 else
                 {
                     this.AddAdditionalCapability(option.Key, option.Value);
                 }
             }
         }
         else
         {
             this.AddAdditionalCapability(pair.Key, pair.Value, true);
         }
     }
 }
        public void DesfazerCobrancaIndividual_7695()
        {
            MultiClubesFunctions McFunctions = new MultiClubesFunctions();
            MultiClubesMenus     McMenus     = new MultiClubesMenus();

            var dc = new DesiredCapabilities();

            dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application");
            dc.SetCapability("debugConnectToRunningApp", true);
            RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc);

            McMenus.AcessarMenuOperacaoTituloCentralDeAtendimento();
            McFunctions.SearchHolder("A28248");

            McFunctions.AcessarCobrancasAtivas();

            McFunctions.WaitForElementLoad(By.Id("listViewYear"));
            driver.FindElement(By.Id("listViewYear")).FindElements(By.Id(""))[0].Click();

            McFunctions.WaitForElementLoad(By.Id("listViewDun"));
            var listViewDunElements = driver.FindElement(By.Id("listViewDun")).FindElements(By.Id(""));

            int counter = 0;

            foreach (IWebElement i in listViewDunElements)
            {
                if (i.GetAttribute("Name") == "")
                {
                    break;
                }
                counter++;
            }
            string billing = listViewDunElements[counter - 3].GetAttribute("Name");

            listViewDunElements[counter - 3].Click();

            new Actions(driver).DoubleClick(listViewDunElements[counter - 3]).Build().Perform();

            McFunctions.SearchElementByIdAndClick("buttonOptions");

            McFunctions.SearchElementByNameAndClick("Desfazer cobrança");

            McFunctions.SearchElementByNameAndClick("Sim");

            if (driver.FindElements(By.Name("Informação")).Count > 0)
            {
                McFunctions.SearchElementByNameAndClick("OK");
                McFunctions.SearchElementByNameAndClick("Erros");
            }

            McFunctions.SearchElementByNameAndClick("OK", true);

            McFunctions.WaitForElementLoad(By.Id("listViewDun"));

            bool undoneBilling = true;

            if (driver.FindElement(By.Id("listViewDun")).FindElements(By.Name(billing)).Count > 0)
            {
                undoneBilling = false;
            }
            McFunctions.CloseWindow("Cobranças ativas");
            McFunctions.FinalizarAtendimentoTitulo();
            McFunctions.CloseWindow("Central de atendimento");

            Assert.IsTrue(undoneBilling, "Cobrança desfeita");
        }
コード例 #28
0
        /// <summary>
        /// To be called from concrete test fixtures to initialize the test run.
        /// </summary>
        protected static RemoteWebDriverExtended InitializeDriver()
        {
            string model = "Unknown device model";

            try
            {
                Trace.Listeners.Add(new TextWriterTraceListener("webTestCaseExecution.log", "webTestCaseListener"));

                ExecutionErrors = new List <ExecutionError>();
                BaseProjectPath = Path.GetFullPath(Path.Combine(TestRunLocation, @"..\..\..\"));

                SensitiveInformation.GetHostAndCredentials(BaseProjectPath, out Host, out Username, out Password);

                ParameterRetriever testParams = new ParameterRetriever();
                PerfectoTestingParameters = testParams.GetVSOExecParam(BaseProjectPath, false);

                CurrentDevice = PerfectoTestingParameters.Devices.FirstOrDefault();
                if (string.IsNullOrEmpty(CurrentDevice.DeviceDetails.RunIdentifier))
                {
                    CurrentDevice.DeviceDetails.RunIdentifier = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now);
                }

                CheckForValidConfiguration();

                model = CurrentDevice.DeviceDetails.Name ?? "Unknown device Model";

                Trace.Listeners.Add(new ConsoleTraceListener());
                Trace.AutoFlush = true;

                var browserName = "mobileOS";

                if (CurrentDevice.DeviceDetails.IsDesktopBrowser)
                {
                    browserName = CurrentDevice.DeviceDetails.BrowserName;
                }

                DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any));
                capabilities.SetCapability("user", Username);
                capabilities.SetCapability("password", Password);
                capabilities.SetCapability("newCommandTimeout", "120");
                capabilities.SetPerfectoLabExecutionId(Host);

                capabilities.SetCapability("scriptName", "Parallel-" + TestCaseName);

                if (CurrentDevice.DeviceDetails.IsDesktopBrowser)
                {
                    capabilities.SetCapability("platformName", CurrentDevice.DeviceDetails.OS);
                    capabilities.SetCapability("platformVersion", CurrentDevice.DeviceDetails.OSVersion);
                    capabilities.SetCapability("browserName", CurrentDevice.DeviceDetails.BrowserName);
                    capabilities.SetCapability("resolution", "1366x768");
                    capabilities.SetCapability("version", CurrentDevice.DeviceDetails.BrowserVersion);
                }
                else
                {
                    capabilities.SetCapability("deviceName", CurrentDevice.DeviceDetails.DeviceID);

                    //WindTunnel only for devices and only when available
                    if (AppSettingsRetriever.IsWindTunnelEnabled())
                    {
                        capabilities.SetCapability("windTunnelPersona", "Georgia");
                    }
                }

                var url = new Uri(string.Format("https://{0}/nexperience/perfectomobile/wd/hub", Host));
                RemoteWebDriverExtended driver = new RemoteWebDriverExtended(url, capabilities, new TimeSpan(0, 2, 0));
                driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15));
                DriverInstance = driver;

                startedVitals.Add("outputs.monitors.cpu.total");
                startedVitals.Add("outputs.monitors.memory.used");
                StartVitals(1, startedVitals);

                return(driver);
            }
            catch (Exception e)
            {
                HandleGeneralException(e, DriverInstance);
            }
            return(null);
        }
コード例 #29
0
 public WebDriverFactory()
 {
     _sauceCustomCapabilities = new SauceLabsCapabilities();
     _desiredCapabilities     = new DesiredCapabilities();
 }
コード例 #30
0
        private static DesiredCapabilities BuildDesiredCapabilities()
        {
            DesiredCapabilities dc;

            if (IsSauceLabsDesktopTest)
            {
                switch (BrowserName.ToLower())
                {
                case "firefox":
                    dc = DesiredCapabilities.Firefox();
                    break;

                case "chrome":
                    dc = DesiredCapabilities.Chrome();
                    break;

                case "safari":
                    dc = DesiredCapabilities.Safari();
                    break;

                case "ie":
                    dc = DesiredCapabilities.InternetExplorer();
                    break;

                default:
                    dc = DesiredCapabilities.InternetExplorer();
                    break;
                }
                dc.SetCapability(CapabilityType.Version, BrowserVersion);
                dc.SetCapability(CapabilityType.Platform, OperatingSystem);
                dc.SetCapability("screen-resolution", Resolution);
            }
            else
            {
                switch (DeviceType.ToLower())
                {
                case "android":
                    dc = DesiredCapabilities.Android();
                    break;

                case "iphone":
                    dc = DesiredCapabilities.IPhone();
                    break;

                default:
                    dc = DesiredCapabilities.IPhone();
                    break;
                }
                dc.SetCapability(CapabilityType.Platform, DevicePlatform);
                dc.SetCapability(CapabilityType.Version, DeviceOsVersion);
                dc.SetCapability("deviceName", DeviceName);
                dc.SetCapability("device-orientation", DeviceOrientation);
            }

            dc.SetCapability(CapabilityType.IsJavaScriptEnabled, JavaScriptEnabled);
            dc.SetCapability(CapabilityType.HandlesAlerts, "dismiss");
            dc.SetCapability(CapabilityType.TakesScreenshot, "true");
            dc.SetCapability("tags", Tags);
            dc.SetCapability("name", TestName);
            dc.SetCapability("username", "seanrand");
            dc.SetCapability("accessKey", "2002db9c-71fb-4f6a-a691-2e249eea98c2");

            return(dc);
        }
コード例 #31
0
        public static IWebDriver GetDriver(BrowserType browserType, string perfectoUserName = "", string perfectoPassWord = "", string deviceId = "", string gridUrl = "", DesiredCapabilities desCap = null)
        {
            currentBrowserType = browserType;

            switch (browserType)
            {
            case BrowserType.IExplore:
                var ieOpt = new InternetExplorerOptions
                {
                    BrowserAttachTimeout = TimeSpan.FromSeconds(30),
                    EnableNativeEvents   = true
                };
                ieOpt.PageLoadStrategy = PageLoadStrategy.Normal;
                return(LastDriver = new InternetExplorerDriver(@"C:\\AutomationFiles\\", ieOpt));

            case BrowserType.Chrome:
                var chromeOp = new ChromeOptions();

                chromeOp.AddUserProfilePreference("credentials_enable_service", false);
                chromeOp.AddUserProfilePreference("profile.password_manager_enabled", false);
                chromeOp.AddArguments("disable-infobars");
                chromeOp.PageLoadStrategy = PageLoadStrategy.Normal;
                //return LastDriver = new ChromeDriver(chromeOp);

                return(LastDriver = new ChromeDriver(@"C:\\AutomationFiles\\", chromeOp));

            case BrowserType.FireFox:

                var ffService = FirefoxDriverService.CreateDefaultService("C:\\AutomationFiles\\");

                var ffOptions = new FirefoxOptions();
                ffOptions.PageLoadStrategy = PageLoadStrategy.Normal;
                return
                    (LastDriver =
                         new FirefoxDriver(ffService, ffOptions, TimeSpan.FromSeconds(60)));

            case BrowserType.Edge:
                return(LastDriver = new EdgeDriver("C:\\AutomationFiles\\"));

            case BrowserType.Mobile:
                if (string.IsNullOrEmpty(perfectoUserName) || string.IsNullOrEmpty(perfectoPassWord) || string.IsNullOrEmpty(deviceId))
                {
                    throw new Exception("Perfecto username, password or device list is null or empty.");
                }

                return(LastDriver = SetUpPerfecto(perfectoUserName, perfectoPassWord, desCap));

            case BrowserType.Grid:
                return(LastDriver = new RemoteWebDriver(new Uri(gridUrl), desCap));

            default:
                throw new Exception("WebDriverFactory.GetDriver() should not reach this code path.");
            }
        }
コード例 #32
0
        public static IWebDriver GetDriver(StartDriverCmdletBase cmdlet, Drivers driverType)
        {
            try {
                // enumerate driver processes before creating new one
                SeHelper.CollectDriverProcesses(driverType);

                switch (driverType)
                {
//                    case Drivers.Chrome:
//                        //SeHelper.CollectDriverProcesses(Drivers.Chrome);
////                    ChromeOptions optCh =
////                        new ChromeOptions();
//
//                        ChromeOptions optCh = //OptionsFactory.GetChromeOptions();
//                        // resolve ChromeOptions
//                        WebDriverFactory.Container.Resolve<ChromeOptions>();
//
//                        // 20121003
//                        //driver = new ChromeDriver(optCh);
//
//                        // 20121003
//                        OpenQA.Selenium.Chrome.ChromeDriverService chromeService = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService();
//                        //cmdlet.WriteObject(cmdlet, chromeService.ServiceUrl);
//                        //cmdlet.WriteObject(cmdlet, chromeService);
//                        //chromeService.Start();
//
//                        driver = new ChromeDriver(chromeService, optCh, TimeSpan.FromSeconds(60));
//
//                        SeHelper.GetDriverProcess(Drivers.Chrome, driver.Title + SeHelper.DriverTitleComplementChrome);
//                        break;
                case Drivers.Firefox:
                    //SeHelper.CollectDriverProcesses(Drivers.Firefox);

                    // 20121003
                    //FirefoxProfile ffProfile = new FirefoxProfile();
                    //ffProfile.AcceptUntrustedCertificates = true;
                    //ffProfile.EnableNativeEvents = true;
                    ////driver = new FirefoxDriver();
                    //driver = new FirefoxDriver(ffProfile);


                    // 20121003
//                            ICapabilities ffCapabilities =
//                                new OpenQA.Selenium.Support.Events.WebElementEventArgs
//                    ICapabilities ffCapabilities =
//                        new DesiredCapabilities();

                    var ffCapabilities = CapabilitiesFactory.GetCapabilities();

                    _driver = new FirefoxDriver(ffCapabilities);


                    SeHelper.GetDriverProcess(Drivers.Firefox, _driver.Title + SeHelper.DriverTitleComplementFirefox.Substring(3));

                    _driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(60));
                    break;

//                    case Drivers.InternetExplorer:
//                        //OpenQA.Selenium.IE.InternetExplorerOptions optIE =
//                        //    new InternetExplorerOptions();
//                        //optIE.
////                    InternetExplorerOptions optIE =
////                        new InternetExplorerOptions();
//
//                        //InternetExplorerOptions optIE = OptionsFactory.GetIEOptions();
//                        InternetExplorerOptions optIE =
//                          WebDriverFactory.Container.Resolve<InternetExplorerOptions>();
//
//                        optIE.EnableNativeEvents = true;
//                        optIE.IgnoreZoomLevel = true;
//                        optIE.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
//
//
//                        //SeHelper.CollectDriverProcesses(Drivers.InternetExplorer);
//
//                        //string ieSubFolder = string.Empty;
//                        // 20120901
//                        //System.Reflection.Assembly[] assms =
//                        //    System.AppDomain.CurrentDomain.GetAssemblies();
//                        //foreach (System.Reflection.Assembly assm in assms) {
//                        //    if (assm.FullName.Contains("SePSX")) {
//                        //        ieSubFolder =
//                        //            assm.Location.Substring(0, assm.Location.LastIndexOf('\\'));
//                        //        break;
//                        //    }
//                        //}
//
//                        string ieSubFolder = System.IO.Path.GetDirectoryName(cmdlet.GetType().Assembly.Location);
//
//                        if (cmdlet.Architecture == InternetExplorer.x86) {
//                            ieSubFolder += "\\32\\";
//                        }
//                        if (cmdlet.Architecture == InternetExplorer.x64) {
//                            ieSubFolder += "\\64\\";
//                        }
//
//
//                        //driver = new InternetExplorerDriver(
//
//                        // 20121003
//                        OpenQA.Selenium.DriverService ieService = OpenQA.Selenium.IE.InternetExplorerDriverService.CreateDefaultService(ieSubFolder);
//
//                        ieService.Start();
//
//
//                        driver = new InternetExplorerDriver(ieService, optIE, TimeSpan.FromSeconds(10));
//
//                        // 20121003
//                        //driver = new InternetExplorerDriver(ieSubFolder, optIE);
//
//                        SeHelper.GetDriverProcess(Drivers.InternetExplorer, driver.Title + SeHelper.DriverTitleComplementInternetExplorer);
//                        break;
                case Drivers.Safari:
                    //SeHelper.CollectDriverProcesses(Drivers.Safari);

                    //driver = new SafariDriver();
                    //driver = WebDriverFactory.GetNativeDriver(driverType);

                    _driver = GetNativeDriver(driverType);

                    SeHelper.GetDriverProcess(Drivers.Safari, _driver.Title + SeHelper.DriverTitleComplementSafari);
                    break;

                case Drivers.Html:
                    _driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit());
                    break;

                default:
                    throw new Exception("Invalid value for Drivers");
                }



                //
                //
                //return (new FirefoxDriver());
                return(_driver);
                //
                //
            } catch (Exception ee) {
                Console.WriteLine(ee.Message);
                return(null);
            }
        }