背景
使用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可以参考下面链接:

使用命令行执行webpagetest进行测试的更多相关文章

  1. Pytest命令行执行测试

    Pytest命令行执行测试 from collections import namedtuple Task = namedtuple('Task', ['summary','owner','done' ...

  2. 命令行执行php脚本 中$argv和$argc

    在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问. 在nginx命令行中 使用 php index.php 就可以执行这个index.php脚 ...

  3. yii2 命令行执行php命令 commands(命令)

    YII2可以在命令行执行php命令,作为半路出家的撩妹君可谓是抠脚福音.作为一个屌丝级的程序员必须要有智能提示代码的IDE,比如PHPstorm.至于如何免费使用嘛..... 首先明白YII2自带的c ...

  4. 使用命令行执行jmeter的方法

    1. 简介 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法. 1.1. 命令介绍 jmeter -n -t & ...

  5. JMeter 十二:命令行执行

    参考文档:http://jmeter.apache.org/usermanual/get-started.html#non_gui 真正开始跑压力测试时,我们就不能使用GUI模式了.这时候需要采用命令 ...

  6. 命令行执行php脚本中的$argv和$argc配置方法

    在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问. 在nginx命令行中 使用 php index.php 就可以执行这个index.php脚 ...

  7. Jmeter(6)命令行执行

    Jmeter执行方式有2种:GUI和非GUI模式 GUI:在Windows电脑上运行,图形化界面,可直接查看测试结果,但是消耗压力机资源较高 非GUI:通过命令行执行,无图形化界面,不方便查看测试结果 ...

  8. linux命令行执行db2存储过程

    存储过程代码如下: CREATE PROCEDURE proc_sum2(IN n INT,OUT sum INT,OUT j INT) BEGIN DECLARE i INT; ; ; ; WHIL ...

  9. mysql命令行执行外部文件

    mysql命令行执行外部文件

随机推荐

  1. dedecms 模板静态化

    require_once (dirname(__FILE__) . "/../include/common.inc.php"); require_once DEDEINC.&quo ...

  2. Oracle 游标示例,带异常处理

    Oracle游标示例一则,带异常处理. DECLARE CURSOR c_dl IS SELECT ID, NSRSBH, WSPZXH, ZXYY_DM, HZRQ, SWJG_DM, GXSJ F ...

  3. sql server 常见问题笔记

    1.关于复制类型 快照发布:发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照. 事务发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器. 对等发布:对等发布支 ...

  4. javascript type操作

    var a; type a;//结果为undefined type b;//结果也是undefinedalert(a);//弹出undefinedalert(b);//错误代码  上述代码,type ...

  5. SpringMVC国际化

    如何将我们网站的其它内容(如菜单.标题等)做国际化处理呢?这就是本篇要将的内容->国际化. 一.基于浏览器请求的国际化实现: 首先配置我们项目的springservlet-config.xml文 ...

  6. Windows消息大全(转)

    原链接地址: http://www.cnblogs.com/icebutterfly/archive/2011/08/05/2128864.html 表A-1 Windows消息分布 消息范围说 明 ...

  7. NSURLConnection使用

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  8. http响应状态码大全

    http响应状态码大全 http状态返回代码 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. http状态返回代码 代码   说明100   (继续) 请求者应当继续提出请求. 服 ...

  9. shell 中调用其他的脚本

    方法有三种: 1 使用source 2 使用 . 3 使用sh 简单实验: first.sh #!/bin/bashecho 'your are in first file' second.sh #! ...

  10. 《JavaScript高级程序设计》学习笔记(4)——引用类型

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中, ...