H5性能分析

https://www.w3.org/TR/navigation-timing/

H5性能分优化

H5加载生命周期

资源加载指标

prompt for unload:访问一个新页面时,旧页面卸载完成的时间

redirect:重定向,用户注销登陆时返回主页面和跳转到其它的网站等app cache:检查缓存,是否打开

DNS(域名系统):DNS查询的时间,如果是长连接或者请求文件来自缓存等本地存储则返回fetchStart时间点

TCP:与服务器建立链接的时间request!浏览器发起请求的时间

response:拿到第一个响应字节到最后一个响应字节的时间processing:各种状态的时间点

load:触发load事件执行的时间

获取单个资源的性能

执行以下方法:

H5性能分优化

 

appium/selenium的ExecuteScript Api
注入js
return JSON.stringify(window.performance. timing)
//获取指定图片的性能
JSON.stringify(window.performance.getEntriesByName(document.querySelector("img' ).src)[0], null, 2)

 

H5性能分优化

window.performance.timing 监控指令

代码实现

    @Test
    void H5load() {
        RemoteWebDriver webDriver = new ChromeDriver();
        webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS) ;
        webDriver.get("https://ceshiren.com/");
        //js注入
        Object o = webDriver.executeScript("return JSON.stringify(window.performance. timing)");
        JSONObject jsonObject = JSONObject.parseObject((String) o);
        //结束时间
        String domContentLoadedEventEnd = jsonObject.getString("domContentLoadedEventEnd");
        BigDecimal de=new BigDecimal(domContentLoadedEventEnd);
        //开始时间
        String domContentLoadedEventStart = jsonObject.getString("domContentLoadedEventStart");
        BigDecimal ds=new BigDecimal(domContentLoadedEventStart);
        System.out.println("响应时间"+de.subtract(ds)+"s");
    }

 

H5性能分优化

 

通过获取的返回参数,可以计算出性能响应值

posted @ 2021-01-07 14:50  成子吃橙子  阅读(212)  评论(0编辑  收藏  举报