Заранее всем спасибо, этот форум очень облегчает жизнь начинающему автоматизатору
Проблема (Вопрос) заключается …
У меня есть таблица, где все данные динамически заполняются, id и уникальные классы тоже динамические.
Тест должен проходить если хотя бы в одном из элементов найден текст 132
На форуме нашел как получить список элементов и сравнить их с ожидаемым значением
List<WebElement> elements = driver.findElements(By.xpath("//div[@class='x-grid-cell-inner ']"));
for(WebElement element: elements){
assertTrue(element.getText().contains("132"));
}
но так не работает, так как не каждый элемент содержит 132. Подскажите пожалуйста как можно реализовать задачу.
ps в джаве слабоват
pps Заранее всем спасибо
Вроде аналоги должны быть в Java (stream кажется), сейчас под рукой нет java к сожалению:
var elements = driver.FindElements(By.XPath("//div[@class='x-grid-cell-inner ']"));
if (elements.All(ele => !ele.Text.Contains("132"))) throw new AutotestErrorException("Беда, нету 132 ни у кого!");
Ну я же не так просто оставил ссылки на библиотеки Assertion фреймворки не идут в комплекте джавы, их нужно отдельно добавлять в проект. Обычно через Maven/Gradle/другой сборщик, но для обучения можно скачать и закинуть напрямую в проект через идею (гуглите как это делается).
Для примера 2 добавляйте org.hamcres:hamcrest-all:1.3 + junit:junit:4.12, для примера 3 org.assertj:assertj-core:3.10.0
Огромное вам спасибо, у меня был мавен с junit и selenium-java в нем, но до вашего поста, я по неопытности даже не понимал для чего мавен нужен, теперь тест заработал.