Я тестирую функцию поиска на своем веб-сайте с помощью Selenium Webdriver. Я пытаюсь получить список таблицы после того, как нажал кнопку «Поиск», чтобы сравнить с вводом.
Например: в списке 10 автомобилей и 2 машины с именем Tesla. Если я введу Tesla, нажмите кнопку Search, и в новом списке будет только 2 автомобиля с именем Tesla. Мне нужно получить эти 2 имени для сравнения с вводом, но похоже, что мой код получает список, прежде чем я нажму кнопку «Поиск».
Ошибка: Assert.AreEqual не удалось. Ожидается: . Актуально: Exciter.
Кто-нибудь может мне с этим помочь? Большое спасибо
Вот мой код:
[TestMethod]
[DataRow("Exciter")]
public void Search_XE_with_Name(String Name)
{
Login();
driver.Navigate().GoToUrl(homeURL + "/app/admin/xe-group11");
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(15);
Thread.Sleep(8000);
//Act
driver.FindElement(By.Name("xE_NAME")).Clear();
driver.FindElement(By.Name("xE_NAME")).SendKeys(Name);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(7);
IWebElement ele = driver.FindElement(By.XPath("/html/body/app-root/ng-component/div/div/div[2]/ng-component/div[3]/div/div/form/div/div[1]/div/div/div/span[3]/button"));
IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;
executor.ExecuteScript("arguments[0].click();", ele);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
TimeSpan ts = new TimeSpan(3000);
WebDriverWait wait = new WebDriverWait(driver,ts);
//IWebElement tableElement = driver.FindElement(By.XPath("/html/body/app-root/ng-component/div/div/div[2]/ng-component/div[2]/div/p-table/div/div/div/div[2]/table/tbody"));
//IList<IWebElement> rows = tableElement.FindElements(By.TagName("tr"));
//List<String> Name1 = new List<String>();
IWebElement tableElement = driver.FindElement(By.XPath("/html/body/app-root/ng-component/div/div/div[2]/ng-component/div[3]/div/div/div/div/div/p-table/div/div/div/div[2]/table/tbody"));
IList<IWebElement> rows = tableElement.FindElements(By.TagName("tr"));
//IList<IWebElement> rowtd;
var listName = new List<string>();
foreach (IWebElement row in rows)
{
var secondColumn = tableElement.FindElements(By.TagName("td"))[2];
listName.Add(secondColumn.Text);
}
foreach (String names in listName)
{
Assert.AreEqual(names, Name);
}
driver.Close();
}
После поиска