干货 | H5性能分析实战来啦~-婚外情概率漫画

H5性能该如何测试呢?很多人不知道该如何下手。其实可以借用W3C协议完成自动化H5性能测试。

因为W3C标准是浏览器标准,一般浏览器都支持W3C标准,它规定使用者可以通过api查询性能信息。W3C官网:Navigation Timing

更多关于专项测试的文章,可以点击公众号关注哦~

前文使用chrome浏览器对webview进行手工查看,伴随着业务增多,数量加大,手工操作的速度会无法跟上业务增长,此时需要自动化方法测试webview性能。

当页面加载时,会渲染一系列内容,渲染过程可分为多个阶段,比如下图:

Prompt for unload 访问一个新页面时,旧页面卸载完成的时间 • redirect 重定向,用户注销登陆时返回主页面和跳转到其它的网站等 • App cache 检查缓存,是否打开 • DNS 表示 DNS 查询的时间,如果是长连接或者请求文件来自缓存等本地存储则返回fetchStart时间点 • TCP 与服务器建立链接的时间 • Requests 客户端发起请求的时间 • Response 拿到服务器第一个响应字节到最后一个响应字节的时间 • Processing 各种状态的时间点,例如加载状态等等 • onLoad 触发load事件执行的时间

在chrome浏览器中,执行js代码可获取各个阶段的内容:

window.performance.timing

上面的时间只是一个时间点,如果想获取各阶段的具体时间,就需要对两个时间点进行相减运算,比如计算domContent加载事件时间:

window.performance.timing.\ 

domContentLoadedEventEnd -\

 window.performance.timing.\ 

domContentLoadedEventStart

appium/selenium可以执行js,借用appium/selenium工具可实现自动化获取能指标,调用appium/selenium的ExecuteScriptapi,可向页面注入下面代码:

//显示所有阶段的时间点

return 

JSON.stringify(window.performance.timing) 

//显示指定资源的时间,比如img 

returnJSON.stringify(window.performance.\ 

getEntriesByName (document.querySelector("img").src)[0], null, 2)

使用python+selenium进行js注入:

from selenium import webdriverdriver = 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, 

"responseEnd":1585043212921,

 "domLoading":1585043212929, 

"domInteractive":1585043214972,"domContentLoadedEventStart":1585043214972,"domContentLoadedEventEnd":1585043214972,

"domComplete":1585043215976, 

"loadEventStart":1585043215976, 

"loadEventEnd":1585043215976}

「pixiv日榜」12月4日综合排行榜
2020-12-04
日本网友驹次在推特上发布的用报纸制作的“报纸造型人”受到了众多网友的关注。从公开的照片上,可以看到用报纸制作的《筋肉人》、《龙珠》等作品的角色。声优古川登志夫和作者嶋田隆司都在推特上进行了称赞。
2022-10-28
「五更百鬼」能代女仆 [18P-430MB]
2023-05-31
葛兆玉律师带您解读:证券公司承销证券不得有哪些行为?违反有什么处罚?证券承销是指发行人委托证券经营机构向社会公开销售证券的行为。发行人向不特定对象公开发行证券,依法应当由证券公司承销。那么,证券公司承销证券不得有哪些行为?违反有什么处罚?证券公司承销证券不得有哪些行为?违反有什么处罚?证券公司承销证券,不得有下列行为:(一)进行虚假的或者误导投资者的广告宣传或者其他宣传推介活动;(二)以不正当竞争手段招揽承销业务;(三)其他违反证券承销业务规定的行为。证券公司承销证券违反规定有什么处罚?证券公司
2022-10-17
2023.03.21 NO.6445 夏沫沫tifa[70+1P/641MB]
2023-05-23
[Meetlin]米米[47P/142M]
2022-10-31
【Silverxhere】 Emilia [8P 35MB]
2023-06-10
「枣糕x菌烨」奥丁x庚辰 cosplay
2023-05-28
【Hatori Sama】 Alice [11P 37MB]
2023-04-12
人气TV动画《孤独摇滚!》宣布剧场总集篇动画制作决定,将于2024年春季在日本上映。
2023-05-22