我想通过HTTP直接测试我的RESTful应用程序,我正在寻找可以帮助我完成该任务的工具。基本上我正在寻找一个简单的HTTP请求包装器,可以提交,例如HTML表单或序列化资源,如JSON或XML。
如果有办法验证服务是否实际遵循REST架构指南(无状态,URI,内容协商等),那将会很棒。
能够将它与JUnit一起使用将是一个方便的奖励。你知道任何可以帮助我做我想做的事情的图书馆(这不仅仅是一个简单的http客户端)吗?
答案 0 :(得分:13)
查看rest-client是否有任何帮助。
编辑:目前我正在使用Postman - REST客户端一个谷歌浏览器插件,它真棒!
答案 1 :(得分:10)
我认为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]
}]
}
}
您可以发出请求并验证响应,如下所示:
expect().body("lotto.lottoId", equalTo(5)).when().get("/lotto");
答案 2 :(得分:5)
还有Jersey测试框架(http://jersey.java.net/nonav/documentation/latest/user-guide.html#test-framework),但是Johan已经提到过REST保证框架了还推荐这个框架 - 它有一些很好的功能,比如DSL语法,XPath和Schema验证,简单的文件上传和使用Groovy Lambda表达式来搜索返回的JSON结构。
我写了两篇文章..
答案 3 :(得分:1)
Fiddler是一个非常有用的工具,您可以使用各种请求动词(如GET,POST,PUT,DELETE等)创建基于XML的HTTP请求。
答案 4 :(得分:0)
也许Selenium可以提供一些帮助,但肯定不完全。