大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

认识postman

大家好,我是IT修真院上海分院java学员严恒,一枚正直纯洁善良的JAVA程序员

今天给大家分享一下,postman的介绍以及简单实用

1.背景介绍

Postman是一个 Chrome 扩展,能提供强大的 Web API & HTTP 请求调试功能。Postman能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等,请求头中可以附带任何数量的headers信息。 Postman支持不同的认证机制(basic,digest,OAuth) Postman非常简单易用,通过填写URL、header、body等就可以发送一个请求,这对于我们平时做一些简单的测试是够用的。 Postman有一个“集合”功能,用于存储所有请求相同的API/域,这个功能能方便我们重新发送请求。

2.知识剖析



1)收藏:在邮差中,收集类似文件夹,可以把同一个项目的请求放在一个集合里方便管理和分享,收藏里面也可以再建文件夹如果做API文档的话,可以每个API对应一条请求,如果要把各种输入都测到的话,就需要每条测试一条请求了。这里我新建了一个例子用于介绍整个流程,五个API对应五条请求。这个系列通过可以https://www.getpostman.com/collections/c8f98a1120357e0d4a5a导入你自己的邮差中。

2)上面的黑字注册是请求的名字,如果有请求描述的话会显示在这下面。下面的蓝字是保存起来的请求结果,点击可以载入某个请求的参数和返回值我会用这个功能给做客户端的同事展示不同情况下的各种返回值。保存请求的按钮在15。

3)选择HTTP Method的地方,各种常见的不常见的非常全。

4)请求URL,两层大括号表示这是一个环境变量,可以在16的位置选择当前的环境,环境变量就会被替换成该环境里变量的值。

5)点击可以设置URL参数的键和值

6)点击发送请求

7)点击保存请求到集合,如果要另存为的话,可以点击右边的下箭头

8)设置鉴权参数,可以用的OAuth之类的

9)自定义HTTP头,有些因为Chrome愿意不能自定义的需要另外装一个插件Interceptor,在16上一行的卫星那里

10)设置请求身体,13那里显示的就是身体的内容

11)在发起请求之前执行的脚本,例如请求身体的那两个随机变量,就是每次请求之前临时生成的。

12)在收到响应之后执行的测试,测试的结果会显示在17的位置

13)有四种形式可以选择的,形状数据主要用于上传文件.X WWW的形式-urlencoded的是表单常用的格式。RAW可以用来上传JSON数据

14)返回数据的格式,漂亮的可以看到格式化后的JSON,原料就是未经处理的数据,预览可以预览HTML页面

15)点击这里把请求保存到2的位置

16)设置环境变量和全局变量,点击右边的x可以快速查看当前的变量。

17)测试执行的结果,一共几个测试,通过几个。

http://bayescafe.com/tools/use-postman-to-test-api-automatically.html


3.常见问题

1:postman是什么

2:为什么要用它来测试接口

4.解决方案

1:POSTMAN是什么

Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件。

2:为什么要用它来测试接口

1)人性化的Response整理 一般在用其他工具來测试的時候,response的内容通常都是纯文字的 raw, 但如果是 JSON ,就是塞成一整行的 JSON。这会造成阅读的障碍 ,而 Postman 可以针对response内容的格式自动美化。 JSON、 XML 或是 HTML 都會整理成我们可以阅读的格式

2)支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能

3)支持批量运行

4)支持用例导出、导入

5)支持云端保存用例【付费用户】

5.编码实战

6.扩展思考

为什么要做接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

7.参考文献

参考一:https://www.getpostman.com/

参考二:http://bayescafe.com/tools/use-postman-to-test-api-automatically.html

参考三:http://www.jianshu.com/p/a75116c9bdb2

BY : 严恒

8.更多讨论

关于postman post请求乱码的问题

可以每次在request解析数据时设置编码格式:

request.setCharacterEncoding("utf-8");

也可以使用编码过滤器来解决,最常用的方法是使用Spring提供的编码过滤器:

在Web.xml中增加如下配置(要注意的是它的位置一定要是第一个执行的过滤器):

charsetFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

该过滤器要做的其实就是强制为所有请求和响应设置编码格式:

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~