我正在寻找一种简单的方法来调试RESTful服务.例如,大多数Web应用程序都可以使用普通的Web浏览器进行调试.不幸的是,相同的浏览器不允许我测试HTTP PUT,DELETE,甚至在某种程度上测试HTTP POST.
我不打算自动化测试.我想通过快速的健全性检查来运行新服务,理想情况下无需编写自己的客户端.
使用现有的"REST客户端"工具,可以轻松检查请求和响应,例如RESTClient.
在我的公司,我们使用各种不同的工具和方法来测试RESTful服务:
我们编写cURL脚本 - 实际上是保存在文件中的单个命令.每种方法每个资源一个文件.对于PUT和POST,我们通常会有包含表示的文件与cURL脚本一起发送.例如,对于邮箱资源,我们可能有一个名为的文件mailbox_post.cmd
,该文件可能包含该行curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailbox
.我们喜欢这种方法,因为我们最终构建了一组测试,这些测试可以批量运行,或者至少在测试人员之间传递,并用于回归测试.
我们使用cURL和RESTClient进行临时测试
默认情况下,我们将服务提供给XHTML,因此它可以浏览,并添加表单资源,因此该服务实际上可以使用浏览器进行部分或完全测试.这部分受到RESTful Web服务的某些部分的启发,其中作者表明Web服务和Web应用程序之间的界限可能不需要像通常假设的那样严格和严格.
我们使用Restlet框架将函数测试编写为Groovy闭包,并使用测试运行器Groovy脚本运行测试.这很有用,因为测试可以是有状态的,相互构建,并在适当时共享变量.我们发现Restlet的API简单直观,易于编写快速HTTP请求并测试响应,在Groovy中使用时更加容易.(我希望尽快在我们的博客上分享这种技术,包括测试跑步者脚本.)
Google Chrome扩展程序Postman可能会有所帮助.
我发现RequestBin对调试REST请求很有用.发布到唯一的URL并更新/显示请求数据.当其他工具不可用时,可以帮助解决问题.
https://requestbin.com/
我运行OS X Leopard时发现有用的工具:
HTTP客户端
这是一个非常简单的GUI程序,允许您对资源进行http请求并查看响应.