用java测量网页的总加载时间
我正在创建一个应用程序来检查加载一个页面需要多长时间。到目前为止,我有这样的想法:用java测量网页的总加载时间,java,selenium,webdriver,Java,Selenium,Webdriver,我正在创建一个应用程序来检查加载一个页面需要多长时间。到目前为止,我有这样的想法: long startTime = System.currentTimeMillis(); //load page and wait for it to finish long elapsedTime = System.currentTimeMillis() - startTime; 现在,我不仅要测量加载html文档所需的时间,还要测量整个dom。基本上,如果它在浏览器中,我希望它测量加载微调器停止所需的时间
long startTime = System.currentTimeMillis();
//load page and wait for it to finish
long elapsedTime = System.currentTimeMillis() - startTime;
现在,我不仅要测量加载html文档所需的时间,还要测量整个dom。基本上,如果它在浏览器中,我希望它测量加载微调器停止所需的时间
我怎样才能做到最好?我正在尝试WebDriver,但它似乎并不一致;有时它认为页面在加载内容的同时完成了(我也尝试了隐式等待)。在这种情况下,您需要等待某个元素显示出来。像这样:
long startTime = System.currentTimeMillis();
driver.get("Some url");
WebElement ele = driver.findElement(By.id("ID of some element"));
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime ;
System.out.println("Total Time for page load - " + totalTime);
要获得
加载
时间,如下所示:
运行以下脚本:
import org.openqa.selenium.JavascriptExecutor;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.chrome.ChromeDriver;
公共类自动测试{
公共静态void main(字符串[]args){
WebDriver驱动程序=新的ChromeDriver();
驱动程序。获取(“http://www.google.com");
最终JavascriptExecutor js=(JavascriptExecutor)驱动程序;
//导航和页面加载过程的时间
双加载时间=(双)js.executeScript(
“返回(window.performance.timing.loadEventEnd-window.performance.timing.navigationStart)/1000”);
System.out.print(加载时间+“秒”);//5.15秒
}
}
要获取从服务器收到页面后加载页面所需的时间,请更改:window.performance.timing.navigationStart
到window.performance.timing.responseEnd
在Firefox和Chrome上测试。如果您使用Selenide框架,它已经包含了一个功能,可以为您提供所有页面组件的计时
您是否尝试自动/重复执行此操作?如果不是:大多数浏览器都可以用他们的开发工具给你提供这样的信息。@Marged是的,我想重复/自动地这样做当我运行这个时,我会得到这个错误。“驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参阅。最新版本可从下载。”。我能为此做些什么?