< a href="https://github.com/%E5%B0%8F%E7%9A%AE%E6%B5%A9"> Fork me on GitHub

postman快速上手

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发送即可

https://img-blog.csdnimg.cn/20200111102433424.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1b2ppYW5rYWk=,size_16,color_FFFFFF,t_70

然后你会发现响应结果是有些问题的 "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 替换为实际的单词

( https://img-blog.csdnimg.cn/202001111406338.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1b2ppYW5rYWk=,size_16,color_FFFFFF,t_70

遇到了问题,响应状态码是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,时间戳

更多内置变量,参考: https://learning.getpostman.com/docs/postman/scripts/postman-sandbox-api-reference/#dynamic-variables

访问注册接口: http://www.neeo.cc:6002/pinter/com/register

使用postman自定义动态参数

Postman Console

可以在这里记录请求日志,可以在这里查看请求和响应相关数据

postman 左下角

断言

postman支持的断言功能,对于接口的断言,一般来判断接口返回的结果是否符合预期

postman的断言是通过,使用Test脚本来对接数据进行判断,Test脚本会在接口响应后执行

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

代码提前测试:

补充:pm是postman的缩写

如何断言

简单断言方式:

判断返回状态码是不是200

断言结果:

断言相应参数:

 

posted @ 2020-01-13 22:55  赌徒!  阅读(408)  评论(0)    收藏  举报