2015-06-03 3 views
0

Спасибо, ребята. Я просто работаю над формой, которую мне нужно проверить, чтобы новая запись существовала в списке. Это представление списка содержит более 200 записей, поэтому мне нужно будет выполнить поиск партикулярного значения и утверждать, что он присутствует. Проблема в том, что я раньше не работал с Listview и утверждаю, что значение присутствует под столбцом, кажется неуклюжим. Я буду признателен, если кто-нибудь сможет помочь с хорошим ресурсом работы с списком.утверждают, что значение присутствует в списке, используя Selenium webdriver

ответ

0

Учитывая следующий HTML, вы можете попробовать следующее:

<ul> 
     <li>Item1</li> 
     <li>Item2</li> 
     <li>Item3</li> 
    </ul> 

String lookingFor = "Item2"; 
List<WebElement> allElements = driver.findElements(By.tagName("li")); 
for(WebElement ele: allElements) { 
     if(ele.getText().trim().equalsIgnoreCase(lookingFor)) { 
      System.out.println("Got it"); 
     } 
} 

Если это не то, что вы ищете, пожалуйста, напишите код, и я буду пересматривать его.

С уважением

+0

Спасибо. Мой проект тестирует динамическое значение. Это может протестировать статическое значение. Я хочу, чтобы он искал значение (текст), пример: «ken4ward», под определенным столбцом в Listview и утверждал, что он существует. – kehinde

+0

Привет, не могли бы вы разместить свой код? – Gaspar

+0

Если вы зацикливаетесь на всех элементах списка, это будет очень медленно. Пожалуйста, не делайте этого, когда это можно сделать с помощью одного селектора. – aholt

0

Это можно сделать, используя xpath.

Я предполагаю, что ваш список похож на таблицу, поэтому вы можете принять это и изменить его по своему усмотрению, но он должен дать вам хорошее начало.

driver.findElement(By.xpath("//table//tr//td[<column #> - 1][contains(., '<text here>')]")); 

Скажите, вы смотрите в колонке 3 для текста 'ken4ward':

driver.findElement(By.xpath("//table//tr//td[2][contains(., 'ken4ward')]")); 

Я делаю "колонка # - 1", потому что XPath индексы 0 на основе, и, вообще говоря, мы не учитываем столбцы, начиная с 0.

0

Вы должны рассмотреть возможность использования Hamcrest утверждения assertThat(selenium.findElement(LocatorOfListView)).getText(), is(equalTo(ParticularItemYouWantToFind)));

.getText() 

сохранит все значения в виде списка, остальное объяснит сам

Смежные вопросы