码迷,mamicode.com
首页 > 其他好文 > 详细

H5性能分析

时间:2021-01-08 11:47:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:主页   man   object   loaded   second   ade   com   prompt   tcp   

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

技术图片

H5加载生命周期

资源加载指标

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

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

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

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

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

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

获取单个资源的性能

执行以下方法:

技术图片

 

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

 

技术图片

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性能分析

标签:主页   man   object   loaded   second   ade   com   prompt   tcp   

原文地址:https://www.cnblogs.com/orangezhangzz/p/14246508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!