Всем привет, коллеги!
Столкнулся со следующей проблемой во время проверки содержимого элемента страницы с помощью hamcrest (assertThat).
Коротко о методе и его сути:
На странице имеются элементы, в которых содержится цена на товар, с указанием символа валюты ($, ₴…). Написал метод, в котором в ArrayList заганяю все эти элементы (их на стр. 8). Потом в цикле перебираю их и достаю текст (getText). Вывожу в консоль - всё работает отлично, то есть строку подтянуло. НО при сравнивании этой же строки с ожидаемым результатом, а именно - наличия символа валюты assertThat(string, containsString(“₴”)); получаю ошибку, которая говорит, что фактический результат = “”, то есть пусто. Прошу помочь разобраться.
public void verifyCurrencyUah ()
{
ArrayList el = new ArrayList<>();
el.addAll(driver.findElements(priceOfProduct)); //добавляю в ArrayList элементы, в которых содержится строка с ценой и символом валюты
for (int i=0; i<el.size(); i++)
{
String string = el.get(i).getText(); //для каждого из 8 элементов достаю текст
assertThat(string, containsString("₴")); // текст должен содержать символ валюты гривна
}
}
Ответ:
java.lang.AssertionError:
Expected: a string containing “₴”
but: was “”
Expected :a string containing “₴”
Actual :""
Если сделать тоже самое, но вывести в консоль:
19,81 ₴
32,40 ₴
31,20 ₴…