postman快速上手
postman快速上手
about
postman是一个API开发的协作平台。Postman的特性简化了构建API的每一步并简化了协作,因此您可以更快地创建更好地API。
简单来说,postman是一款非常流行的HTTP/HTTPS接口测试工具,入门简单,功能强大,不但可以进行接口手动测试,还可以非常方便的进行自动化测试。支持参数化,断言,用例设计,测试报告等功能
安装
下载后可以使用QQ邮箱和163邮箱,都可以注册账号
get请求
无参get请求
正常输入请求的url,选择请求类型,然后点击send就可以获取响应结果。该接口无需配置请求头和其他配置

有参get请求
带参数的get请求,可以跟url后面,Postman会自动将参数填充到“Query Param”
有参数的url:http://www.neeo.cc:6001/get?k1=v1&k2=v2

POST请求
post:请求一般由两种携带参数的方式。一种形式k:v类型,还有另一种是k:json类型接口
k:v形式的post请求
url::http://www.neeo.cc:6001/post
参数:k1:v1 k2:v2
如下图,我们请求类型选择是 post ,那么选择 body 的哪个选项呢?对于 k:v 格式的参数,一般选择 x-www-formurlencoded ,然后填写参数即可,其他的配置暂

参数为json的post请求
url:http://www.neeo.cc:6002/pinter/com/register
另一种形式的参数就是k:json的形式。
也就是登录注册,或者表单数据数组通过ajax发送需要json后传输后端
参数:{"userName":"test","password":"1234","gender":1,"phoneNum":"110","email":"beihe@163.com", "address":"Beijing"}
json类型的参数,我们选择raw原生的,现在点击send发送即可

然后你会发现响应结果是有些问题的 "error": "Unsupported Media Type" 说是,不支持的媒体类型这是怎么回 事呢?是因为在这种json类型的请求中,headers中需要携带一个特殊的请求头 ContentType:application/json ,这样,服务端才知道你携带的参数是json类型的数据,而不是普通的k:v格式的参数。 这里我们只需要将原来的 Text 替换为 JSON 即可

OK了! 除此之外,还有一种情况是 k:json 的post请求。
我们简单来看下
接口参数: 来看postman中如何用? 没什么好说的,非常的简单。 webservice接口 还有一种接口就是webservice类型的接口。 简单来说,webservice是通过xml进行交互的web请求。 url:http://www.neeo.cc:6002/pinter/com/buy
类型:POST
参数:param={"skuId":123,"num":10}
webdriver接口
还有一种接口就是webdriver类型的接口。
简单来说,webdriver是通过xml进行交互的web请求
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进 行注册。 XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基 础。 Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找 到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调 用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。 WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交 换这些消息。大多数情况下由软件自动生成和使用。 UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在 用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制 软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP) 来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注 册中心来返回需要的数据。 可以通过soupui来测试,也可以通过jmeter来测试。 常用webservice接口网站: http://wcf.open.cnblogs.com/news/help/operations/GetNewsList#response-xml
http://www.webxml.com.cn/zh_cn/index.aspx # 这个网站提供了很多webservice接口 url和相关参数:
# http://fy.webxml.com.cn/webservices/EnglishChinese.asmx # post类型
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <TranslatorSentenceString xmlns="http://WebXml.com.cn/"> <wordKey>string</wordKey> </TranslatorSentenceString> </soap:Body> </soap:Envelope>
在 Body 中选择 raw ,类型选择 XML ,参数中,需要将 string 替换为实际的单词
遇到了问题,响应状态码是415,不支持的媒体类型,这是怎么回事?原因是,当我们选择类型为 XML 时,postman 会自动的在headers中添加 Content-Type:application/xml
原因就是出在 Content-Type 这里,类型自动添加的不对,那到底是什么呢?我们看人家网站的说明
是 Content-Type: text/xml ,我们在postman中手动修改,然后再发送请求即可

文件上传接口测试
测试url:http://www.neeo.cc:6001/post
类型:POST
文件:普通照片
我们来配置上传图片的参数
首先,在'body'中选择'form-data'选项,悬浮到'key'选择'File'。

然后点击发送请求
如何保存测试,并生成测试报告
集合,可以理解为项目,同一类接口,或者所属同一个项目的接口,放在集合中
postman有集合的概念,打开view,再打开左侧菜单,在Collection中,new一个文件夹,然后save添加到文件夹中
将接口生成代码

环境管理
一个项目在不同的阶段会处于不同的环境中,比如开发阶段的开发环境、测试阶段的测试环境和线上环境,那在不同的阶段,做测试的时候会遇到不同的环境问题,比如测试某个接口,开发环境是locahost:8080,到了测试阶段,可能就变成测试服务的IP和端口,然后就会频繁的修改IP和端口,这将会非常麻烦。而Postman帮我们解决了类似的问题。
Postman支持多环境,同时解决了环境中可以设置独立的参数
创建一个新的环境

点击add添加一个环境

为添加的环境起个名字,然后设置一些变量,然后点击add

现在,已经有了一个本地的环境,此时,如果继续点击右下角的add将会继续添加环境,退出则点击右上角的×即可。
配置三个测试环境
本地环境:

测试环境:

线上环境

设置好测试环境后,如何使用在请求中

点击send发送请求

全局环境变量
添加全局:
第一步:

第二步:

第三步:

使用全局变量:

变量的作用域
postman中可以在环境。集合中定义变量,然后使用{{变量名}}的方式调用变量,一般,有三种情况:
- 环境变量,作用域为当前环境。
- 集合变量,作用域为当前集合。
- 全局变量,作用域为任何地方。
添加集合的环境变量:


用例请求中使用集合变量:

内置动态变量:
postman中还有一些内置的动态参数就,一般作用于动态参数化。我们测试注册一个接口,你每次访问携带的用户和密码都不应该是固定的。
- $guid,唯一字符串,类似于uuid
- $timestamp,时间戳
随机类变量$random,时间戳
访问注册接口: http://www.neeo.cc:6002/pinter/com/register

使用postman自定义动态参数

Postman Console
可以在这里记录请求日志,可以在这里查看请求和响应相关数据
postman 左下角

断言
postman支持的断言功能,对于接口的断言,一般来判断接口返回的结果是否符合预期
postman的断言是通过,使用Test脚本来对接数据进行判断,Test脚本会在接口响应后执行

Test脚本基于javaScript语言,使用postman自带的Test模板(减少编写断言代码),可以快速的生成用例



代码提前测试:

补充:pm是postman的缩写
如何断言

简单断言方式:
判断返回状态码是不是200

断言结果:

断言相应参数:

浙公网安备 33010602011771号