如何无限期地等待,直到在JavaScript测试用例页面加载

问题描述 投票:1回答:2

我有一个JavaScript性能监控合成script.I想知道我是否可以申请一份声明中等待页面加载,因为它有很多的重定向和需要时间。

目前使用的...

$browser.sleep(80000);

我想无限期等待,直到页面加载来代替它。

javascript selenium monitoring newrelic
2个回答
3
投票

是的,你可以检查/直到页面被加载与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一旦网页被加载成功,否则它不会,直到页面被载入任何回报。


1
投票

您可以使用clearTimeout()这一点。

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

function stopTimeOutFunction() 
    {
      clearTimeout(myTimeOut);
    }

stopTimeOutFunction将覆盖timeOutFunction功能的功能性,从而防止超时。

© www.soinside.com 2019 - 2024. All rights reserved.