Вместо того, чтобы сопоставлять последний элемент перед проведением и первый элемент после проведения, вы должны проверить, отображается ли требуемый элемент на странице, проверив размер его списка.
Допустим, на вашей странице есть 4 элемента, и после загрузки отобразится 5-й элемент, в соответствии с вашим подходом вы будете проверять, что 5-й элемент не совпадает с 4-м элементом, и вы пройдете тестслучай, однако это не даст вам уверенности в том, что отображаемый элемент был тем элементом, который вы искали, потому что этот 5-й элемент может быть любым другим элементом, который не должен отображаться на странице, но следуя вашей логике,контрольный пример прошел бы.
Итак, вы должны получить xpath искомого элемента, а затем после каждого пролистывания проверять размер списка элементов, так как размер списка элементов будет больше 0, когда он будет отображаться на странице, иВы должны ограничить свайп пределом, чтобы после этого количества свипов вы возвращали логическое значение как ложное, иначе цикл будет продолжаться в бесконечном состоянии для проверки наличия элемента.
Ваш кодлогика должна быть примерно такой:
List<WebElement> element = driver.findElements(By.xpath("mention the xpath of the element that needs to be found"));
boolean elementLoaded = false;
int swipeCount = 0;
// Taking the swipeCount limit as 5 here
while (!elementLoaded && swipeCount < 5) {
if (element.size() == 0) {
// Swipe the screen
swipe(driver);
swipeCount++;
} else {
elementLoaded = true;
}
}
return elementLoaded;