最近項目中遇到一個case例朱,想把所有的請求的input和output獲取到删顶,并生成文檔阎姥。
經過思索和查閱資料捐凭,有這么幾個方向:
Swagger
可以通過手動的編寫yaml文件拨扶,來完美的描述各個API的輸入輸出,并且能夠生成mock數據茁肠,進行測試患民。同時還能夠獲得關于API的文檔。
詳情見官網doc垦梆。
Postman
之前匹颤,只是把它當做一個API測試工具,沒詳細的了解過奶赔。最近看了下惋嚎,簡直不能太牛逼。
首先站刑,安裝postman的chrome app版本另伍。
其中可以有幾個可以用:
Chrome Interceptor
在postman的首頁就能找到Interceptor的下載地址.
安裝完成后,在想要跟蹤的網頁上绞旅,將插件的request capture
選項打開摆尝。然后同時打開postman,將其interceptor同步打開因悲。
這樣堕汞,在網頁上call的request就都能夠同步的顯示在postman的history里了。
Document API
我們將需要的request添加到一個collection中晃琳。
搭配mock功能讯检,可以構建自己的測試集琐鲁。
搭配document API功能,可以直接形成關于API的文檔人灼。
搭配Runner功能围段,可以運行測試集(mock的輸入數據),然后得到一個API的測試結果投放,包括輸入和輸出奈泪,以及一些request的相關參數信息。同時還有導出測試數據的功能灸芳。這個應該是最接近我們想要的了涝桅。
前面提到的那個interceptor唯一不好的一點就是不能夠記錄下來當前request的所有狀態(tài),包括req和res的所有數據(目前只有req的信息)烙样。
Chrome netlog
后來發(fā)現了chrome強大的API功能冯遂,提供了可以獲取Network的request的一些API接口。同時误阻,還提供了一個類似于stack dump的功能债蜜,可以把Network的log信息導出到一個文件中。
利用chrome net-export(chrome://net-export/
)究反,就能夠將現存的Network Log存在本地寻定。
同時,我們可以在啟動chrome的時候添加一些參數精耐,來設定chrome將其net-log保存在一個文件中:
--log-net-log=C:\some_path\some_file_name.json
不過狼速,也有些不足:沒有過濾,沒有res的數據卦停。
抓包
當然向胡,可以用抓包工具,進行抓包惊完。然后僵芹,自己解析導出文檔即可。