v0.9是Hitchhiker在2017農曆年的最後一個版本,而起點正是剛過完2016農曆年,農曆2018即將到來,一年輪迴,今天寫點東西稍微回顧下hitchhiker的2017。git
先仍是說v0.9,此次版本發佈主要帶來一個新的輔助測試功能:免腳本的斷言測試,這是一個攜程的朋友提出來的需求。github
以前Hitchhiker支持在test腳本里寫 tests['assert'] = value 這樣來斷言,但不少QA其實並不會編程,或者會其餘語言但對js不熟,這樣斷言寫起來就不太方便,因此此次應朋友的需求加了這個功能:編程
上面動圖已經展現了功能和用法,具體就很少說了。api
回頭看下Hitchhiker的2017,一年過來,對這個項目來講結果還不錯,大小版本發了14個,github上有了1k+的star,我也所以認識了一些朋友,對技術上有也很多提高,整體看對我來講是成功了。服務器
https://github.com/brookshi/Hitchhiker併發
起初,大概是2016年年中,我開始負責公司一個API項目,由於是金融公司,對數據準確性要求很高,因此產生想法,作一個工具來輔助這個API項目的測試,減小溝通成本以及QA作regression時的壓力。後面準備了下,在2016年農曆年後,也就是17年的3月份,正式開始編碼實現功能。工具
因爲不懂設計,因此UI上參考了比較熟悉的一個成名已久的測試工具:Postman,這也致使:即便後來除了UI外,實現了不少Postman沒有的功能也仍是擺脫不了Postman的影子,很多人一看跟Postman同樣,以爲沒有意義,在這點上算是一個敗筆。不過也由於類Postman UI的易用性,讓使用Hitchhiker的人很容易上手,這又是一大優點,算是二者抵消吧。測試
當時,想要經過這個工具解決的問題只有2個:優化
解決這2個問題的方案是:ui
這兩個功能在17年7月左右前後實現,個人API項目的接口測試也陸續加了進去,基本上知足了需求。
因爲項目的API的併發量比較大,在服務器有限的狀況下,須要儘可能提早優化來提升吞吐,避免上線後出問題,因此須要在測試階段給到服務器壓力,而後在10月份時用Go語言爲Hitchhiker實現了壓力測試。
在0.5版本時用gitbook重寫了文檔: Hitchhiker使用文檔
接下來的一個版本又大幅增強了腳本功能,支持require,支持上傳腳本庫和數據文件,標誌着 NPM 裏幾十萬的js庫盡能夠拿來用了。
不過惋惜的是基於Go語言寫的壓力測試因爲對js支持有限,不得不放棄,轉而使用Node重寫了一份壓力測試的功能並在v0.6版本上線。
其實到這時爲止,Hitchhiker已經知足個人API項目的需求了,但隨着使用者愈來愈多,需求不斷出現,後續的版本基本都在實現這些需求了:
v0.7:支持自定義smtp,爲請求生成各類語言的code,schedule數據不一樣時的diff展現
v0.8: 自動化測試結果統計
v0.9: 基於UI的斷言測試
還有不少功能想要實現,文檔,Mock,管理平臺等等,將會在接下來的2018裏陸續實現。
在線體驗: http://www.hitchhiker-api.com/, 能夠用 try without login
來免登陸使用 (在線演示不支持壓力測試和上傳js庫,虛擬機單核的,撐不住)。