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

Фотография

Как уменьшить время ожидания появления элемента на веб странице


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

#1 bingo

bingo

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 29 августа 2018 - 09:16

Нужно автоматизировать шаг теста который проверяет появление элемента на веб странице. Используется Selenide/Selenium. Проблема в том, что элемент появляется по таймеру через 5 минут после открытия страницы и тест получается слишком долгим. Можно ли как-то ускорить появления этого элемента? Знаю что в frontend unit тесте можно уменьшить время ожидания. А можно ли это сделать в E2E тесте?


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 29 августа 2018 - 09:26

надо смотреть как работает само приложение, почему элемент появляется через несколько минут?

 

должно ли так работать или не должно?


  • 0

#3 kyba

kyba

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

  • Validating
  • Pip
  • 9 сообщений
  • ФИО:Денис

Отправлено 29 августа 2018 - 09:48

5 минут забито жестко в коде?

 

узнайте у разработчиков, возможно, можно изменить данный таймаут в конфигурационном файле



#4 bingo

bingo

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 29 августа 2018 - 09:50

надо смотреть как работает само приложение, почему элемент появляется через несколько минут?

 

должно ли так работать или не должно?

 

Извиняюсь, не очень понятно написал. Сейчас обновил свой комментарий.

Да, так и задумано, что элемент (модальное окно) появляется по таймеру через 5 минут после открытия страницы. И в целях тестирования его функционала хотелось бы заставить его появиться быстрее.


  • 0

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 29 августа 2018 - 10:05

скорее всего там таймер на джаваскрипте, который по истечении пяти минут вызывает модал, опять же джаваскрипт командой

 

можно например попробовать выполнить джаваскрипт в тесте, который вызовет истечение таймера

https://seleniumhq.g...ptExecutor.html


  • 0

#6 bingo

bingo

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 29 августа 2018 - 11:09

скорее всего там таймер на джаваскрипте, который по истечении пяти минут вызывает модал, опять же джаваскрипт командой

 

можно например попробовать выполнить джаваскрипт в тесте, который вызовет истечение таймера

https://seleniumhq.g...ptExecutor.html

 

Спросил у frontend разработчика он говорит, что не получится так сделать. Может мы чего-то не знаем, а у вас есть пример как это сделать? Сам я JavaScript не знаю, а при гуглении на эту тему находятся только результаты про умное ожидание.


  • 0

#7 Noksa

Noksa

    Активный участник

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 29 августа 2018 - 12:43

А вариант попросить разработчиков уменьшить на тестовом стенде это время не рассматривали?

 

Ну или хотя бы сделать его настраиваемым.

Перед запуском тестов изменили параметр в БД - после них обратно. 


  • 0

#8 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 29 августа 2018 - 13:23

 

 

Спросил у frontend разработчика он говорит, что не получится так сделать.

интересно, почему именно не получится


  • 0

#9 bingo

bingo

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

  • Members
  • Pip
  • 4 сообщений

Отправлено 29 августа 2018 - 13:26

А вариант попросить разработчиков уменьшить на тестовом стенде это время не рассматривали?

 

Ну или хотя бы сделать его настраиваемым.

Перед запуском тестов изменили параметр в БД - после них обратно. 

 

Да, на тестовом стенде изначально поставили таймер 5 сек. Но перед выкаткой на бой поставили как и требуется 5мин.

Поскольку этот временной интервал вбит в javascript, то держать отдельные настройки для боя и теста проблематично. Хотя возможно предложенный вами вариант можно будет реализовать. Например сделать где-нибудь в файле настроек параметр который для боя будет 5 минут, а для тестового стенда 5 сек.


  • 0

#10 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 29 августа 2018 - 13:41

если поставить параметр в 5 секунд, то возможно это будет плохо влиять на остальные тесты, так как будет выскакивать лишнее окошко и мешать проверкам

 

да и тестеров и остальных нервировать будет, и презентациям может мешать


  • 0

#11 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 01 сентября 2018 - 13:43

Предположу, что это возможно окно, которое показывается пользователю через какое-то время пребывания на сайте. Типа "Перезвонить вам" или "Оставьте заявку". Поэтому логично проверять, что окно появляется, причем именно через 5 минут, а не через 1 или 30 минут. "Долгие" тесты можно выделить и запускать отдельно. 


  • 0


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

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