Эмуляция бездействия закончилась с ошибкой Таймаут



  • 0_1547368174660_3f74aff0-6893-4eff-a663-72a8ca5c0235-image.png

    [-][red][965250998] [13:27:26] Поток №1 : Поток завершился с сообщением "Таймаут во время выполнения script for[documentRoot]"
    

    Ошибка появилась в режиме запуска. В большинстве случаев это действие выполняется без ошибок.
    Windows 10, x64
    BAS 21.5.2
    Скриншот и лог приложил.
    Что делать?


  • administrators

    @senerg said in Эмуляция бездействия закончилась с ошибкой Таймаут:

    Что делать?

    Для начала можете прочитать вот эту тему


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



  • @fox said in Эмуляция бездействия закончилась с ошибкой Таймаут:

    страница ещё не загрузилась, когда стали применять это действие

    Так в этом и смысл действия, почему так нельзя? Сайт медленный страница загружается секунд 10 при сто-мегабитном интернете. Будет подозрительно если все это время мышь будет стоять на месте.

    При чем много раз это же действие и аналогичные ему выполнялись без ошибок, первый раз такое вижу. Ждать появления с типом none исправит ситуацию?



  • @senerg said in Эмуляция бездействия закончилась с ошибкой Таймаут:

    Будет подозрительно

    Да, BAS подумает что ты что то замышляешь)) При том что обычно первые 15 секунд, метрика не индексирует твои действия!


  • administrators

    @senerg said in Эмуляция бездействия закончилась с ошибкой Таймаут:

    Так в этом и смысл действия, почему так нельзя?

    Потому что код действия "эмуляция бездействия" несколько раз обращается к существующей странице:

    //определение текущего размера окна браузера
    page().script("window.innerWidth")!
       IDDLE_CURSOR_POSITION_WIDTH = parseInt(_result())
    page().script("window.innerHeight")!
       IDDLE_CURSOR_POSITION_HEIGHT = parseInt(_result())
    
    //движения мыши на большое расстояние
    page().script("document.documentElement.scrollLeft")!
       IDDLE_CURSOR_POSITION_SCROLL_X = parseInt(_result())
    page().script("document.documentElement.scrollTop")!
       IDDLE_CURSOR_POSITION_SCROLL_Y = parseInt(_result())
    
    //движения мыши на короткое расстояние
    page().script("document.documentElement.scrollLeft")!
       IDDLE_CURSOR_POSITION_SCROLL_X = parseInt(_result())
    page().script("document.documentElement.scrollTop")!
       IDDLE_CURSOR_POSITION_SCROLL_Y = parseInt(_result())
    

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

    Откуда вы берёте эти догадки? Если страница не загружена, то и скрипты на ней тоже, что же вас тогда будет отслеживать?


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

    Какие такие действия в BAS являются аналогом действия "эмуляция бездействия"?


    Ждать появления с типом none исправит ситуацию?

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



    Что вам мешает сделать свой аналог действия "эмуляция бездействия" без обращения к браузеру? Например использовать действие "Двигать Мышь" по координатам.
    Вот тестовый скрипт