将学习变成乐趣,一直在路上
每天1990

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 
背景
使用webpagetest进行性能分析,需要一个一个url的去执行,需要人为去等,比较繁琐。而api很好的解决了这个问题,可以通过命令行等执行测试,也可以写成一个常规脚本,针对每个版本的常规url进行测试
 
 
安装webpagetest的npm包
 
npm install webpagetest -g
 
安装好后,可以用node.js引用webpagetest包来进行操作,也可以通过命令行直接操作。我这里使用的命令行进行操作
 
常用命令行操作
 
命令行格式:webpagetest [options] [command]
[options]包含-s、-h、-V等
 
1.webpagetest -help
查看webpagetest的api
 
2.webpagetest -s <server服务器地址> locations
查看当前已经连接到server的所有locations
 
3.webpagetest -s <server服务器地址> testers
返回server的所有locations,以及连接状态,"status": "OFFLINE"表示没有连接上
 
4.发送请求: webpagetest  -s <server服务器地址> test <url要测试的地址> -L <label标签> -l <locations>
实例:webpagetest  -s http://127.0.0.1 test "http://baidu.com" -L testlabel -l Android_Chrome
 
说明:url最好用双引号括起来,如果是简单的百度链接还好,如果url中有很多参数(参数里会包含?&;等字符),有可能会报错
 
返回结果如下:
{
  "statusCode": 200,
  "statusText": "Ok",
  "data": {
    "testId": "161026_0Z_2",
    "ownerKey": "0892939f735f030fc81e0bbf40db52ac838340b5",
    "jsonUrl": "http://127.0.0.1/jsonResult.php?test=161026_0Z_2",
    "xmlUrl": "http://127.0.0.1/xmlResult.php?test=161026_0Z_2",
    "userUrl": "http://127.0.0.1/results.php?test=161026_0Z_2",
    "summaryCSV": "http://127.0.0.1/csv.php?test=161026_0Z_2",
    "detailCSV": "http://127.0.0.1/csv.php?test=161026_0Z_2&amp;requests=1"
  }
 
返回的testId用来标识该条测试,可用来查询测试的状态、测试的结果等。api文档里所有<id>用的就是testId
jsonUrl等可以用来查询测试结果,测试执行结束后可以直接访问查询。
 
 
5.获得请求的状态:webpagetest  -s <server服务器地址>  status <testId> 
实例:webpagetest -s http://127.0.0.1  status 161026_0Z_2
查询出来该条测试是否完成,以及开始时间和结束时间等
 
6.获得请求结果:webpagetest  -s <server服务器地址>  results <testId> 
实例:webpagetest -s http://127.0.0.1  results 161026_0Z_2
返回了测试比较详细的结果,我还不太懂各项值,还是直接看网址的结果页面比较方便
 
7.获得历史天数内的结果:webpagetest  -s <server服务器地址> history <天数>
实例:webpagetest -s http://127.0.0.1 history 10
查询服务器下N天内的测试结果
 
返回结果如下:
[
  {
    "Date/Time": "10/26/16 03:22:10",
    "Location": "android-chrome_label - android",
    "Test ID": "161026_EZ_3",
    "URL": "http://www.zhuanzhuan.com",
    "Label": "testlabel"
  }
]
 
 
更多api可以参考下面链接:
posted on   每天1990  阅读(3154)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
 
点击右上角即可分享
微信分享提示