public static void ExplicitWait(By Locator, int Time, String ExpectedCondition, IWebDriver driver)
        {
            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(Time));

            switch (ExpectedCondition)
            {
            case "ElementToBeClickable":
                wait.Until(ExpectedConditions.ElementToBeClickable(driver.FindElement(Locator)));
                break;

            case "ElementExists":
                wait.Until(ExpectedConditions.ElementExists(Locator));
                break;

            case "ElementToBeSelected":
                wait.Until(ExpectedConditions.ElementToBeSelected(Locator));
                break;

            case "InvisibilityOfElementLocated":
                wait.Until(ExpectedConditions.InvisibilityOfElementLocated(Locator));
                break;

            case "ElementIsVisible":
                wait.Until(ExpectedConditions.ElementIsVisible(Locator));
                break;
            }
        }
Example #2
0
        public static bool ElementToBeSelected(By by)
        {
            WebDriverWait wait = new WebDriverWait(BasePage.driver, TimeSpan.FromMinutes(1));
            bool          elementToBeSelected = wait.Until(ExpectedConditions.ElementToBeSelected(by));

            return(elementToBeSelected);
        }
Example #3
0
        public IWebDriver WebdriverWait_ElementToBeSelected(IWebDriver driver, IWebElement Element)
        {
            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));

            wait.Until(ExpectedConditions.ElementToBeSelected(Element));
            return(driver);
        }
 /// <summary>
 /// Wait for element to be selected for given timeout
 /// </summary>
 /// <param name="element"></param>
 /// <param name="timeOutSeconds"></param>
 public static void WaitForElementToBeSelected(IWebElement element, TimeSpan timeOutSecs)
 {
     try
     {
         WebDriverWait wait = new WebDriverWait(DriverInstance.Instance, timeOutSecs);
         wait.Until(ExpectedConditions.ElementToBeSelected(element));
         LoggerInstance.log.Info("Driver explicitly waits " + timeOutSecs + " seconds for " + element.Text + " to be selcted");
     }
     catch (NoSuchElementException elementNotPresent)
     {
         LoggerInstance.log.Error(elementNotPresent.Message, elementNotPresent);
     }
     catch (WebDriverTimeoutException webdriverTimeOut)
     {
         LoggerInstance.log.Error(webdriverTimeOut.Message, webdriverTimeOut);
     }
     catch (TimeoutException timeOutEx)
     {
         LoggerInstance.log.Error(timeOutEx.Message, timeOutEx);
     }
     catch (Exception e)
     {
         LoggerInstance.log.Error(e.Message, e);
     }
 }
        public void Method()
        {
            wait.Until(ExpectedConditions.TitleIs("webdriver - Поиск в Google"));
            wait.Until(ExpectedConditions.TitleContains("webdriver - Поиск в"));
            wait.Until(ExpectedConditions.UrlContains("login.php"));
            wait.Until(ExpectedConditions.UrlToBe("http://pagination.js.org/"));
            var regex = @"\d";

            wait.Until(ExpectedConditions.UrlMatches(regex));
            wait.Until(ExpectedConditions.AlertIsPresent());
            //В С# я не нашел  wait.Until(ExpectedConditions.NumberOfWindowsToBe());
            //нужно проверять то, что у элемента есть какой-то класс, вместо того, чтобы проверять стиль элемента.
            //как правило, разработчики не меняют стили напрямую, они присваивают классы.
            wait.Until(x => x.FindElement(By.CssSelector("locator")).GetAttribute("class").Contains("error"));
            wait.Until(ExpectedConditions.TextToBePresentInElement(element, "text"));
            wait.Until(ExpectedConditions.ElementToBeSelected(element, false));
            wait.Until(ExpectedConditions.ElementToBeClickable(element));
            //ElementToBeClickable - не  соответствует своему названию. Сдесь проверяется то, что
            //елемент 1.Видимый, 2.Не disabled. И конечно, здесь нет никаких проверок, что эта кнопка НЕ ЗАКРЫТА никаким другим
            //элементом а если она прозрачная, то она будет считаться невидимой. Так, что название этого метода просто напросто врет.
            //По-настоящему ИНТЕРАКТИВНОСТЬ ОНО НЕ ПРОВЕРЯЕТ.
            //условие количества элементов с локатором
            var elements = driver.FindElements(By.CssSelector("locator"));

            wait.Until(x => elements.Count == 10);
            //но здесь мы возвращаем коллекцию элементов.
            var returnedElements = wait.Until(x =>
            {
                var elements2 = x.FindElements(By.CssSelector("locaotr"));
                return(elements2.Count == 10 ? elements2 : null);
            });
            //хз что это...
            var wait2 = new DefaultWait <IWebElement>(element);
        }
 /*Wait for element to be selected*/
 public static bool fnWaitForElementToBeSelected(By by)
 {
     if (_driverWait.Until(ExpectedConditions.ElementToBeSelected(by)))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #7
0
 public virtual void AguardarSelecionarElemento(By seletor, TimeSpan tempo)
 {
     try
     {
         new WebDriverWait(Driver, tempo)
         .Until(ExpectedConditions.ElementToBeSelected(seletor));
     }
     catch (Exception e)
     {
         new Exception("Ainda não é possível selecionar o elemento. Motivo: " + e.Message);
     }
 }
Example #8
0
        internal void WaitTillElementToBeSelected(How findBy, string findByValue, int seconds = 60)
        {
            try
            {
                var wait = new WebDriverWait(_nativeWebDriver, TimeSpan.FromSeconds(seconds));
                wait.Until(ExpectedConditions.ElementToBeSelected(GetByLocator(findBy, findByValue)));
            }

            catch (Exception ex)
            {
                throw new WaitForElementException(findBy, findByValue, ex);
            }
        }
Example #9
0
 /// <summary>
 /// Waits for an element to be selected on the page.
 /// </summary>
 /// <param name="driver">the <see cref="IWebDriver"/></param>
 /// <param name="element">the web element</param>
 /// <param name="elementName">the element name</param>
 /// <param name="page">the page name</param>
 public static void WaitForElementToBeSelected(IWebDriver driver, IWebElement element, String elementName, String page)
 {
     try
     {
         WebDriverWait wait = new WebDriverWait(driver, ConfigurationReader.FrameworkConfig.GetExplicitlyTimeout());
         wait.Until(ExpectedConditions.ElementToBeSelected(element));
         LogHandler.Info("WaitForElementToBeSelected:: The element " + elementName + " is selected on the page " + page);
     }
     catch (Exception e)
     {
         LogHandler.Error("WaitForElementToBeSelected::Exception - " + e.Message);
         throw new NoSuchElementException("WaitForElementToBeSelected::The element  " + elementName + " is not selected on the page " + page);
     }
 }
        //Searches Marksheet by its Name
        public string SearchByName(string MarksheetNameText, bool MarksheetActive, bool takeScreenPrint)
        {
            WebDriverWait waiter = new WebDriverWait(WebContext.WebDriver, TimeSpan.FromSeconds(MarksheetConstants.Timeout));

            waiter.Until(ExpectedConditions.ElementToBeClickable(MarksheetConstants.SearchMarksheetPanelButton));
            WebContext.WebDriver.FindElement(MarksheetConstants.SearchMarksheetPanelButton).Click();
            waiter.Until(ExpectedConditions.ElementIsVisible(MarksheetConstants.SearchMarksheetName));
            WebContext.WebDriver.FindElement(MarksheetConstants.SearchMarksheetName).SendKeys(MarksheetNameText);
            waiter.Until(ExpectedConditions.ElementToBeClickable(MarksheetConstants.ShowMoreLink));
            WebContext.WebDriver.FindElement(MarksheetConstants.ShowMoreLink).Click();
            waiter.Until(ExpectedConditions.ElementToBeClickable(MarksheetConstants.SearchButton));
            if (MarksheetActive == false)
            {
                waiter.Until(ExpectedConditions.ElementToBeSelected(MarksheetConstants.ActiveCheckBox));
                WebContext.WebDriver.FindElement(MarksheetConstants.ActiveCheckBox).Click();
            }

            WebContext.WebDriver.FindElement(MarksheetConstants.SearchButton).Click();
            waiter.Until(ExpectedConditions.TextToBePresentInElementLocated(MarksheetConstants.SearchResultText, MarksheetNameText));
            ReadOnlyCollection <IWebElement> SearchResult = WebContext.WebDriver.FindElements(MarksheetConstants.SearchResultText);

            var ResultText = "";

            try
            {
                foreach (IWebElement eachresult in SearchResult)
                {
                    if (eachresult.Text == MarksheetNameText)
                    {
                        waiter.Until(ExpectedConditions.ElementToBeClickable(eachresult));
                        ResultText = eachresult.Text;
                    }
                }
            }
            catch
            {
                Console.WriteLine("No Marksheet Found with Name : {0}", MarksheetNameText);
            }

            return(ResultText);
        }
Example #11
0
        public static void WaitElementToBeSelected(double Time, string element, string valueOfElement)
        {
            var wait = new WebDriverWait(Configuration.PropertiesCollection.driver, TimeSpan.FromSeconds(Time));

            if (element == "Id")
            {
                wait.Until(ExpectedConditions.ElementToBeSelected((By.Id(valueOfElement))));
            }
            else if (element == "Xpath")
            {
                wait.Until(ExpectedConditions.ElementToBeSelected((By.XPath(valueOfElement))));
            }
            else if (element == "Name")
            {
                wait.Until(ExpectedConditions.ElementToBeSelected((By.Name(valueOfElement))));
            }
            else if (element == "LinkText")
            {
                wait.Until(ExpectedConditions.ElementToBeSelected((By.LinkText(valueOfElement))));
            }
        }
Example #12
0
        /// <summary>
        /// method for the wait function to wait for an element to be clickable
        /// </summary>
        /// <author>Nishanth; Chintamani(CHNG235)</author>
        public void WaitForElementToBeSelected(IWebElement element, double value)
        {
            WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(value));

            wait.Until(ExpectedConditions.ElementToBeSelected(element));
        }
Example #13
0
 public WorkWithTime WaitElementToBeSelectedById(int time, string id)
 {
     wait = new WebDriverWait(DriverSingleton.GetDriver(), TimeSpan.FromSeconds(time));
     wait.Until(condition: ExpectedConditions.ElementToBeSelected(By.Id(id)));
     return(this);
 }
        public static Boolean WaitForElementToBeSelected(IWebDriver driver, IWebElement element, int timeOutinSeconds)
        {
            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeOutinSeconds));

            return(wait.Until(ExpectedConditions.ElementToBeSelected(element)));
        }
Example #15
0
 /// <summary>
 /// Waits for an element to have a selected status
 /// </summary>
 /// <param name="element">The IWebElement to await</param>
 /// <returns>True if the wait is terminated by the element being found to be selected</returns>
 public bool WaitForElementToBeSelected(IWebElement element)
 {
     try
     {
         var wait = new WebDriverWait(Driver, Preferences.BaseSettings.Timeout).Until(ExpectedConditions.ElementToBeSelected(element));
         if (wait == false)
         {
             throw new Exception("Could not confirm selection of the element required.");
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }