示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="webDriver"></param>
        /// <param name="element">Elemento - $('#id') ou $('#id')[0]</param>
        /// <param name="isInvertVisible"></param>
        /// <param name="maxMilliSecondsWaitTime"></param>
        public static IWebDriver WaitVisibleByjQueryElement(this IWebDriver webDriver, string element, bool isInvertVisible = false, int maxMilliSecondsWaitTime = 30000)
        {
            SeleniumUtils.WaitCondition(() =>
            {
                string strVisible = webDriver.ExecuteScriptAndReturn($"$({element}).is(':visible');");
                return(string.Compare(strVisible, isInvertVisible ? "false" : "true", true) == 0);
            }, maxMilliSecondsWaitTime);

            return(webDriver);
        }
示例#2
0
        /// <summary>
        /// Espera até o retorno de jsReturn == value
        /// </summary>
        /// <param name="webDriver"></param>
        /// <param name="jsReturn">script q irá retornar um valor</param>
        /// <param name="value">valor a ser comparado</param>
        /// <param name="maxMilliSecondsWaitTime"></param>
        /// <param name="autoConcatReturn">se true coloca de forma automatica a palavra return antes do script</param>
        public static IWebDriver WaitUntil(this IWebDriver webDriver, string jsReturn, Func <string, bool> validateFunction, int maxMilliSecondsWaitTime = 30000, bool autoConcatReturn = true)
        {
            SeleniumUtils.WaitCondition(() =>
            {
                string strValue = webDriver.ExecuteScriptAndReturn(jsReturn, autoConcatReturn);
                return(validateFunction(strValue));
            }, maxMilliSecondsWaitTime);

            return(webDriver);
        }
示例#3
0
        /// <summary>
        /// Espera até o retorno de jsReturn == value
        /// </summary>
        /// <param name="webDriver"></param>
        /// <param name="jsReturn">script q irá retornar um valor</param>
        /// <param name="value">valor a ser comparado</param>
        /// <param name="maxMilliSecondsWaitTime"></param>
        /// <param name="autoConcatReturn">se true coloca de forma automatica a palavra return antes do script</param>
        public static IWebDriver WaitUntil(this IWebDriver webDriver, string jsReturn, string value, int maxMilliSecondsWaitTime = 30000, bool autoConcatReturn = true)
        {
            SeleniumUtils.WaitCondition(() =>
            {
                string strValue = webDriver.ExecuteScriptAndReturn(jsReturn, autoConcatReturn);
                return(string.Compare(strValue, value, true) == 0);
            }, maxMilliSecondsWaitTime);

            return(webDriver);
        }
示例#4
0
        /// <summary>
        /// Aguarda até que o elemento esteja visível ou invisível de acordo com seu seletor
        /// </summary>
        /// <param name="webDriver"></param>
        /// <param name="selector">Seletor</param>
        /// <param name="isInvertVisible">Se true aguarda té que o elemento esteja INVISÍVEL, por padrão ele espera até que esteja VISÍVEL</param>
        /// <param name="maxMilliSecondsWaitTime">Timeout para a esperar o elemento ficar visível/invisível</param>
        private static IWebDriver WaitVisibleBySelectorType(this IWebDriver webDriver, string selector, bool isXPath = false, bool isInvertVisible = false, int maxMilliSecondsWaitTime = 30000)
        {
            SeleniumUtils.WaitCondition(() =>
            {
                string typeFind   = isXPath ? "$x" : "$";
                string strVisible = webDriver.ExecuteScriptAndReturn($"{typeFind}('{selector}').is(':visible');");
                return(string.Compare(strVisible, isInvertVisible ? "false" : "true", true) == 0);
            }, maxMilliSecondsWaitTime);

            return(webDriver);
        }
示例#5
0
        /// <summary>
        /// Espera até o retorno de jsReturn == value
        /// </summary>
        /// <param name="webDriver"></param>
        /// <param name="jsReturn">script q irá retornar um valor</param>
        /// <param name="value">valor a ser comparado</param>
        /// <param name="maxMilliSecondsWaitTime"></param>
        /// <param name="autoConcatReturn">se true coloca de forma automatica a palavra return antes do script</param>
        public static IWebDriver WaitUntil(this IWebDriver webDriver, Func <bool> validateFunction, int maxMilliSecondsWaitTime = 30000, bool autoConcatReturn = true)
        {
            SeleniumUtils.WaitCondition(validateFunction, maxMilliSecondsWaitTime);

            return(webDriver);
        }