В тесте нужно проверять корректность удаления меток.
driver.findElements(By).size() не подойдет, так как сайт динамический и тесты будут фейлится.
Нашла вариант с использованием numberOfElementsToBe(By locator, java.lang.Integer number), но проблемы с реализацией. Возможно, кто-то встречался с подобной проблемой. Использую Selenium + Java + Testng
Опишите пожалуйста, что вам нужно проверять и когда. Спасибо.
А какие конкретно проблемы с реализацией numberOfElementsToBe?
Можно использовать как-то так:
WebDriverWait wait = new WebDriverWait(driver, 30000);
wait.until(ExpectedConditions.numberOfElementsToBe(<твой локатор>, <ожидаемое количество элементов>));
Можно с помощью ожиданий в матчерах:
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.hamcrest.MatcherAssert.assertThat;
import static ru.yandex.qatools.htmlelements.matchers.MatcherDecorators.should;
import static ru.yandex.qatools.htmlelements.matchers.MatcherDecorators.timeoutHasExpired;
int expSize = 10;
assertThat(list + " has correct size", list,
should(hasSize(expSize)).whileWaitingUntil(timeoutHasExpired(10000)));
Этот матчер будет 10 секунд ждать, пока не станет 10 элементов.
Очень большое спасибо, сейчас попробую!
Первая проблема которая у вас есть, это отсутствие какой-то обёртки над Selenium’ом, сам Selenium низкоуровневая библиотека и нуждается в обёртках для удобства работы.
Посмотрите в сторону http://selenide.org/
С помощью этой библиотеки Ваша проблема решается так:
$$(locator).shouldHave(size(number));