Нужно автоматизировать шаг теста который проверяет появление элемента на веб странице. Используется Selenide/Selenium. Проблема в том, что элемент появляется по таймеру через 5 минут после открытия страницы и тест получается слишком долгим. Можно ли как-то ускорить появления этого элемента? Знаю что в frontend unit тесте можно уменьшить время ожидания. А можно ли это сделать в E2E тесте?
Как уменьшить время ожидания появления элемента на веб странице
#1
Отправлено 29 августа 2018 - 09:16
#2
Отправлено 29 августа 2018 - 09:26
надо смотреть как работает само приложение, почему элемент появляется через несколько минут?
должно ли так работать или не должно?
#3
Отправлено 29 августа 2018 - 09:48
5 минут забито жестко в коде?
узнайте у разработчиков, возможно, можно изменить данный таймаут в конфигурационном файле
#4
Отправлено 29 августа 2018 - 09:50
надо смотреть как работает само приложение, почему элемент появляется через несколько минут?
должно ли так работать или не должно?
Извиняюсь, не очень понятно написал. Сейчас обновил свой комментарий.
Да, так и задумано, что элемент (модальное окно) появляется по таймеру через 5 минут после открытия страницы. И в целях тестирования его функционала хотелось бы заставить его появиться быстрее.
#5
Отправлено 29 августа 2018 - 10:05
скорее всего там таймер на джаваскрипте, который по истечении пяти минут вызывает модал, опять же джаваскрипт командой
можно например попробовать выполнить джаваскрипт в тесте, который вызовет истечение таймера
https://seleniumhq.g...ptExecutor.html
#6
Отправлено 29 августа 2018 - 11:09
скорее всего там таймер на джаваскрипте, который по истечении пяти минут вызывает модал, опять же джаваскрипт командой
можно например попробовать выполнить джаваскрипт в тесте, который вызовет истечение таймера
Спросил у frontend разработчика он говорит, что не получится так сделать. Может мы чего-то не знаем, а у вас есть пример как это сделать? Сам я JavaScript не знаю, а при гуглении на эту тему находятся только результаты про умное ожидание.
#7
Отправлено 29 августа 2018 - 12:43
А вариант попросить разработчиков уменьшить на тестовом стенде это время не рассматривали?
Ну или хотя бы сделать его настраиваемым.
Перед запуском тестов изменили параметр в БД - после них обратно.
#8
Отправлено 29 августа 2018 - 13:23
Спросил у frontend разработчика он говорит, что не получится так сделать.
интересно, почему именно не получится
#9
Отправлено 29 августа 2018 - 13:26
А вариант попросить разработчиков уменьшить на тестовом стенде это время не рассматривали?
Ну или хотя бы сделать его настраиваемым.
Перед запуском тестов изменили параметр в БД - после них обратно.
Да, на тестовом стенде изначально поставили таймер 5 сек. Но перед выкаткой на бой поставили как и требуется 5мин.
Поскольку этот временной интервал вбит в javascript, то держать отдельные настройки для боя и теста проблематично. Хотя возможно предложенный вами вариант можно будет реализовать. Например сделать где-нибудь в файле настроек параметр который для боя будет 5 минут, а для тестового стенда 5 сек.
#10
Отправлено 29 августа 2018 - 13:41
если поставить параметр в 5 секунд, то возможно это будет плохо влиять на остальные тесты, так как будет выскакивать лишнее окошко и мешать проверкам
да и тестеров и остальных нервировать будет, и презентациям может мешать
#11
Отправлено 01 сентября 2018 - 13:43
Предположу, что это возможно окно, которое показывается пользователю через какое-то время пребывания на сайте. Типа "Перезвонить вам" или "Оставьте заявку". Поэтому логично проверять, что окно появляется, причем именно через 5 минут, а не через 1 или 30 минут. "Долгие" тесты можно выделить и запускать отдельно.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных