Как ждать бесконечно, пока страница загружается в тестовом сценарии JavaScript - PullRequest
0 голосов
/ 08 февраля 2019

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

В настоящее время используется ...

$browser.sleep(80000);

Я хочу заменить его неопределенным ожиданием загрузки страницы.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Да, вы можете проверять / ждать до тех пор, пока страница не загрузится с помощью JavaScript window.onload.

Попробуйте приведенный ниже код, который будет проверяться каждые 2 секунды и будет ждать загрузки страницы.Как только страница загружается, цикл прерывается, иначе он будет работать неопределенно долго:

var status = false;
window.sleep = function() { 
    return setTimeout(() => {
        console.log("=> Waited for 2 seconds...");
    }, 2000);
}
var getStatus = function() {
    for(var i = 0;; i++) {
        if(window.onload = function() {
            return true;
            }) {
            status = true;
            console.log(i+"). Loaded ? "+status);
            break;
        } else {
            console.log(i+"). Loaded ? "+status);
            sleep();
        }
    }
    return status;
}
getStatus();

getStatus() вернет true после успешной загрузки страницы, иначе ничего не вернется, пока страница не загрузится.

0 голосов
/ 08 февраля 2019

Вы можете использовать clearTimeout () для этого.

function timeOutFunction() {
  myTimeOut = setTimeout(function()
    { 
     $browser.sleep() }, 80000);
    }

function stopTimeOutFunction() 
    {
      clearTimeout(myTimeOut);
    }

stopTimeOutFunction перезапишет функциональность функции timeOutFunction, тем самым предотвращая тайм-аут.

...