• 使用命令行执行webpagetest进行测试


    背景
    使用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可以参考下面链接:
  • 相关阅读:
    MySQL体系结构
    详解MySQL的用户密码过期/锁定解锁功能
    MySQL5.7 密码安全策略
    Python终端如何输出彩色字体
    flashback
    PXC 部署前置检查
    CentOS7 安装docker
    CentOS7 安装ifconfig
    CentOS 7 网络配置
    VMware虚拟机克隆Linux系统引起的网卡问题
  • 原文地址:https://www.cnblogs.com/meitian/p/6002374.html
Copyright © 2020-2023  润新知