Добрый день. Использую для создания теста Selenium Webdriver + Java. При улучшении созданного теста столкнулся с проблемой проверки удаления блоков на вебформе. Как можно реализовать данный функционал?
#1
Отправлено 09 апреля 2015 - 07:47
#2
Отправлено 09 апреля 2015 - 08:12
/** * Проверяет что элемент не найден * * @param path css */ public void checkThatElementNotPresent(String path){ try { if (driver.findElement(By.cssSelector(path)).isDisplayed()) { throw new UnsupportedOperationException("Элемент [" + path + "] найден"); } } catch (NoSuchElementException e) { logger.info("Элемент не найден"); } }
#3
Отправлено 09 апреля 2015 - 08:23
а так не сработает разве ?
if !(driver.findElement(By.cssSelector(path)).isDisplayed()) { logger.info("Элемент не найден"); }
#4
Отправлено 09 апреля 2015 - 08:44
нет, если элемента нет в DOM то поиск вернет исключение
#5
Отправлено 09 апреля 2015 - 08:53
посмотрите как в коде вебдрайвера сделано https://code.google....Conditions.java
те для вас както так должно быть
public void isInvisible(By locator){ try { return !(driver.findElement(locator).isDisplayed()); } catch (NoSuchElementException e) { // Returns true because the element is not present in DOM. The // try block checks if the element is present but is invisible. return true; } catch (StaleElementReferenceException e) { // Returns true because stale element reference implies that element // is no longer visible. return true; } }
#6
Отправлено 09 апреля 2015 - 08:54
да , сорри , мы писали отдельную функцию
checkIfElementExists
которая возвращает либо true либо false
#7
Отправлено 09 апреля 2015 - 10:01
Благодарю за пример, я его под свои нужды изменю.
#8
Отправлено 10 апреля 2015 - 12:05
а почему бы не проверять через driver.findElements(...).size()? Если размер равен нулю - нет элемента. Если не равен, то проверяем отображается ли.
#9
Отправлено 10 апреля 2015 - 19:04
а почему бы не проверять через driver.findElements(...).size()? Если размер равен нулю - нет элемента. Если не равен, то проверяем отображается ли.
Не очень понятно "Если не равен, то проверяем отображается ли", выходит 2 условия так? А зачем? Там очень обширный проект, элементов более чем, код дико разросшийся, я пытаюсь его оптимизировать.
#10
Отправлено 11 апреля 2015 - 04:02
а почему бы не проверять через driver.findElements(...).size()? Если размер равен нулю - нет элемента. Если не равен, то проверяем отображается ли.
Проверка элемента через size чревата долгим ожиданием в случае если этот самый размер коллекции равен нулю. На сколько я понимаю в селениум есть таймаут на действие, так вот - если size > 0, то действие пройдет гораздо быстрее, иначе попытки поиска будут продолжаться в течении всего таймаута.
#11
Отправлено 13 апреля 2015 - 08:31
очень обширный проект, элементов более чем, код дико разросшийся, я пытаюсь его оптимизировать.
Можно ещё так оптимизировать пример aksas
Начиная с Java 1.7
public boolean isInvisible(By locator) { try { return !(driver.findElement(locator).isDisplayed()); } catch (NoSuchElementException | StaleElementReferenceException e) { return true; } }
#12
Отправлено 14 апреля 2015 - 11:12
очень обширный проект, элементов более чем, код дико разросшийся, я пытаюсь его оптимизировать.
Можно ещё так оптимизировать пример aksas
Начиная с Java 1.7
public boolean isInvisible(By locator) { try { return !(driver.findElement(locator).isDisplayed()); } catch (NoSuchElementException | StaleElementReferenceException e) { return true; } }
Ранее такой пример приводили, но всё равно спасибо.
Темы с аналогичным тегами Selenium WebDriver
Тестирование →
Автоматизированное тестирование →
Selenium - Functional Testing →
Запуск тестов из ServletАвтор cvetazh, 15 дек 2019 selenium webdriver, java, testNG и 1 еще... |
|
|||
Тестирование →
Автоматизированное тестирование →
SmartBear (AutomatedQA) - Functional Testing →
Как автоматизировать сценарий с помощу Selenium WebDriver+Java, проблеАвтор Slaventiy, 04 сен 2019 Selenium WebDriver, Java и 1 еще... |
|
|||
Тестирование →
Автоматизированное тестирование →
Присвоение элементу нужных координатАвтор Alemix, 14 дек 2018 Selenium Webdriver |
|
|||
Тестирование →
Начинающему тестировщику →
Мониторинг одной страницы с добавляющимся контентомАвтор deeew, 13 окт 2018 selenium webdriver, java, цикл и 3 еще... |
|
|||
Тестирование →
Начинающему тестировщику →
Обработка исключения с невидимым элементом.Автор DedPerded, 01 авг 2018 c#, selenium webdriver, try-catch и 1 еще... |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных