В настоящее время я помогаю в проверке концепции с использованием Selenium 2/WebDriver с С# против приложения ASP.NET MVC с использованием InternetExplorerDriver.
Приложение использует стандартный шаблон для уведомления пользователей о сохранении записи. Это работает с помощью настроек TempData, чтобы включить «Запись успешно сохранена», и если TempData присутствует в представлении, представление предупредит об этом.
Пока мы работаем над тестами Selenium для этой функциональности, мы получаем непостоянное поведение из приведенного ниже тестового кода C#/Selenium:
_driver.Navigate().GoToUrl(_baseUrl + "/Amraam/List");
_driver.FindElement(By.LinkText("Create New")).Click();
_driver.FindElement(By.Id("txtAmraamSerialNumber")).SendKeys("CC12345");
var selectElement = new SelectElement(_driver.FindElement(By.Id("LocationId")));
selectElement.SelectByText("Tamworth");
_driver.FindElement(By.Id("btnSave")).Click();
var wait = new WebDriverWait(_driver, defaultTimeout);
IAlert alert = wait.Until(drv => drv.SwitchTo().Alert());
_alertText = alert.Text;
alert.Accept();
Assert.That(_alertText, Is.EqualTo("Record successfully saved"));
Приблизительно в 50% случаев Selinium не работает с
OpenQA.Selenium.NoAlertPresentException: предупреждение не активно
Я изо всех сил пытаюсь найти точный способ воспроизвести проблему и беспокоюсь об аспекте несогласованности. Если он постоянно терпел неудачу, мы могли отладить и отследить проблему.