测试RESTful服务的方法?
我想直接通过HTTP测试我的RESTful应用程序,我正在寻找可以帮助我完成该任务的工具。 基本上我正在寻找一个简单的HTTP请求包装器,可以提交例如HTML表单或序列化资源作为JSON或XML。
如果有一种方法可以validation服务是否实际遵循REST架构指南(无状态,URI,内容协商等),那将会很棒。
能够与JUnit一起使用将是一个方便的奖励。 你知道任何可以帮助我做我想做的图书馆(这不仅仅是一个简单的http客户端)吗?
看看rest-client是否有任何帮助。
编辑:目前我正在使用Postman – REST客户端谷歌浏览器插件,它太棒了!
我认为REST Assured会让你很好。 发送请求和解析XML和JSON响应非常容易。 例如,假设对“/ lotto”的GET请求返回JSON:
{ "lotto":{ "lottoId":5, "winning-numbers":[2,45,34,23,7,5,3], "winners":[{ "winnerId":23, "numbers":[2,45,34,23,3,5] },{ "winnerId":54, "numbers":[52,3,12,11,18,22] }] } }
您可以发出请求并validation响应,如下所示:
expect().body("lotto.lottoId", equalTo(5)).when().get("/lotto");
还有泽西测试框架(http://jersey.java.net/nonav/documentation/latest/user-guide.html#test-framework)但是由于Johan已经提到过REST保证框架,我也建议这样做框架 – 它有一些很好的function,如DSL语法,XPath和Schemavalidation,简单的文件上传和使用Groovy Lambda表达式搜索返回的JSON结构..
我写过两篇文章..
- 第一个比较REST-assured和Jersey-Test-Framework( http://www.hascode.com/2011/09/rest-assured-vs-jersey-test-framework-testing-your-restful-web-services/ )
- 第二部分针对给定的REST服务探讨了REST保证框架的function( http://www.hascode.com/2011/10/testing-restful-web-services-made-easy-using-the-rest-assured – 框架/ )
Fiddler是一个非常有用的工具,您可以使用各种请求动词(如GET,POST,PUT,DELETE等)创建基于XML的HTTP请求。
也许Selenium可以提供一些帮助,但肯定不是完全的。