我的组织正致力于在JBoss appserver上构建RESTful webservices.到目前为止,QA团队使用SoapUI来测试SOAP Web服务.SoapUI有一个具有REST功能的新版本.我们正在考虑使用它.
网上是否有免费公开提供的RESTful服务,有人可以测试?
可用(和使用)哪些工具来测试RESTful Web服务?
小智.. 28
soapUI也将完成这项工作,请查看此博客文章以开始使用.
soapUI也将完成这项工作,请查看此博客文章以开始使用.
请尝试Firefox插件海报,它易于使用,让您快速运行
您可以使用相当简单的Python来练习Web服务.根据您的安全性,您可以简单地使用Python,urllib
或者urllib2
执行REST请求并检查您的答案.
此外,您可能希望使用Python unittest
来控制REST服务的Python测试的执行.
class TestSomeREST( unittest.TestCase ): def setUp(self): REALM = "blah@blah.com" self.client= RESTClient( "localhost", 18000, "tester", "tester", REALM ) def test_1_get(self): response = self.client.get('/this/that/other/2/') self.failUnlessEqual(200, response.status_code) j1= JSONDecoder().decode(response.content) self.assertEquals(2, j1[0]['pk'] ) entity= j1[0]['fields'] self.assertEquals('Some Other Group', entity['name']) self.assertEquals('E1G2', entity['customer_id'])
RESTClient类使用urllib2为每个请求传递摘要式身份验证.它相当复杂,但如果感兴趣,我可以分享其本质.
查看提琴手
CURL半途而废.另一半是检查标题,响应代码和实体内容以确保其良好.您可以使用各种工具(在shell脚本中,将标题和内容传递给文件,并且将它们区分开来可能就是这样).进一步改进工具集并不困难,可能会使用您选择的单元测试框架进行堆叠.
我用AJAX构建了一个rest webservice测试面板.实际上并不困难.您可能会遇到一些安全问题(即确保您在同一台服务器上安装了测试套件,或者签署了Javascript.)
要测试REST服务,您可以尝试使用REST Assured,这样可以非常简单地测试REST服务并验证Java中的响应(使用JUnit或TestNG).
查看邮递员 - https://chrome.google.com/webstore/detail/fdmmgilgnpjigdojojpjoooidkmcomcm/.这是我过去几个月一直在研究的工具,最近我从反馈中得到它,这对于大型REST项目变得非常有用,同时帮助进行基本的REST端点测试.
这个代码也可以在Github上找到.https://github.com/a85/POSTMan-Chrome-Extension
测试REST Web服务的最简单方法是curl
在终端中使用.
我用一些代码来测试我的rails服务.您可以修改它们以适合您的服务.
得到
curl http://localhost:3000/courses.json
POST
curl -H "Content-Type:application/json" -d '{"courseCode":"55555","courseName":"SEEEE","courseYr":999}' http://localhost:3000/courses.json
Pills in Raills:eg1 (包含所有字段):
curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json" -d '{"courseCode":"123456","courseName":"AAAAAAAA","courseYr":12345}' http://localhost:3000/courses/5.json
eg2(仅对字段进行编辑):
curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json" -d '{"courseYr":999999999}' http://localhost:3000/courses/3.json
在提供id的rails中删除
curl -H "X-Http-Method-Override: delete" -H "Content-Type:application/json" -d '{"id":4}' http://localhost:3000/courses/5.json