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; } }
public static bool ElementToBeSelected(By by) { WebDriverWait wait = new WebDriverWait(BasePage.driver, TimeSpan.FromMinutes(1)); bool elementToBeSelected = wait.Until(ExpectedConditions.ElementToBeSelected(by)); return(elementToBeSelected); }
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); } }
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); } }
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); } }
/// <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); }
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)))); } }
/// <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)); }
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))); }
/// <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); } }