示例#1
0
        private static void ExeptionReturnConfig(Resultado rs, Exception ex, IWebDriver driver)
        {
            try
            {
                if (ex.GetType().Name.Contains("NullReference"))
                {
                    rs.status = ConstResultadoStatus.STATUS_WEBDRIVER_EXCEPTION;
                }
                else
                if (ex.GetType().Name.Contains("NoSuchWindowException"))
                {
                    rs.status = ConstResultadoStatus.STATUS_WEBDRIVER_EXCEPTION;
                }
                else
                if (ex.GetType().FullName.Contains("WebDriver"))
                {
                    rs.status = ConstResultadoStatus.STATUS_WEBDRIVER_EXCEPTION;
                }
                else if (ex.GetType().FullName.Contains("Browser"))
                {
                    rs.status = ConstResultadoStatus.STATUS_BROSWER_EXCEPTION;
                }
                else if (driver != null)
                {
                    var a = driver.FindElements(By.XPath("//form[contains(@action,'Suporte/SIGEFErro.aspx')]"));
                    if (a != null && a.Count > 0)
                    {
                        rs.status = ConstResultadoStatus.STATUS_PAGINA_EXCEPTION;
                        var feedbackResult = driver.FindElements(By.XPath("//span[@id='lblDescricaoErro']")).FirstOrDefault();
                        if (feedbackResult != null)
                        {
                            rs.feedBack       = feedbackResult.Text;
                            rs.ScrenShotBytes = ScreamShotUtil.GetScreamShot(driver, rs.status);
                        }
                    }
                }
            }
            finally
            {
                if (string.IsNullOrEmpty(rs.status))
                {
                    if (driver != null)
                    {
                        rs.ScrenShotBytes = ScreamShotUtil.GetScreamShot(driver, rs.status);
                    }
                }

                rs.status = ConstResultadoStatus.STATUS_EXCEPTION_DESCONHECIDA;
            }
        }
示例#2
0
        public bool RunCmd(Comando cmd)
        {
            IWebElement el;
            bool        isPassou = true;

            cmd.Url = driver.Url;
            string valorElementocopy = cmd.ValorElemento;

            cmd = ConfigValorElemento(cmd);
            switch (cmd.TipoComando)
            {
            case ConstTipoComando.TYPE_VARIAVEL:
                el       = FindElementReturNull(cmd);
                isPassou = RunVariavel(cmd, el);
                break;

            case ConstTipoComando.TYPE_ACTION_WEBDRIVER:
                isPassou = RunActionWebDriverComand(cmd.Acao, cmd.ValorElemento);
                break;

            case ConstTipoComando.TYPE_ACTION_ELEMENT:
                el       = FindElementReturNull(cmd);
                isPassou = RunActionComand(cmd.Acao, el, cmd.ValorElemento);
                break;

            case ConstTipoComando.TYPE_VALIDATION_ELEMENT_STATE:
                el       = FindElementReturNull(cmd);
                isPassou = RunValidationElementoState(cmd.Resultado, cmd.Acao, el);
                break;

            case ConstTipoComando.TYPE_VALIDATION_ELEMENT_VALUE:
                el       = FindElementReturNull(cmd);
                isPassou = RunValidationElementoValor(cmd.Resultado, cmd.Acao, cmd.ValorElemento, el.Text);
                break;
            }
            if (!isPassou)
            {
                cmd.Resultado.status = ConstResultadoStatus.STATUS_NAO_PASSOU;
                string nome = cmd.CasoLista.Last().Nome + cmd.Id;
                cmd.Resultado.ScrenShotBytes = ScreamShotUtil.GetScreamShot(driver, nome + "[" + cmd.Resultado.status + "]");
            }
            else
            {
                cmd.Resultado.status = ConstResultadoStatus.STATUS_PASSOU;
                string nome = cmd.Elemento.CodigoUi + cmd.Id;
                cmd.Resultado.ScrenShotBytes = ScreamShotUtil.GetScreamShot(driver, nome + "[" + cmd.Resultado.status + "]");
            }
            cmd.ValorElemento = valorElementocopy;
            return(isPassou);
        }
示例#3
0
 public byte[] GetScreanShot(string nome)
 {
     return(ScreamShotUtil.GetScreamShot(driver, nome));
 }