天天看點

RestFul API測試方法

   定義了RestFul Api,必須先做單元測試,確定Api可用,然後再交給别人去調用,這樣才能確定工作進度。下面我就說說我測試Api的幾種方法,具體怎麼測試這裡不做較長的描述。

(1)使用Apache的jmeter測試工具,很友善,可以批量測試Api,

 (2) 使用JerseyClient寫測試程式。因為我們用的是jersey實作的RestFul。

 (3) 使用浏覽器插件工具,我用的是火狐的插件RESTClient

(4)使用curl指令行工具。

使用工具測試Api,GET方法還好,如果是POST方法需要指定方法的Headers(資料格式),Body(請求參數),Api的url。

Body請求參數,如何擷取呢,在這裡我使用了Gson,先用java組織參數對象,然後用Gson将參數對象轉化為json串。

    Gson gson = new Gson(); 

String wqtString = gson.toJson(wqt);

    System.out.println(wqtString)

舉例說明:

我們架構中封裝了一個查詢參數WebQueryTerm。我擷取到它的json串格式為:

{"page":{"number":1,"size":10,"total":0,"sorts":[{"field":"creationTime","type":"DESC"}]},"terms":[{"field":"appType","operator":"equal","value":"0"}]}

其中

page表示分頁屬性。number目前頁,size一頁顯示多少條資料,

sorts排序:field表示排序字段。type表示排序類型,是desc降序還是asc升序

terms表示查詢。field表示查詢字段;operator表示是模糊查詢Like還是精确查詢Equal,value表示你輸入的查詢值。

這裡簡單說一下,怎麼使用火狐的RESTClient。

(1)首先,在火狐浏覽器菜單-附件元件-插件,中搜尋RESTClient,并安裝

(2)打開RESTClient,點選菜單Headers。輸入自定義Request Headers。例如Name = Content-Type  Value=application/json 點選okay!

(3)選擇Method,我選擇Post,因為我測試擷取應用清單,帶分頁,帶查詢條件。

(4)輸入api資源的url:http://192.168.1.183:8080/osd/rest/app/get_app_list

(5)輸入上面的請求參數json串。

 (6)點選Send請求API。

結果檢視:Response Headers如果Status Code =200 ok則表明API沒有異常

再看Response Body傳回資料,是否滿足你的要求。測試工作完成!

繼續閱讀