RestFul API测试方法

来源:互联网 发布:淘宝 手机端 图片尺寸 编辑:程序博客网 时间:2024/03/29 16:38

   定义了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返回数据,是否满足你的要求。测试工作完成!


0 0