Перейти к содержимому

Selenium: стартовый уровень
онлайн, начало 17 ноября
Практикум по тест-дизайну
онлайн, начало 24 ноября
Тестирование веб-приложений
онлайн, начало 17 ноября
Selenium WebDriver: полное руководство
онлайн, начало 24 ноября
Фотография

Проверка удаления элемента со страницы после нажатия на кнопку JavaScr

JavaScript Удаление элемента

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 fauster01

fauster01

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Иванов Игорь Матвеевич

Отправлено 09 Декабрь 2016 - 14:30

После нажатия на кнопку, пропадает элемент из DOM.
Написал цикл, который проверяет исчез ли элемент, однако что-то работает неправильно.
Элемент из DOM пропадает сразу после нажатия на кнопку, однако селениум "понимает", что элемент пропал спустя > 30 секунд.

Вот код цикла:

await (await hlp.visibleElement('//button[@class="ok"]')).click();
let staffInChat: WebElement[];
do {
    staffInChat = await hlp.driver.findElements(By.xpath('//div[contains(@class, "staff-user")]'));
}
 while (staffInChat.length !== 0);

PS

Написал этот цикл, дабы не использовать sleep и сократить время выполнения автотеста, в надежде, что код продолжит выполняться сразу после удаления элемента из DOM.
В чем проблема? Почему не работает как задумано?


  • 0

#2 Lzk

Lzk

    Опытный участник

  • Members
  • PipPipPipPip
  • 476 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 09 Декабрь 2016 - 14:41

попробуй использовать

new WebDriverWait(driver, 3))
                .until(ExpectedConditions.invisibilityOfElementLocated(By.xpath(elXpath))

  • 0

#3 fauster01

fauster01

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Иванов Игорь Матвеевич

Отправлено 09 Декабрь 2016 - 14:46

Мне не нужны аналоги, я хочу понять почему именно мой метод работает некорректно.


  • 0

#4 Lzk

Lzk

    Опытный участник

  • Members
  • PipPipPipPip
  • 476 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 09 Декабрь 2016 - 14:50

ок , продолжай изобретать велосипед.

await чему равен ?


  • 0

#5 fauster01

fauster01

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Иванов Игорь Матвеевич

Отправлено 12 Декабрь 2016 - 13:22

await это асинхронщина в js, который я использую.
PS
Проблему решил рекурсией.


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 8 декабря
Программирование на Java для тестировщиков
онлайн, начало 24 ноября
Автоматизация функционального тестирования
онлайн, начало 1 декабря
Selenium WebDriver: полное руководство
онлайн, начало 24 ноября




Темы с аналогичным тегами JavaScript, Удаление элемента

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале