/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }