gpt4 book ai didi

javascript - 如何从 HAR 文件中获取总网页响应时间?

转载 作者:行者123 更新时间:2023-11-29 16:10:06 24 4
gpt4 key购买 nike

在下图中,我想要网页的总响应时间。我似乎无法在文件中找到它 sample HAR file ,即本例中的 38.79s。有谁知道如何得到这个?

我将使用 Selenium 以及 Firebug 和 NetExport 来导出 HAR 文件,但现在我正尝试手动执行。添加单个响应不会给出正确的数字。

enter image description here

在某些时候,我想要一个 Java 程序来查找并提取总响应时间。

最佳答案

总加载时间不是所有请求时间的总和,而是最近的请求结束时间。从图形上讲,它是请求栏的右端,在最右边结束。在您的示例屏幕截图中,它是最后一个、倒数第三个或倒数第四个请求。

请求结束时间由请求的startedDateTime属性指示的请求开始时间加上响应所需的时间跨度计算,可通过time获得> 每个请求的属性。获取最大请求结束时间,需要遍历所有请求,比较每个请求的结束时间。见以下代码:

var startTime = new Date(har.log.pages[0].startedDateTime);
var loadTime = 0;

// Loop over all entries to determine the latest request end time
// The variable 'har' contains the JSON of the HAR file
har.log.entries.forEach(function(entry) {
var entryLoadTime = new Date(entry.startedDateTime);
// Calculate the current request's end time by adding the time it needed to load to its start time
entryLoadTime.setMilliseconds(entryLoadTime.getMilliseconds() + entry.time);
// If the current request's end time is greater than the current latest request end time, then save it as new latest request end time
if (entryLoadTime > loadTime) {
loadTime = entryLoadTime;
}
});

var loadTimeSpan = loadTime - startTime;

执行此代码,变量 loadTimeSpan 将包含所需的时间跨度(以毫秒为单位)。

重要提示:

如此计算的时间跨度可能仍与 Firebug 或在线显示的时间不同 HAR Viewer ,因为他们根据两个请求之间耗时将请求分成不同的阶段。然后他们计算每个阶段从第一个请求到最后一个请求的时间跨度,并在最后总结这些时间跨度。

关于javascript - 如何从 HAR 文件中获取总网页响应时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com