public void Inicializa()
        {
            var appConfig = string.Concat(AppDomain.CurrentDomain.BaseDirectory, @"\..\..\LG.LMS.TestesDeInterface.Testes\App.config");

            _componenteDeTela = FabricaDeComponenteDeTela.Crie(appConfig);
            _contexto         = new ContextoDeTeste("Login", string.Empty, string.Empty);
        }
        public void Inicializa()
        {
            try
            {
                contexto = CrieContextoDeTeste();

                if (ComponenteDeTela == null || ComponenteDeTela.WebDriver == null)
                {
                    ExecuteProcessoDeLogin();
                }
                else
                {
                    ComponenteDeTela.AbrirTelaDeAplicacao();
                }
            }
            catch (Exception e)
            {
                var categoria = CapturarCategoriaDeTeste();
                categoria = string.IsNullOrEmpty(categoria) ? "Inicializa" : categoria;

                if (ComponenteDeTela != null && ComponenteDeTela.WebDriver != null)
                {
                    ComponenteDeTela.SalvarScreenshotErro(categoria);
                }

                LogDeErros.SalvarLog(categoria, e);
                Finaliza();
            }
        }
        protected string CrieDiretorioDeImagens(ContextoDeTeste contexto)
        {
            var diretorios = new List <string>
            {
                Environment.CurrentDirectory,
                "../../Screenshots",
                contexto.Projeto,
                contexto.Modulo,
                contexto.Funcionalidade
            };

            var diretorioDeImagens = Path.Combine(diretorios.ToArray());

            return(diretorioDeImagens);
        }
        /// <summary>
        /// Compare as capturas de imagens.
        /// </summary>
        /// <param name="contexto">O contexto de cenários de testes.</param>
        /// <param name="subPasta">Os diretórios da subpasta da funcionalidade.</param>
        protected void CompararScreenshot(ContextoDeTeste contexto, params string[] subPasta)
        {
            var diretorioDeImagens = CrieDiretorioDeImagens(contexto, subPasta);

            ComponenteDeTela.CompararScreenshot(contexto, diretorioDeImagens);
        }
        /// <summary>
        /// Salva as capturas de imagens.
        /// </summary>
        /// <param name="contexto">Contexto de cenários de testes.</param>
        /// <param name="nomeDoArquivo">O nome do arquivo.</param>
        /// <param name="cssComponenteParaScreenshot">O CSS do componente para captura de imagem.</param>
        /// <param name="subPasta">Os diretórios da subpasta da funcionalidade.</param>
        protected void SalvarScreenshotEspecifico(ContextoDeTeste contexto, string nomeDoArquivo, string cssComponenteParaScreenshot, params string[] subPasta)
        {
            var diretorioDeImagens = CrieDiretorioDeImagens(contexto, subPasta);

            ComponenteDeTela.SalvarScreenshotEspecifico(nomeDoArquivo, diretorioDeImagens, contexto, cssComponenteParaScreenshot);
        }
 /// <summary>
 /// Salva as capturas de imagens da funcionalidade.
 /// </summary>
 /// <param name="contexto">Contexto de cenários de testes.</param>
 /// <param name="nomeDoArquivo">O nome do arquivo.</param>
 /// <param name="subPasta">Os diretórios da subpasta da funcionalidade.</param>
 protected void SalvarScreenshotFuncionalidade(ContextoDeTeste contexto, string nomeDoArquivo, params string[] subPasta)
 {
     ComponenteDeTela.Espera.AguardeElementoVisivelPorID("container-principal");
     SalvarScreenshotEspecifico(contexto, nomeDoArquivo, "#container-principal", subPasta);
 }
        /// <summary>
        /// Salva as capturas de imagens da tela inteira.
        /// </summary>
        /// <param name="contexto">Contexto de cenários de testes.</param>
        /// <param name="nomeDoArquivo">O nome do arquivo.</param>
        /// <param name="subPasta">Os diretórios da subpasta da funcionalidade.</param>
        protected void SalvarScreenshot(ContextoDeTeste contexto, string nomeDoArquivo, params string[] subPasta)
        {
            var diretorioDeImagens = CrieDiretorioDeImagens(contexto, subPasta);

            ComponenteDeTela.SalvarScreenshot(nomeDoArquivo, diretorioDeImagens, contexto);
        }
 /// <summary>
 /// Salva as capturas de imagens da tela inteira.
 /// </summary>
 /// <param name="contexto">Contexto de cenários de testes.</param>
 /// <param name="nomeDoArquivo">O nome do arquivo.</param>
 /// <param name="segundos">O intervalo de segundos de espera antes de fazer o print da tela.</param>
 /// <param name="subPasta">Os diretórios da subpasta da funcionalidade.</param>
 protected void SalvarScreenshot(ContextoDeTeste contexto, string nomeDoArquivo, int segundos, params string[] subPasta)
 {
     ComponenteDeTela.Espera.AguardeIntervaloDeTempo(segundos);
     SalvarScreenshot(contexto, nomeDoArquivo, subPasta);
 }
 protected void PrepareContextoDeTeste()
 {
     contexto = CrieContextoDeTeste();
 }