Hitchhiker 是一款開源的 Restful Api 測試工具,支持Schedule, 數據對比,壓力測試,支持上傳腳本定製請求,能夠輕鬆部署到本地,和你的team成員一塊兒管理Api。javascript
詳細介紹請看: https://github.com/brookshi/Hitchhikerjava
在線體驗: http://www.hitchhiker-api.com/, 能夠用 try without login
來免登陸使用 (在線演示不支持壓力測試和上傳js,虛擬機單核的,撐不住)。git
這個算是以前就想實現的,拖了會,不過也是有朋友在github裏的issue裏提出,正好促使我完成這個功能。
在Pre Request Script裏寫的腳本會在請求發送前執行,這就使得能夠在請求發送前處理一些事情,好比生成一個md5給請求使用,或者讀取文件內容,再或者在請求前先請求一個數據,把這個數據作爲變量給如今的請求使用,能夠作的事有不少,發揮的餘地很大。github
如今在腳本里可使用的方法有:api
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庫:uuid
,lodash
等。post
這個算是呼聲比較高的,以前只是作到按天來跑schedule,後來收到很多這方面的需求,因此增長了以小時或分鐘爲單位的schedule。測試
這個也算是剛需了,由於不少公司會過濾一些來源不明的郵件,因此 Hitchhiker發出的郵件極可能會收不到,如今增長了一個自定義的郵件接口,Hitchhiker會把數據post到這個接口上,就可使用公司的郵箱來接發郵箱了。ui
有朋友表示想在Jenkins裏調用Schedule的Run接口,這是個好方法,因此開放了這個接口出來,方便其餘程序調用。
schedule的順序執行無效
sync有時會覆蓋用戶已經更改的數據
sync時環境變量編輯對應框裏的內容會被清掉
如今的Pre Request Script和文件夾系統在壓力測試下是不支持的,這個得想個辦法支持起來,另一個是文檔,如今文檔有點亂,得整理下。
Github: https://github.com/brookshi/Hitchhiker, 以爲不錯的話麻煩 Star 支持下,謝謝。