private IWebDriver CrieWebDriver(ConfiguracaoDeTela configuracaoDeTela) { switch (configuracaoDeTela.Browser) { case EnumBrowsers.CHROME: return(CrieDriverChrome(configuracaoDeTela)); case EnumBrowsers.CHROME_HEADLESS: return(CrieDriverChrome(configuracaoDeTela, "--headless", "--disable-gpu", "--hide-scrollbars", "--no-sandbox")); case EnumBrowsers.PHANTOMJS: return(CrieDriverPhantomJS(configuracaoDeTela)); case EnumBrowsers.IE: new NotImplementedException("Browser não implementado."); return(null); case EnumBrowsers.FIREFOX: new NotImplementedException("Browser não implementado."); return(null); default: throw new ArgumentException(string.Concat("O browser ", configuracaoDeTela.Browser.ToString(), " não é suportado pelos testes de interface gráfica.")); } }
private static ConfiguracaoDeTela CrieConfiguracaoDeTela(Configuration arquivoDeConfiguracao, bool utilizaRelatorioLegal) { var timeoutPadrao = ObtenhaConfiguracaoDeTimeout(arquivoDeConfiguracao); var browser = ObtenhaConfiguracaoDeBrowser(arquivoDeConfiguracao); var pastaDeBinarios = ObtenhaPastaDeBinarios(); var urlInicialDaAplicacao = ObtenhaUrlLogin(arquivoDeConfiguracao); var urlInicialDoProduto = ObtenhaUrlAplicacao(arquivoDeConfiguracao); var utilizaScreenshot = ObtenhaUtilizaScreenshot(arquivoDeConfiguracao); var proxyType = ObtenhaProxyType(arquivoDeConfiguracao); var login = ObtenhaLogin(arquivoDeConfiguracao); var senha = ObtenhaSenha(arquivoDeConfiguracao); var tipoDeAmbiente = ObtenhaTipoDeAmbiente(arquivoDeConfiguracao); var configuracaoDeTela = new ConfiguracaoDeTela { TipoDeAmbiente = tipoDeAmbiente, Timeout = timeoutPadrao, Browser = browser, PastaDeBinarios = pastaDeBinarios, UrlLogin = urlInicialDaAplicacao, UrlAplicacao = urlInicialDoProduto, UtilizaScreenshot = utilizaScreenshot, ProxyType = proxyType, Login = login, Senha = senha }; return(configuracaoDeTela); }
private ChromeDriver CrieDriverChrome(ConfiguracaoDeTela configuracaoDeTela, params string[] argumentos) { var options = CrieChromeOptions(argumentos); var driverChrome = new ChromeDriver(configuracaoDeTela.PastaDeBinarios, options); ////driverChrome.Manage().Window.Maximize(); driverChrome.Manage().Window.Size = _resolucao; return(driverChrome); }
public ComponenteDeTela(ConfiguracaoDeTela configuracaoDeTela) { ConfiguracaoDeTela = configuracaoDeTela; _webDriver = CrieWebDriver(ConfiguracaoDeTela); _acoesDeScript = new AcoesDeScript(this); _acoesDeEspera = new AcoesDeEspera(this); _acoesDeTeclado = new AcoesDeTeclado(this); _acoesDeMouse = new AcoesDeMouse(this); _acoesDeDocument = new AcoesDeDocument(this); _wait = new WebDriverWaitCustomizado(this, ConfiguracaoDeTela.Timeout); DefinaTimeoutsImplicitos(); }
private PhantomJSDriver CrieDriverPhantomJS(ConfiguracaoDeTela configuracaoDeTela) { var options = new PhantomJSOptions(); options.AddAdditionalCapability("takesScreenshot", false); var service = PhantomJSDriverService.CreateDefaultService(configuracaoDeTela.PastaDeBinarios); service.IgnoreSslErrors = true; service.ProxyType = configuracaoDeTela.ProxyType; service.SslProtocol = "any"; var driverPhantomJS = new PhantomJSDriver(service, options); ////driverPhantomJS.Manage().Window.Maximize(); driverPhantomJS.Manage().Window.Size = _resolucao; return(driverPhantomJS); }