导语
近期研究了一下chrome的强大的性能测试工具telemetry,收获颇丰,现简单介绍一下telemetry的测试框架。telemetry中的很多方法都正在逐步的引入到自研的桌面QQ浏览器性能自动化测试系统中。
一、概述
Telemetry是一套chrome的性能测试框架,它使用远程调试协议,可实现网页操作的自动化测试,以及获取测试过程中的性能打点数据,生成性能数据报表。Telemetry支持多个平台,windows, mac, linux, chrome OS, android,即一个用例可以同时在所有支持的平台上运行。
Telemetry尽管是一个性能测试框架,但是已经集成了大量测试用例,例如blink, V8的性能,smooth流畅度,内存,power耗电,冷启热启性能,webrtc,绘图性能,gpu性能,线程性能等等。
telemetry下载地址:https://storage.googleapis.com/chromium-telemetry/snapshots/telemetry.zip
下面以PC端chrome浏览器为例,将telemetry使用的与chrome之间的基本的通信协议进行讲解。
二、运行环境
PC上telemetry需要python2.7环境,需要安装psutil和pywin32两个python库。
由于命令中不能有空行,这里将telemetry解压到chrome同一目录:
执行telemetry下的run_benchmark脚本:python run_benchmark –browser=exact –browser-executable=”..\Application\chrome.exe”即可看到帮助:
结果如下:
每个benchmark就是一个测试用例集,比如执行冷启动用例集的命令如下:
python run_benchmark –browser=exact –brow