開源API測試工具 Hitchhiker v0.4更新 – 沒有做不到,只有想不到

Brook Shi發表於2019-02-28

Hitchhiker 是一款開源的 Restful Api 測試工具,支援Schedule, 資料對比,壓力測試,支援上傳指令碼定製請求,可以輕鬆部署到本地,和你的team成員一起管理Api。

詳細介紹請看: www.cnblogs.com/brookshi/p/…

線上體驗: www.hitchhiker-api.com/, 可以用 try without login 來免登入使用 (線上演示不支援壓力測試和上傳js,虛擬機器單核的,撐不住)。

下面來看看這次的更新:

Pre Request Script

這個算是之前就想實現的,拖了會,不過也是有朋友在github裡的issue裡提出,正好促使我完成這個功能。
在Pre Request Script裡寫的指令碼會在請求傳送前執行,這就使得可以在請求傳送前處理一些事情,比如生成一個md5給請求使用,或者讀取檔案內容,再或者在請求前先請求一個資料,把這個資料做為變數給現在的請求使用,可以做的事有很多,發揮的餘地很大。

現在在指令碼里可以使用的方法有:

require             // 這個做js的都懂,有了這個就有無限可能,內建了`lodash`, `request`, `cypro-js`等庫,重要的是支援上傳js庫
readFile            // 讀取檔案
readFileByReader    // 使用自定義的方法讀取檔案,比如讀取excel
saveFile            // 儲存檔案
removeFile          // 刪除檔案
setEnvVariable      // 設定環境變數
getEnvVariable      // 獲取環境變數
removeEnvVariable   // 刪除環境變數
environment         // 獲取當前環境的名字複製程式碼

當然上面的函式同樣可以在Test中使用,下面這些只在Test裡支援:

responseBody
responseObj
responseHeaders
responseTime
responseCode.code
responseCode.name複製程式碼

專案資料夾

對每個專案來說都有一個data資料夾和一個lib資料夾。
data資料夾用於上傳一些測試所需要的資料,可以是任何格式,只要你能讀取。
lib資料夾則用於上傳一些js庫,需要先壓縮成zip格式,上傳後會自動解壓。
然後在指令碼里就可以通過 readFile 讀取 data資料夾下的檔案,或者通過 saveFile儲存檔案到這個資料夾。
同樣可以在指令碼通過require來引用上傳的js庫,然後使用它。

除了專案資料夾外其實還有一個全域性的資料夾,這個資料夾可以放一些全域性的js庫或資料,比如已經內建了一些常用的js庫:uuidlodash等。

schedule支援以小時或分鐘為單位

這個算是呼聲比較高的,之前只是做到按天來跑schedule,後來收到不少這方面的需求,所以增加了以小時或分鐘為單位的schedule。

支援自定義郵件傳送介面

這個也算是剛需了,因為很多公司會過濾一些來源不明的郵件,所以 Hitchhiker發出的郵件很可能會收不到,現在增加了一個自定義的郵件介面,Hitchhiker會把資料post到這個介面上,就可以使用公司的郵箱來接發郵箱了。

開放schedule的run now介面以便其他程式呼叫

有朋友表示想在Jenkins裡呼叫Schedule的Run介面,這是個好方法,所以開放了這個介面出來,方便其他程式呼叫。

Bug fix

  • schedule的順序執行無效
  • sync有時會覆蓋使用者已經更改的資料
  • sync時環境變數編輯對應框裡的內容會被清掉

後續計劃

現在的Pre Request Script和資料夾系統在壓力測試下是不支援的,這個得想個辦法支援起來,另外一個是文件,現在文件有點亂,得整理下。

Github: github.com/brookshi/Hi…, 覺得不錯的話麻煩 Star 支援下,謝謝。

相關文章