У меня есть тест Selenium, который выбирает дату в указателе даты и времени представления ASP.NET MVC5. Проблема в том, что код Selenium отлично работает, когда я запускаю тест в Visual Studio. Когда код выполняется на агенте сборки TFS, работающем на моей собственной машине, агент сборки не может выбрать дату. После нажатия на дату выбранная дата должна быть выделена как указание на то, что дата выбрана. Это происходит в Visual Studio, но не в агенте сборки.
Мой код Selenium выглядит так:
_driver.Manage (). Timeouts (). ImplicitWait = new TimeSpan (0, 0, 10);
_driver.Navigate().GoToUrl(<someurl>);
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
//Auto 3
//IWebElement query = _driver.FindElement(By.Id("btn_car_1024"));
var query = _driver.FindElementsByClassName("btn_car").FirstOrDefault();
query.Click();
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
//Select a date in the calendar
//_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
_driver.FindElement(By.ClassName("datepicker")).Click();
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
var elements = _driver.FindElements(By.ClassName("day"));
var dateLinkText = DateTime.Now.AddDays(1).Day.ToString();
var selectedElements = elements.Where(p => p.Text == dateLinkText);
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
if (selectedElements == null)
{
throw new Exception("SelectedElements null");
}
if (selectedElements.Count() == 0)
{
throw new Exception("Length null");
}
var selectedElement = selectedElements.FirstOrDefault();
selectedElement.Click();
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
//Select time
var timeDropDownList = _driver.FindElementById("Time");
timeDropDownList.Click();
var selectElement = new OpenQA.Selenium.Support.UI.SelectElement(timeDropDownList);
selectElement.SelectByText("10:00-11:00");