Критич. ошибка в логе: "Таймаут во время выполнения MouseMove"



  • @Sevenup можно в обычном браузере посмотреть время загрузки
    http://prntscr.com/fruwa0



  • @DrPrime said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    @Sevenup можно в обычном браузере посмотреть время загрузки
    http://prntscr.com/fruwa0

    http://c2n.me/3LSVbfd.png

    99% страницы загружается за <5c потом тянется какой-то их пиксель и на нем провал. Если его игнорировать то загрузка очень быстрая. Но таких пикселей, которые инклудит JS на разных сайтах бывает довольно часто.

    Можно оборачивать страницу в игнорирование ошибок и все казалось бы ок.
    Но, если вдруг, на странице, какая-то JS через N времени решит заинклудить что-то еще, например вебвизор движение мышью и вдруг он сделает это долго, БАС вылетит с ошибкой таймаута того блока, на котором находится выполнение проекта в данный момент. Как в данном случае блока движения мышью (эмуляция бездействия).



  • @Sevenup Странно вообще, почему ошибка именно в блоке бездействия. Посмотрел код модуля, там нету привязки к елементам, просто получаются размеры страницы и в рамках этих размеров двигает мышью по координатам.
    Попробуй отключить полную загрузку страницы, и привязаться к какому то элементу, который гарантированно прогружается сразу



  • @DrPrime said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    @Sevenup Странно вообще, почему ошибка именно в блоке бездействия. Посмотрел код модуля, там нету привязки к елементам, просто получаются размеры страницы и в рамках этих размеров двигает мышью по координатам.
    Попробуй отключить полную загрузку страницы, и привязаться к какому то элементу, который гарантированно прогружается сразу

    http://c2n.me/3LT14XK.png
    именно так и реализовано, отключена ожидание загрузки и включен таймаут с обернутый в игнорирование ошибок, дальше сон что бы дать время загрузится, а далее уже "двигать мышью и кликнуть на элемент", после клика по элементу происходит переход на другую страницу где снова элементы, которые грузятся долго. После клика происходит переход на "эмуляция бездействия" 7с, а на самом деле она происходит не 7с, а около 30 и/или вываливается в "Таймаут во время выполнения MouseMove".



  • Получилось исправить? Ошибка тоже надоела. Потоки стопаются из-за нее.



  • @Ranout Если ошибка в блоке бездействия, можно попробовать его написать самому. Тут же на форуме где то была функция.



  • @Ranout said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    Получилось исправить? Ошибка тоже надоела. Потоки стопаются из-за нее.

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


  • administrators

    @kain

    Присоединяюсь к теме. Процесс вроде жив был.

    Ок, кидайте проект


  • administrators

    @Sevenup

    Оборачиваем загрузку в игнорирование ошибок.

    Можете просто не ждать полной загрузки


  • administrators

    @Sevenup

    P.S.
    по сути получается так, если на странице начинается какое-то движение инициированное JS либами, БАС ловит его понимая что страница загружается и при таймауте, таймаут достается тому блоку, который сейчас выполняется. Возможно я ошибаюсь или не достаточно точно описал, но по наблюдениям как-то так картина получается.

    Нет, таймауты не могут путаться, максимум что может быть - таймаут загрузки может спутаться с другой загрузкой, но не с движением мыши.

    Ту дело в другом, а именно в то время как стает пустой во время перезагрузки функция скрола не возращает значение, из-за этого таймаут. Сейчас правлю.


  • administrators

    @Sevenup said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    Почему такие траблы с загрузкой я пока не смог понять, как вариант один из элементов или JS библиотек залип в подгрузке или какая-то JS либа решила что-то заинклудить на страницу. В обычном браузере страница открывается без проблем, а в БАСе уходит в таймаут. Интересно бы узнать как БАС чекает загружена ли страница.

    Скорее всего метрика + Украина.



  • @support said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    @Sevenup said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    Почему такие траблы с загрузкой я пока не смог понять, как вариант один из элементов или JS библиотек залип в подгрузке или какая-то JS либа решила что-то заинклудить на страницу. В обычном браузере страница открывается без проблем, а в БАСе уходит в таймаут. Интересно бы узнать как БАС чекает загружена ли страница.

    Скорее всего метрика + Украина.

    через прокси ж работа :)
    конкретно в случае с страницей "[http://]ria .ru/ science" http://c2n.me/3LSVbfd.png на скрине видно, что не метрика.

    если кому интересно, можно воспроизвести описанным выше способом, дублирую:

    • блок "браузер"->"загрузить" (грузим для примера страницу [http://]ria .ru/ science)
    • блок браузера оборачиваем в игнорирование ошибок или выключаем ожидание загрузки, если выключаем ожидание, после ставим спать несколько секунд давая время загрузится странице
    • блок "двигать мышь к элементу и кликнуть" на любую ссылку страницы
    • происходит переход на страницу, по которой кликнули

    вот тут вопрос, как в случае клика работает "ожидание загрузки"? наследует режим предыдущего блока "загрузить" т.е. в нашем случае выключено?

    • пока страница по которой мы кликнули пыжиться и не может догрузиться, у нас уже включается блок "эмуляция бездействия" и на нем мы получаем таймаут MouseMove параллельно наблюдая как страница так и не может загрузиться

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

    P.S.
    я не много букв пишу? :) Вы если что меня останавливайте :)))


  • administrators

    @Sevenup Исправил.
    https://bablosoft.com/distr/BrowserAutomationStudioDevelopment/20.0.4/BrowserAutomationStudioInstallAllInOne.exe

    Ошибка была в том, что между рендером новой страницы и началом загрузки document в js был нулевой, и функция прокрутки не возвращала значение.

    если кому интересно, можно воспроизвести описанным выше способом, дублирую:

    Это уже работает.

    вот тут вопрос, как в случае клика работает "ожидание загрузки"? наследует режим предыдущего блока "загрузить" т.е. в нашем случае выключено?

    Действие "Загрузка" считается выполненным, когда от браузера придет событие OnLoadEnd. Тоесть все как у обычного браузера.
    "Ждать Полной Загрузки" сложнее.
    Упрощенно, это действие ждет либо OnLoadEnd либо окончания запросов которые были сделаны за последний промежуток времени.
    Я придумал алгоритм сам, старался чтобы он работал и для обычных страниц, и там где все через ajax и сайтов, которые совершают запросы постоянно, вроде сервиса для стриминга или видеохостингов.

    Вот тут можно посмотреть код
    https://github.com/bablosoft/BAS/blob/6ac6369a844e4466fe085b7d643ebfd928c77511/Engine/scripts/engine/worker/waiters.js#L395-L462

    я не много букв пишу? :) Вы если что меня останавливайте :)))

    Для меня идеально шаги для повторения ошибки(как сделали вы) или проект.



  • @support said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    @Sevenup Исправил.
    https://bablosoft.com/distr/BrowserAutomationStudioDevelopment/20.0.4/BrowserAutomationStudioInstallAllInOne.exe

    Ошибка была в том, что между рендером новой страницы и началом загрузки document в js был нулевой, и функция прокрутки не возвращала значение.

    если кому интересно, можно воспроизвести описанным выше способом, дублирую:

    Это уже работает.

    вот тут вопрос, как в случае клика работает "ожидание загрузки"? наследует режим предыдущего блока "загрузить" т.е. в нашем случае выключено?

    Действие "Загрузка" считается выполненным, когда от браузера придет событие OnLoadEnd. Тоесть все как у обычного браузера.
    "Ждать Полной Загрузки" сложнее.
    Упрощенно, это действие ждет либо OnLoadEnd либо окончания запросов которые были сделаны за последний промежуток времени.
    Я придумал алгоритм сам, старался чтобы он работал и для обычных страниц, и там где все через ajax и сайтов, которые совершают запросы постоянно, вроде сервиса для стриминга или видеохостингов.

    Вот тут можно посмотреть код
    https://github.com/bablosoft/BAS/blob/6ac6369a844e4466fe085b7d643ebfd928c77511/Engine/scripts/engine/worker/waiters.js#L395-L462

    супер! спасибо за фикс, код алгоритма изучу...

    по ссылке выше загружается версия 20.0.2 вместо 20.0.4, при запуске обновление до 20.0.4 не просит. На сайте для скачивания также 20.0.2. Возможно при загрузке Вы по ошибке вместо 20.0.4 загрузили 20.0.2.


  • administrators

    @Sevenup Так и должно быть. У вас работает фикс?



  • @support said in Критич. ошибка в логе: "Таймаут во время выполнения MouseMove":

    @Sevenup Так и должно быть. У вас работает фикс?
    угу, понял, пробую.... а то ввело в заблуждение отсутствие 20.0.4 :)

    "эмуляция бездействия" после перехода на другую страницу кликнув по элементу теперь вроде работает, по крайней мере воспроизвести описанную выше ошибку более не удается. Спасибо!

    Теперь правда вот пока грузится страница в браузере заглушка дефолтовая с текстом "у браузера нет данных для отрисовки" и сложно понять что там вообще происходит :) Приходится включать консоль (доступно только в режиме записи). К стати было бы здорово, если можно было бы добавить обычную строку состояния, как в браузерах внизу, где виден процесс загрузки.



  • @support я смог заменить печать текста на вставку и больше такого не повторялось. Видимо действительно падал после длительного ввода.


  • administrators

    @kain Там еще был баг с нулевым document, я его исправил.



  • @support спасибо)
    Больше подобных ошибок не было.



  • Столкнулся с данной ошибкой при работе на сервере, на домашнем компе все работает.
    В логе пишет Таймаут во время выполнения MouseMove
    В переменной "LAST_ERROR": "Таймаут во время выполнения random point[documentRoot, xpath_all //a[contains(text(), "Log In")], at 1]",

    Тестовый шаблон прилагаю 0_1510931819760_test_click.xml

    Еще на сервере БАС становится почему то серым 0_1510932184408_green_bas.png

    Хотя на сервере стоит та же win7 что и на домашнем компьютере.

    Повторюсь на домашнем компе клик отрабатывает и тема оформления БАС черная. Все траблы исключительно на сервере.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.