Как сделать Assert, что элемент не присутствует на странице?
Вот как сделал я:
public boolean AssertDetailNotPresent() {
try {
driver.findElement(linkDetail);
} catch (NoSuchElementException e) {
return true;
}
return false;
}
при этом если элемент присутствует мне нужно, чтобы тест не проходил. А у меня если элемент присутствует сейчас, то тест проходит.
Подключаете selenide и просто
$(element).shouldNotBe(visible);
assert.true(driver.findElements(linkDetail)==0)
1 лайк
преобразовал ваше в
public boolean AssertDetailNotPresent(){
if (driver.findElements(linkDetail).size()==0) return true;
else return false;
}
но все равно, если элемент присутствует на странице тест проходит(
public boolean AssertDetailNotPresent(){
return driver.findElements(linkDetail).size()==0;
}
Может у вас в самом тесте что-то не так?
Или в linkDetail стоит неправильный локатор.
спасибо! Уже удалось сделать Assert при помощи:
Assert.assertFalse(driver.findElement(By.xpath("//a[text()=‘Detail’]")).isDisplayed());
Элемент “сразу не присутствует на странице”, или он вначале имеется, а потом исчезает/становится невидимым?