1、需求
在使用chrome浏览器访问页面时,浏览器自带的开发者工具可以查看页面每个资源的资源大小和加载时间。

这个功能可以让我们直接知道接口或资源的耗时情况和大小情况,如果存在性能问题,可以进行分析处理。
但是如果系统的功能页面比较多,每个页面都一个一个分析查看的,会比较耗工作量。功能测试大多是由测试工程师进行,测试工程师更关注功能的完善,不会统计每个页面的性能。运营人员在运营过程中,也会错误上传一些过大的,也需要测试人员在访问这个资源并且同时打开了开发者工具时才能发现。
2、实现代码
本文是基于JCEF框架(Chromium嵌入式框架CEF,允许将Web浏览器嵌入到Java桌面应用中),简单封装了基本浏览器功能,在JCEF的内部接口类CefRequestHandler中实现记录加载时间和资源大小。
public class RequestHandler extends CefResourceRequestHandlerAdapter implements CefRequestHandler {
private final Frame owner_;
// 记录每个请求的耗时
public Map<String, Long> table = new Hashtable<>();
public RequestHandler(Frame owner) {
owner_ = owner;
}
/**
* 记录http请求结束的时间,并保存到文件
*/
@Override
public void o


2878

被折叠的 条评论
为什么被折叠?



