Hitchhiker 是一款開源的支持多人協做的 Restful Api 測試工具,支持Schedule, 數據對比,壓力測試,支持上傳腳本定製請求,能夠輕鬆部署到本地,和你的team成員一塊兒管理Api。javascript
詳細介紹請看: http://doc.hitchhiker-api.com/cn/introduction.htmlhtml
在線體驗: http://www.hitchhiker-api.com/, 能夠用 try without login
來免登陸使用 (在線演示不支持壓力測試和上傳js,虛擬機單核的,撐不住)。java
Script 增長屬性request來獲得請求的信息,包括 method, url, headers, body。git
const req = hitchhiker.request; const {url, headers, method, body} = req;
另外增長了一個方法 setRequest(request),這個方法是對請求進行修改。
request和setRequest配合着一塊兒用就能夠在請求發送前對其進行適當的編輯,好比增長一個簽名,增長一個header之類。github
const crypto = hitchhiker.require('crypto-js'); const sign = crypto.HmacSHA1('test', 'asdf'); const req = hitchhiker.request; url = `${url}?sign=${sign}`; hitchhiker.setRequest({...hitchhiker.request, url});
固然,作得過份點,把GET請求變成POST請求也不是不行:api
let url = hitchhiker.request.url; url = `${url.substr(0, url.lastIndexOf('/'))}/post?c=d`; hitchhiker.setRequest({...hitchhiker.request, url, body: '{"name":"brook"}', method: 'POST'});
以前有個Pre Request Script,是Request級別的,但一個Collection下每每有不少Request有幾乎相同的操做,若是每一個Request去寫將會很是麻煩,維護也不方便。服務器
一個典型的應用場景是Collection下面全部的Request的url都須要在發送前加一個動態hash值,把這些通用的事情放到Collection 級別來作就會很是方便。async
Hitchhiker 增長了一個新配置:inviteMemberDirectly, 用於決定邀請成員時是否須要發郵件,仍是直接拉到Project裏來,默認是true。工具
背景是有些公司的server是不能訪問外網的,也就用不了Hitchhiker提供的郵件功能,這時這個直接拉同事到Project裏來的功能就很是有用了。post
固然,Hitchhiker是支持外部郵件接口的,其實若是願意的話本身在內網搭一個郵件服務器也不麻煩。
具體這些配置能夠參考:Configuration
這兩個都是Collection下面的屬性。
Request Follow Redirect 用來設置這個Collection下面的請求是否在返回狀態碼爲3xx時繼續重定向到下一個頁面,默認爲false。
Request Strict SSL 用來設置這個Collection下面的請求在發送時是否須要作SSL證書的校驗,由於有些公司用的本身作的證書,這些證書在嚴格SSL模式下會返回證書錯誤信息,不勾這個選項的話就會忽略這種錯誤,默認爲false。
把文檔從新整理了一遍,使用gitbook來寫和發佈,不過gitbook貌似在國內常常被牆,因此在hitchhiker的網站上也放了一份,方便查閱。
文檔地址:http://doc.hitchhiker-api.com/cn/introduction.html
畫了一個Script流程圖:
接下來的一個主要目標是讓壓力測試支持ES6和支持js庫,不過由於壓力點是用GO寫的,用的otto的解釋器,而otto只支持到ES5,須要在server作下轉換,另外還要支持async/await,可能會有點麻煩。
Github: https://github.com/brookshi/Hitchhiker, 以爲不錯的話麻煩 Star 支持下,謝謝。