使用命令行執行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可以參考下面鏈接:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM