实战演示H5性能分析(h5页面性能测试)

W3C标准即浏览器标准(W3C).普通浏览器支持W3C标准(W3C标准),该标准规定用户能够通过api进行性能信息的查询,并能够借W3C协议来完成自动化H5的性能测试。

W3C网站:

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

用chrome浏览器手动查看webview,随着业务的增加,次数也越来越多,手动操作速度将跟不上业务的发展,这时就需要采用自动化方法来检验webview的性能。

页面加载完成后,将对一系列的内容进行渲染,而渲染的过程可以划分为几个阶段,例如如下图所示。

•Prompt for unload在进入新页后卸载旧页所需的时间

•redirect重定向、用户取消登陆后回到主页面以及跳过其他站点等等

•Appcache查看缓存并开启缓存

•DNS指示DNS查询所需时间,若为长连接或从缓存和其他本地存储中请求文件时,返回fetchStart时

•TCP和服务器之间建立联系所需时间

•Requests客户端申请启动时间

•Response获得服务器首个响应字节至上一响应字节所需的时间

•Processing中各状态(如加载状态等)的持续时间

•onLoad引发load事件的执行期

chrome浏览器上执行js代码可以得到各阶段内容:1。

window.performance.timing process

以上时间仅为一时刻,若要得到每一阶段之特定时刻,则需在两时刻做相减运算如计算domContent载入事件之时刻:

window.performance.timing.\

domContentLoadedEventEnd -\

window.performance.timing.\

domContentLoadedEventStart

appium/selenium能够执行js.借appium/Selenium这一工具能够自动化地获取能指标。调用appium/Ex ExecuteScriptapi可以将以下代码注入到网页中。

return JSON.stringify(window.performance.timing) return JSON.stringify(window.performance.\ getEntriesByName (document.querySelector(“img”).src)[0],null,2)

案例中

H5的性能测试要求与自动化测试工具(如selenium或appium等)相配合,自动化调用api的方法是js代码的注入。

使用 python + selenium 进行js注入:

from selenium import webdriver driver = webdriver.Chrome() driver.get(“https://home.testing-studio.com/”) print(driver.execute_script( “return JSON.stringify(window.performance.timing)”))

执行之后将返回json数据,其中包括介绍的所有性能指标,这些性能指标可以进行二次处理,也可以可视化显示:

{“navigationStart”:1585043212714, “unloadEventStart”:0,”unloadEventEnd”:0, “redirectStart”:0, “redirectEnd”:0, “fetchStart”:1585043212717, “domainLookupStart”:1585043212747, “domainLookupEnd”:1585043212747, “connectStart”:1585043212747, “connectEnd”:1585043212835, “secureConnectionStart”:1585043212787, “requestStart”:1585043212836, “responseStart”:1585043212918,

原文链接:http://www.sfdkj.com/13894.html

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片