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
相关文章
相关标签/搜索