有哪些好用的 RESTFUL API python自动化测试框架架

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
请问java调用restful api接口,有没有什么好的、高效率框架推荐?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
spring大法好
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
restlet,jersey
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
GitHub一下,SpringMvc,MyBatis,Hibernate等封装好的框架很多
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App4296人阅读
rest(20)
& &定义了RestFul Api,必须先做单元测试,确保Api可用,然后再交给别人去调用,这样才能确保工作进度。下面我就说说我测试Api的几种方法,具体怎么测试这里不做详细描述。
(1)使用Apache的jmeter测试工具,很方便,可以批量测试Api,
&(2) 使用JerseyClient写测试程序。因为我们用的是jersey实现的RestFul。
&(3) 使用浏览器插件工具,我用的是火狐的插件RESTClient
(4)使用curl命令行工具。
使用工具测试Api,GET方法还好,如果是POST方法需要指定方法的Headers(数据格式),Body(请求参数),Api的url。
Body请求参数,如何获取呢,在这里我使用了Gson,先用java组织参数对象,然后用Gson将参数对象转化为json串。
& & Gson gson = new Gson();&
String wqtString = gson.toJson(wqt);
& & System.out.println(wqtString)
举例说明:
我们框架中封装了一个查询参数WebQueryTerm。我获取到它的json串格式为:
{&page&:{&number&:1,&size&:10,&total&:0,&sorts&:[{&field&:&creationTime&,&type&:&DESC&}]},&terms&:[{&field&:&appType&,&operator&:&equal&,&value&:&0&}]}
page表示分页属性。number当前页,size一页显示多少条数据,
sorts排序:field表示排序字段。type表示排序类型,是desc降序还是asc升序
terms表示查询。field表示查询字段;operator表示是模糊查询Like还是精确查询Equal,value表示你输入的查询值。
这里简单说一下,怎么使用火狐的RESTClient。
(1)首先,在火狐浏览器菜单-附件组件-插件,中搜索RESTClient,并安装
(2)打开RESTClient,点击菜单Headers。输入自定义Request Headers。例如Name = Content-Type &Value=application/json 点击okay!
(3)选择Method,我选择Post,因为我测试获取应用列表,带分页,带查询条件。
(4)输入api资源的url:http://192.168.1.183:8080/osd/rest/app/get_app_list
(5)输入上面的请求参数json串。
&(6)点击Send请求API。
结果查看:Response Headers如果Status Code =200 ok则表明API没有异常
再看Response Body返回数据,是否满足你的要求。测试工作完成!
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:625436次
积分:10285
积分:10285
排名:第1505名
原创:447篇
转载:34篇
评论:122条
(1)(2)(1)(1)(1)(5)(8)(7)(21)(10)(11)(5)(14)(3)(6)(4)(17)(9)(17)(18)(23)(24)(19)(87)(148)(19)
文章:22篇
阅读:14994
文章:107篇
阅读:97528
文章:29篇
阅读:31889
文章:20篇
阅读:16512
文章:18篇
阅读:437434325人阅读
REST API TEST
测试RESTful Web Services的三种方法
如今网站搞个开放API,弄个RESTful Web Services似乎早不是新鲜事了。尤其在Twitter、Facebook、Google等先行者的推动下,获取其他网站的资源并进行变得越来越普遍。如今在SNS大行其道的日子里,你不搞个“推荐该内容到人人网/开心网/新浪微博”这样的链接,你都不好意思出去见人说“我是做网站的”。
就连我院的线上教学支持系统都打算分离出核心数据(即学生和课程的信息),通过REST风格的Web服务来提供这些中心数据,支持其他功能(例如课程论坛、作业发布和提交等)的实现。这样做的好处自然是分离的数据可以再提供给今后更多的服务使用,比起传统的全部使用本地数据库的方法减少了冗余和错误的产生。而其缺点在于加大了开发难度,以前可以很轻松的诸如数据表中外键的功能全部得从第三方资源实现,一定程度上降低了网站的运行效率。同时,进行REST的开发和测试也变得不那么直接了。虽然各种语言都有HTTP请求相关的类库,但是本着的精神,本文介绍了几种方便的测试RESTful
Web Services的工具。
REST简单介绍
所谓REST,是Representational State Transfer,这个词汇的中文翻译很不统一,而且很晦涩,有叫“具象状态传输”,有叫“表象化状态转变”,等等。通俗地讲,REST风格的Web服务,是通过一个简洁清晰的URI来提供资源链接,客户端通过对URI发送HTTP请求获得这些资源,而获取和处理资源的过程让客户端应用的状态发生改变(不像那些远程过程调用那么直接地发生改变)。一般常用的对资源进行CRUD(Create,
Read, Update 和 Delete)的四种HTTP方法分别是POST, GET, PUT, DELETE。一般的Web浏览器基本只会用到GET和POST两种方法,但是根据,HTTP请求方法除了前面提到的四种还有OPTIONS, HEAD, TRACE, CONNECT,一共8种。
REST源于Roy Fielding在2000年的,而关于RESTful
Web服务最著名的书便是本文题图的《》。顺便提一句,我只是说说而已,这两个东西我都没看过,估计看了也看不懂。
RESTful Web Services测试工具推荐
不了解精深的理论没关系,我们只要会使用就行了。
命令行控的最爱:cURL
cURL是一个很强大的支持各种协议的文件传输工具,用它来进行RESTful Web Services的测试简直是小菜一碟。这个工具基本上类Unix操作系统(各种Linux、Mac OS X)都自带了,而Windows用户就得去额外了。
cURL的命令参数非常多,一般用于RESTful Web Services测试要用到下面四种参数:
-d/–data &data&:POST数据内容
-X/–request &command&:指定请求的方法(使用-d时就自动设为POST了)
-H/–header &line&:设定header信息
-I/–head:只显示返回的HTTP头信息
一个最简单的例子,资源的获取,不需要强行指定GET方法,直接在curl后面跟上URL即可:
[code light=”true”]
Clippit@Clippit-PC ~
$ curl /api/user//
{&id&:&student1&,&name&:&\u5b66\u751f\u4e00&,&num&:&&,
&grade&:&20101&,&courses&:[{&id&:1,&name&:&\u8bfe\u7a0b\u4e00&,
&active&:false,&identity&:0,&instructors&:[{&id&:&teacher1&,&na
me&:&\u\u4e00&}]},{&id&:2,&name&:&\u8bfe\u7a0b\u4e8c&
,&active&:true,&identity&:0,&instructors&:[{&id&:&teacher2&,&na
me&:&\u\u4e8c&}]},{&id&:3,&name&:&\u8bfe\u7a0b\u4e09&
,&active&:true,&identity&:0,&instructors&:[{&id&:&teacher3&,&na
me&:&\u\u4e09&}]}]}
再看删除远程的一条记录,并返回HTTP头检查操作是否成功:
[code light=”true”]
Clippit@Clippit-PC ~
$ curl -I -X DELETE /api/course/1/
HTTP/1.1 200 OK
Date: Thu, 12 Aug :46 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.14
Content-Type: text/html
Content-Length: 0
需要指出的是,如果使用-d或者其他某些参数就不能直接看到返回的HTTP头了,即不能将-d和-I同时使用。解决的办法是采用-D/--dump-header参数并指定一个文件名,将header的数据保存下来查看。
浏览器控的最爱:各种插件
既然普通的浏览器不支持除了GET和POST以外的操作,查看和发送HTTP header都很苦难,那就让插件来扩展它的功能吧!让人们不离开浏览器就能进行各种测试,也是一种非常方便的选择。如果你喜欢下面介绍的插件,不妨到相应的页面上给它们评星以支持作者的劳动。
Chrome下有一个插件,提供了一个简单的表单进行各种HTTP操作,并可以看到返回的信息。
Chrome下的插件显得有些寒碜,那么同样深受开发者喜爱的Firefox也有一款名为的插件,这款插件由国人开发,功能上支持Basic和OAuth的登录header发送,并且对于返回的XML数据还可以高亮显示。
咖啡控的最爱:RESTClient
这里的咖啡是什么,你懂的。名字同样很朴素,这是一个用Java写的测试小工具,上提到它有命令行和GUI两种版本。为了方便操作我们选择GUI版本来看看。既然是一款软件,显然就比刚才介绍的浏览器插件功能更加强大。它支持应答正文的JSON和XML缩排和高亮,还可以一键搭建一个RESTful服务端,另外还提供了单元测试的功能。介绍的三种工具中,我最喜欢的还是这款了,尤其是它的缩排高亮功能非常实用,方便查看。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:39306次
排名:千里之外
原创:26篇
转载:22篇
(1)(1)(3)(2)(8)(1)(1)(1)(17)(2)(2)(1)(8)

我要回帖

更多关于 自动化测试框架 的文章

 

随机推荐