UI应用程序页面加载时间的度量

时间:2017-06-20 03:59:16

标签: javascript selenium user-interface web

我最近开始进行UI测试,并且想知道是否有任何工具可以计算加载UI页面以在浏览器中加载所需的时间,包括服务器响应时间(我的意思是从请求发送到浏览器的总时间页面加载)。 我知道可以使用firebug / developer工具手动查找它,但还有其他方法可以实现。使用selenium,我可以使用firefox驱动程序,找出获取页面和报告时间所需的时间,但我不确定它是否是正确的时间。

1 个答案:

答案 0 :(得分:1)

关于解决方案的几句话:

我们将借助Google Chrome浏览器作为参考。据我们所知,当页面完全加载时,浏览器会将Document.ReadyState作为Complete返回给Selenium。这是Selenium执行下一行代码时的情况。我们将启动计时器并开始加载网页。当document.readyState设置为complete时,我们将停止计时器。这是Selenium-Java代码块:

package demo;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Q_44643596_measurement_application_load {

    public static void main(String[] args) {


        System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
        WebDriver driver =  new ChromeDriver();
        WebDriverWait wait = new WebDriverWait(driver, 30);
        long start = System.currentTimeMillis();
        driver.get("https://stackoverflow.com/");
        boolean pageLoaded = wait.until(ExpectedConditions.jsReturnsValue("return document.readyState")).equals("complete");
        long finish = System.currentTimeMillis();
        System.out.println("Page has loaded? " + pageLoaded);

        long totalTime = finish - start; 
        System.out.println("Total Time (in Milli Seconds) for page load - "+totalTime);

    }

}