t.me/atinfo_chat Telegram группа по автоматизации тестирования

как проверить наличие элемента на странице

java
selenium
webdriver
Теги: #<Tag:0x00007fb2f5acdf00> #<Tag:0x00007fb2f5acdd48> #<Tag:0x00007fb2f5acdb68>

(Ольга Лутова) #1

Я создаю элемент с некоторый рандомным именем namePackage, после чего я его удаляю. И проверяю есть ли элемент с именем namePackage на странице. Если он есть, то тест должен упасть.

Все действия до проверки работают. Однако проверку написать не получается, чтобы вы посоветовали?


(Alexandr D.) #2

Я бы посоветовал изучить основы основ автоматизации и в целом программирования :slight_smile:


(Vladislav Sobol) #3

Покажите пример своего кода как вы это делаете, мы попробуем подсказать что не так.


(Дмитрий Мирошник) #4

Что-то типа такого:

try {
driver.find (xpath);
Assert.fail ("Unexpected element found on page");
}
catch (ElementNotFoundException) {
"log.info ("Element not found. Continuing test")";
}

(Salciuc Vitalie) #5

ну как-бы ты делаешь неправельный патход тебе не нужно писати тесты на файл а набарот иши что-бы у тебя его небыло этого елемента(Вроде-бы тебе это надо) и ише driver.find (xpath) у него ести ожидание (да ты можешь это настроити) но если ты кудата там ищете и потому что ты делаешь “log.info (“Element not found. Continuing test”)”; тоесть вы ищете не только на 1 странице или в 1 view а кудато там и поетому у тебя тесты будут долгими и если тебе нужно что-бы елемент не был на странице так проверяй что он не в доме а не иши иго пока тебе не выдаст ElementNotFoundException это проше и быстрей ))) (по моему мнение)


(Vladislav Abramov) #6

он освятил тред своим присутствием!:pray::pray:


(Дмитрий Мирошник) #7

driver.find не имеет ожидания, если его явно не настроить в driver.implicitWait. Можно сделать и более красиво, через ExpectedCondition, но платой за это будет как раз ожидание.