public void ClickAndWaitTextHorizontalError(int index = 0, int timeout = 6000, int waitTimeout = 100) { Click(); var alertClass = new StaticControl(BY.NthOfClass("alert-error", index)); var w = Stopwatch.StartNew(); while (alertClass.IsPresent == false) { Thread.Sleep(waitTimeout); if (w.ElapsedMilliseconds > timeout) { Assert.AreEqual(alertClass.IsPresent, true, "Время ожидание завершено. Не найден элемент содержаший ошибку"); } } }
// TODO работает так только если ищем элемент по BY.Cla... так как используем индекс! public void SetFirstValueSelect(string value, string valueExperct = null) { if (string.IsNullOrEmpty(value)) { SetValue(value); } else { SetValue(value); if (valueExperct == null) { valueExperct = value; } WebDriverCache.WebDriver.WaitForAjax(); var textElement = new StaticControl(By.XPath(string.Format("//html/body/ul[{0}]/li[1]", index + 1))); for (int i = 0; i < 20; i++) { if (textElement.GetText() != "") { if (textElement.GetText().Contains(valueExperct)) { SendKeys(Keys.Tab); goto link1; } } if (i == 5) { SetValue(value); } if (i == 10) { SetValue(value); } if (i == 15) { SetValue(value); } WebDriverCache.WebDriver.WaitForAjax(); } Assert.AreEqual(false, true, string.Format( "Время ожидание завершено. Не найден элемент {0} в AutocompleteControl", value)); link1: ; } }
public void ClickAndWaitTextErrorAbsence(int index = 0, int timeout = 6000, int waitTimeout = 100) { var alertClass = new StaticControl(BY.NthOfClass("alert-error", index)); var errorClass = new StaticControl(BY.NthOfClass("help-inline", index)); Click(); var w = Stopwatch.StartNew(); while (errorClass.IsPresent || alertClass.IsPresent) { Thread.Sleep(waitTimeout); if (w.ElapsedMilliseconds > timeout) { Assert.AreEqual(errorClass.IsPresent, false, "Время ожидание завершено. Найден элемент содержаший ошибку"); } if (w.ElapsedMilliseconds > timeout) { Assert.AreEqual(alertClass.IsPresent, false, "Время ожидание завершено. Найден элемент содержаший ошибку"); } } }