RESTful Web Services測試工具推薦

命令行控的最愛:cURL

cURL是一個很強大的支持各類協議的文件傳輸工具,用它來進行RESTful Web Services的測試簡直是小菜一碟。這個工具基本上類Unix操做系統(各類Linux、Mac OS X)都自帶了,而Windows用戶就得去額外下載了。html

 

cURL的命令參數很是多,通常用於RESTful Web Services測試要用到下面四種參數:python

  • -d/–data <data>:POST數據內容
  • -X/–request <command>:指定請求的方法(使用-d時就自動設爲POST了)
  • -H/–header <line>:設定header信息
  • -I/–head:只顯示返回的HTTP頭信息

一個最簡單的例子,資源的獲取,不須要強行指定GET方法,直接在curl後面跟上URL便可:web

 

[code light=」true」]
Clippit@Clippit-PC ~
$ curl http://dayanjia.com/api/user/101250001/
{"id":"student1","name":"\u5b66\u751f\u4e00","num":"101250001",
"grade":"20101","courses":[{"id":1,"name":"\u8bfe\u7a0b\u4e00",
"active":false,"identity":0,"instructors":[{"id":"teacher1","na
me":"\u8001\u5e08\u4e00"}]},{"id":2,"name":"\u8bfe\u7a0b\u4e8c"
,"active":true,"identity":0,"instructors":[{"id":"teacher2","na
me":"\u8001\u5e08\u4e8c"}]},{"id":3,"name":"\u8bfe\u7a0b\u4e09"
,"active":true,"identity":0,"instructors":[{"id":"teacher3","na
me":"\u8001\u5e08\u4e09"}]}]}
[/code]chrome

再看刪除遠程的一條記錄,並返回HTTP頭檢查操做是否成功:api

[code light=」true」]
Clippit@Clippit-PC ~
$ curl -I -X DELETE http://dayanjia.com/api/course/1/
HTTP/1.1 200 OK
Date: Thu, 12 Aug 2010 16:50:46 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.14
Content-Type: text/html
Content-Length: 0
[/code]瀏覽器

須要指出的是,若是使用-d或者其餘某些參數就不能直接看到返回的HTTP頭了,即不能將-d和-I同時使用。解決的辦法是採用-D/--dump-header參數並指定一個文件名,將header的數據保存下來查看。app

 

瀏覽器控的最愛:各類插件

既然普通的瀏覽器不支持除了GET和POST之外的操做,查看和發送HTTP header都很苦難,那就讓插件來擴展它的功能吧!讓人們不離開瀏覽器就能進行各類測試,也是一種很是方便的選擇。若是你喜歡下面介紹的插件,不妨到相應的頁面上給它們評星以支持做者的勞動。curl

 

Chrome下有一個Simple REST Client插件,提供了一個簡單的表單進行各類HTTP操做,並能夠看到返回的信息。ide

 

Chrome下的插件顯得有些寒磣,那麼一樣深受開發者喜好的Firefox也有一款名爲RESTClient的插件,這款插件由國人開發,功能上支持Basic和OAuth的登陸header發送,而且對於返回的XML數據還能夠高亮顯示。工具

咖啡控的最愛:RESTClient

這裏的咖啡是什麼,你懂的。名字一樣很樸素,這是一個用Java寫的測試小工具,項目主頁上提到它有命令行和GUI兩種版本。爲了方便操做咱們選擇GUI版原本看看。既然是一款軟件,顯然就比剛纔介紹的瀏覽器插件功能更增強大。它支持應答正文的JSON和XML縮排和高亮,還能夠一鍵搭建一個RESTful服務端,另外還提供了單元測試的功能。介紹的三種工具中,我最喜歡的仍是這款了,尤爲是它的縮排高亮功能很是實用,方便查看。

 

 

其實,除了如下經常使用的插件或者工具外,本身用python等些腳本實現http也是不錯的選擇

api test  :  

chrome  postman

chrome:  
           Simple REST Client
           Advanced Rest  Client
firefox:
            Rest Client
 
Script:
           python script
相關文章
相關標籤/搜索