/// <summary>
        /// Retorna o Driver de acordo com o navegador
        /// </summary>
        /// <param name="typeTestBrowser"></param>
        /// <returns></returns>
        public virtual IWebDriver CreateDriver(TypeTestBrowser typeTestBrowser)
        {
            switch (typeTestBrowser)
            {
            case TypeTestBrowser.FireFox: return(new FirefoxDriver(FirefoxDriverService.CreateDefaultService(GetDriver(typeTestBrowser), "geckodriver.exe")));

            case TypeTestBrowser.Chrome: return(new ChromeDriver(GetDriver(typeTestBrowser)));

            case TypeTestBrowser.Edge: return(new EdgeDriver(GetDriver(typeTestBrowser)));

            case TypeTestBrowser.IE: return(new InternetExplorerDriver(GetDriver(typeTestBrowser)));

            //   case TypeTestBrowser.Phantom: return new PhantomJSDriver(GetDriver(typeTestBrowser));
            default: return(null);
            }
        }
        /// <summary>
        /// Retorna o caminho completo do driver de acordo com o navegador
        /// </summary>
        /// <param name="typeTestBrowser"></param>
        /// <returns></returns>
        public virtual string GetDriver(TypeTestBrowser typeTestBrowser)
        {
            string CommomPath = GetCommomDriverPath();

            switch (typeTestBrowser)
            {
            case TypeTestBrowser.Edge: return(string.Format("{0}{1}", CommomPath, "Edge"));

            case TypeTestBrowser.Chrome: return(string.Format("{0}{1}", CommomPath, "Chrome"));

            case TypeTestBrowser.FireFox: return(string.Format("{0}{1}", CommomPath, "FireFox"));

            case TypeTestBrowser.Phantom: return(string.Format("{0}{1}", CommomPath, "Phantom"));

            case TypeTestBrowser.IE: return(string.Format("{0}{1}", CommomPath, "IE"));

            default: throw new System.Exception("Favor informar o tipo de Driver a ser criado");
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Executa o teste de acordo com o navegador utilizado, basendo-se no que está implementado em DoTest
        /// </summary>
        /// <param name="typeDriver"></param>
        /// <param name="dispose"></param>
        /// <returns>Retorna o log do teste</returns>
        public List <KeyValuePair <string, string> > ExecuteTest(TypeTestBrowser typeDriver, bool dispose = true)
        {
            //Criacao do navegador
            if (this.DriverNavigator == null)
            {
                this._driverNavigator = _seleniumDriverCreator.CreateDriver(typeDriver);
            }

            //Criacao do contexto
            if (this.Context == null)
            {
                this._context = new TestContext();
            }

            //Log padrão do selenium
            List <KeyValuePair <string, string> > logs = null;

            try
            {
                this.Execute();
            }
            catch
            {
                throw;
            }
            finally
            {
                //O dispose fecha o Browser
                if (DriverNavigator != null)
                {
                    logs = this.GetLogs(DriverNavigator);

                    if (dispose)
                    {
                        DriverNavigator.Dispose();
                    }
                }
            }

            return(logs);
        }