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

Фотография

Как увеличить дефолтный таймаут выполнения команд Selenium IDE?

timeout

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

#1 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 10 сентября 2014 - 09:49

В проекте используются обращения к внешним системам.
Как результат, после активации элемента инициирующего запрос, проходит время на выполнение самого запроса (примерно 6-10 сек) и возникает ошибка таймаута, так как selenium "считает" что активация конкретного элемента (например, mouseClick) длится больше 2 секунд (по дефолту).

 

пример:
[info] Executing: |mouseClick | xpath=/html/body/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div[3]/div/div/div/div/div/div/div[5]/div | |
[error] Timed out after 20000ms

Команды xxxAndWait и, соответственно, setTimeout для них, использовать не могу, так как страница не обновляется после выполнения запроса.

Вопрос - возможно ли увеличить значение дефолтного таймаута выполнения команд (не ....AndWait) в Selenium IDE


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 10 сентября 2014 - 09:57

Но вы привели пример в котором аж 20 секунд, 20 секунд мало?


  • 0

#3 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 10 сентября 2014 - 12:13

Но вы привели пример в котором аж 20 секунд, 20 секунд мало?

Иногда, когда запрос к внешним системам кеширутся - хватает, и тест проходит без проблем. А иногда до минуты длится запрос и происходит вышеописанная ситуация...

Я в своем вопросе немного ошибся там действительно 20сек по дефолту... и этого не хватает :sad:


  • 0

#4 GremHD

GremHD

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

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

Отправлено 10 сентября 2014 - 12:45

click(selector)

waitForPageToLoad(timeout)

 

Пробовали использовать?


  • 0

#5 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 10 сентября 2014 - 12:57

click(selector)

waitForPageToLoad(timeout)

 

Пробовали использовать?

да, в моем случае свалится еще на "click(selector)"

"waitForPageToLoad(timeout)" тоже не сработает, так как страница не обновляется, как я уже писал выше

 

Требуется просто увеличить таймаут команды "click" !


  • 0

#6 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 10 сентября 2014 - 14:11

А сначала дождаться элемента, а потом уже кликать - никак?
  • 0

#7 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 10 сентября 2014 - 15:35

А сначала дождаться элемента, а потом уже кликать - никак?

Проблема в том, что ЛЮБОЕ действие: нажатие enter, клик мыши... не важно, должно занимать не более 20сек, а у меня к этому времени выполнения команды добавляется время выполнения запроса... 


  • 0

#8 GremHD

GremHD

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

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

Отправлено 10 сентября 2014 - 18:04

А в Options --> Options --> Default time out value of recorded command не это время устанавливается?


  • 0

#9 GremHD

GremHD

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

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

Отправлено 10 сентября 2014 - 18:07

Еще попробуйте расширение  Selenium IDE: Implicit Wait


  • 0

#10 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 11 сентября 2014 - 06:58

А в Options --> Options --> Default time out value of recorded command не это время устанавливается?

Нет. В данном параметре то же самое что устанавливает "setTimeout".   Implicit Wait - тоже не то. :sad: 

 

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


  • 0

#11 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 11 сентября 2014 - 07:10

"так как selenium "считает" что активация конкретного элемента (например, mouseClick) длится больше 2 секунд (по дефолту)."

откуда такая информация?

Селениум кликнул - кликнул по элементу.

А что дальше произошло, и что делать - зависит от теста.

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


  • 0

#12 Aleksey.Vlasov

Aleksey.Vlasov

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

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Власов А.

Отправлено 11 сентября 2014 - 07:50

можно попробовать setSpeed, либо жёстко задавать pause


  • 0

#13 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 11 сентября 2014 - 08:10

"так как selenium "считает" что активация конкретного элемента (например, mouseClick) длится больше 2 секунд (по дефолту)."

откуда такая информация?

Селениум кликнул - кликнул по элементу.

А что дальше произошло, и что делать - зависит от теста.

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

 20 секунд по дефолту. Я в последующих сообщениях исправил.

 Слелениум считает клик-и-ожидание-ответа ОДНИМ действием. Именно в этом проблема. Не важно, какая команда дальше стоит. Сам "Click" у меня падает по таймауту в 20 секунд! Поэтому мне нужно просто увеличить таймаут выполнения команды.

Насколько я понимаю, практически никто с подобной проблемой не сталкивается, на сторонних ресурсах воспроизвести это не смог.


  • 0

#14 StanislavTr

StanislavTr

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Станислав


Отправлено 11 сентября 2014 - 08:11

можно попробовать setSpeed, либо жёстко задавать pause

SetSpeed - параметр, который определяет таймаут МЕДЖУ выполнениями команд а не времени выполнения команды!


  • 0

#15 ryancooper

ryancooper

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Ryan Cooper

Отправлено 02 октября 2014 - 16:48

надо вместо clickandwait использовать click,потом можно использовать pause,это таймаут в милисекундах


  • 0



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

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