開源API測試工具 Hitchhiker v0.5更新 - 完善細節

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

下面來看看此次的更新:

request和setRequest

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'});

Common Pre Request Script

以前有個Pre Request Script,是Request級別的,但一個Collection下每每有不少Request有幾乎相同的操做,若是每一個Request去寫將會很是麻煩,維護也不方便。服務器

一個典型的應用場景是Collection下面全部的Request的url都須要在發送前加一個動態hash值,把這些通用的事情放到Collection 級別來作就會很是方便。async

配置 inviteMemberDirectly

Hitchhiker 增長了一個新配置:inviteMemberDirectly, 用於決定邀請成員時是否須要發郵件,仍是直接拉到Project裏來,默認是true。工具

背景是有些公司的server是不能訪問外網的,也就用不了Hitchhiker提供的郵件功能,這時這個直接拉同事到Project裏來的功能就很是有用了。post

固然,Hitchhiker是支持外部郵件接口的,其實若是願意的話本身在內網搭一個郵件服務器也不麻煩。

具體這些配置能夠參考:Configuration

Request Follow Redirect 和 Request Strict SSL

這兩個都是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 支持下,謝謝。

相關文章
相關標籤/搜索