postman接口测试一篇搞定

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上图:request(创建请求),collection(创建测试集),environment(创建环境变量),也可以在API看各种案例进行学习。也可以进入下图的postman学习官网,即在postman上点击learn more

在这里插入图片描述

如何发起一个请求,下面用一个简单的接口请求的例子

在这里插入图片描述

在这里插入图片描述
如下图,接口地址下面的四个线路就是url
在这里插入图片描述
下图,根据自己所使用的http方法来进行选择
在这里插入图片描述

下图1,先将url粘贴到方框,然后看下图2必填参数
在这里插入图片描述

在这里插入图片描述

如下图,parent用来填写参数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上图就是我们这个接口请求发送给服务器后,服务器返回给我们对应的响应的信息,参考返回如下图

在这里插入图片描述

通常进行接口测试的时候,要做的事情,就是基于接口的请求,填写如上图的一系列参数,验证一下返回数据是不是和我们接口预期的功能是一致的,是否得到了正确的响应。

如下图,可以看到有些是非必填的参数,下图2填上city-北京,可以选择性地组合填写

在这里插入图片描述

在这里插入图片描述

可以看到上图的url为https://v0.yiketianqi.com/api?version=v61&appid=85764448&appsecret=d66C33LY&city=北京,用&连接新参数。

下图:上面的一部分是接口请求面板,Headers(添加接口请求过程中使用的头域),Body当中进行接口参数填写的时候有不同的方式完成参数的携带,body就是完成参数携带的各种各样的方式。pre-request Script(接口发起请求之前执行一些js脚本),Tests是接口请求完成之后可以去执行的脚本。

在这里插入图片描述

下图为接口返回内容:Body(返回体),cookies(网站返回的cookies),Headers(返回的头域), TestResults(接口请求面板的Tests执行脚本的结果在这儿查看)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

现在百度上查询ip,用开发者工具抓取4个数据包如下图

在这里插入图片描述

在这里插入图片描述

复制上面的URL,在postman创建一个request叫做百度ip接口保存在自己创建的collection Roy

在这里插入图片描述

复制完URL然后发送如下图

在这里插入图片描述

上图对应下图

在这里插入图片描述

下图为本机ip地址查询

在这里插入图片描述

在这里插入图片描述

1. GET 请求
GET请求:点击Params,输入参数及value,可输入多个,即时显示在URL链接上,
所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。

在这里插入图片描述

在这里插入图片描述

响应体示例: 响应的格式可以有多种,我这里由于请求的是 百度,so, 响应的是 html ,
一般情况下,我们自定义接口的话是 json格式的响应体
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
下图,Raw是原始格式,preview是预览格式,
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
下图,腾讯课堂,抓取全部评论
在这里插入图片描述
可以看到如下图1
在这里插入图片描述

上图按ctrl可以同时选多个(如xhr,js)

如下图四大要素只填写了三个(即选择方法GET,URL,参数信息,没有填写Header,所以会出现下图的错误,但是接口本身能正常工作如上图)

在这里插入图片描述

先定位在请求标头处,如下图

在这里插入图片描述

上图14个头域需要哪个一般来说测试的时候以接口文档为准。

如下图,成功添加头域referer后接口请求成功

在这里插入图片描述

post接口实战—文件上传与json请求实战

一般来说抓包的时候,遇到最多的post接口就会是登录这样的功能

如下图在一个电商网站www.testing.com.cn:8000上登录时的抓取

在这里插入图片描述

在这里插入图片描述

如下图,抓到登录信息

在这里插入图片描述

在这里插入图片描述
如下图1和2为成功添加以后的正确结果,2是添加头域

在这里插入图片描述

在这里插入图片描述
上图的unicode编码转换为中文为下图

在这里插入图片描述

下图是直接填写url选择post后的结果

在这里插入图片描述
PS:msg后面的就是unicode编码,可以转为中文,上图转为中文为下图

在这里插入图片描述

如下图,这次抓包的过程中是看不到response的,因为在这一次的处理流程当中,浏览器会自动完成登录之后的跳转的操作,返回信息在浏览器这一端是被隐藏起来了的。想要更详细的信息用fiddler这些工具抓包。根据自己接口文档当中的描述进行获取。
在这里插入图片描述

下面是Post的form-data格式

下图为上传头像的抓包

在这里插入图片描述

如下图,request headers内的content-typemultipart/form-data,根据PPT,所以post的body要选form-data,结果如下图2,3(只用一个文件就行如下图1)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如下图,headers不用content-type一样可以得到正确结果

在这里插入图片描述

在这里插入图片描述

下图raw类型就是使用原始的格式进行操作

在这里插入图片描述

下面为用友云实战

在这里插入图片描述

在这里插入图片描述

用友云是一个非常好用的平台,上面提供了很多很多的通用接口,这些接口都有很长时间的适用版,比如下图,要查空气质量指数不可能重新写一个空气质量指数接口,而是用这些开放的云平台提供的接口进行操作,测试的时候就可以用这些接口进行练习。

在这里插入图片描述

选择一个Post接口,如下图选择购买

在这里插入图片描述

然后可以获得如下图的apicode

在这里插入图片描述

在这里插入图片描述

上图的参数设置相当于接口文档了
下面例子为抓取成都高校信息
在这里插入图片描述
看下面接口文档,有headers要填上面和上面参数必填
在这里插入图片描述

注意如下图1请求图(Post),要填充对应的body,如下图2
在这里插入图片描述

在这里插入图片描述

注意:上图的size=5实际上是在url后面增加了这一信息(虽然我们不可见),所以我们也可以不写这个参数,直接在url后面改信息。

下面的例子为json格式chuancan

在这里插入图片描述

如果content-type为下图1:application/json,那么body就选择下图2

在这里插入图片描述

在这里插入图片描述

如下面5张图用手机基础信息认证api,参数可以不填写,直接在body里面写

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

环境变量与全局变量实战

postman进阶功能:变量与断言来完成接口测试过程中需要进行的参数设置以及最后对接口返回信息进行校验的流程。
在这里插入图片描述

正常来说是直接改参数的值进行测试,如下图

在这里插入图片描述

但是上图红圈参数(value)的值可以进行一个设置,将其保存起来,当我们需要使用的时候,再来调用它。只需要如下图告诉它使用的是一个变量就行,(必须用两个花括号进行前置后置),下图蓝色的G开头为全局变量,E开头为环境变量,下面为系统默认设置好的随机数

在这里插入图片描述

如果想要自己配置,自己先取个变量名如下图,{{cityname}}红是因为这个变量还没有被创建。

在这里插入图片描述

在右上角添加环境变量/全局变量,环境变量在使用的时候,相当于把一系列的数据进行了一个分组,作为了一套使用过程中的环境进行操作。

全局变量是设置单个变量但是postman所有工程都能使用

在这里插入图片描述

在这里插入图片描述

下图添加环境变量

在这里插入图片描述
下图右上角选环境(自己创建的)
在这里插入图片描述

在这里插入图片描述

PS:环境变量使用的时候高于全局变量的优先级的。

断言(验证返回结果是否符合预期)

在这里插入图片描述
下图圈起来的为常用操作
在这里插入图片描述

下图为控制台所在

在这里插入图片描述
点击右方的常用操作获得环境变量会自动出现代码pm.environment.get('city'),将其赋给变量city,然后console.log('city')在控制台得到其信息,及下图红圈长沙预期返回信息。(pm代表postman)
在这里插入图片描述
如下图,用set来设置变量,将城市名改为武汉(这个同时会将环境变量的current进行修改)
在这里插入图片描述

上面的pre-request script脚本用的不多,下面的Tests脚本用的多些

重点:怎么使用postman自动完成对接口返回信息的校验,达到断言的目的。

如下图Tests(接口得到返回信息以后才操作)比pre-requests script(接口请求发起之前进行操作)多出很多内置代码命令。
在这里插入图片描述
如下图,圈起来的部分是测试用例,即这次断言的名称(可更改),如下图2
在这里插入图片描述

在这里插入图片描述
上图pm.response.to.have.status(200),即期望获得的状态码是200,如果返回的状态码是200就通过。

除了返回状态码,返回信息当中三大要素,返回码,返回主体,返回头域当中信息。
大部分情况下进行接口测试断言操作时,更多时是校验返回主体(即body)

在这里插入图片描述

如上图,pm.response.text()获得的是下面Body里Raw格式的信息,所以填写的信息要跟raw里面的一样,比如下图城市信息武汉就只能填写raw里面的unicode编码(加双斜杠是为了转义,让斜杠仅仅代码斜杠的意思),这样可以看到下图红圈Test Results校验成功。

在这里插入图片描述
如下图是校验json格式内的city必须是武汉
在这里插入图片描述

上图var jsonData = pm.response.json(),获取返回信息的json格式存储在变量jsonData中,第二行代码的value就是自己想要的字段,这次改成city,如下图

在这里插入图片描述

最常用的是校验json中的某一个字段。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

剩下的模板都是同理,下图为json中有多个中括号情况。

在这里插入图片描述
下面两张图为一个例子
在这里插入图片描述

在这里插入图片描述

下两张图为一个例子

在这里插入图片描述

在这里插入图片描述
下面两张图为用for循环获取所有评论

在这里插入图片描述

在这里插入图片描述

测试集与数据驱动

上述的测试用例一般来说工作中会有机制将它们合并在一起,一并执行的,批量地运行这五个测试用例,下面就是通过测试集和数据驱动完成对测试用例的管理。

在这里插入图片描述

下图iterations表示我们在执行测试集当中接口请求的时候需要执行几遍,即循环次数,Delay表示每次接口请求发起之后,下一个接口请求中间是否需要停顿一段时间,Data是数据驱动的实现方式,keep variable values(是否在执行过程中保留对环境变量的修改)
在这里插入图片描述
在这里插入图片描述

记得修改一下右上角的环境,如下图,run以后会统计所有断言。

在这里插入图片描述

在这里插入图片描述

如果想看运行结果的话点一下接口名称就行,如下图

在这里插入图片描述
上图红圈的export results(我们这一次执行之后的结果的json格式)

点击summary出现下图,给出运行的基本结果。

在这里插入图片描述

通常进行接口测试的时候,一个接口不可能只有一组数据进行测试,

数据驱动

看下图圈起来的data.cityname,就是从数据文件读取相应的数据,数据文件为下图2的Excel,即读出Excel中的北京,上海,成都
在这里插入图片描述

在这里插入图片描述
下图中的cityname看起来跟以前没区别,实际上也是从上图中读取的
在这里插入图片描述

postman支持.csv和json这两种文件格式,所以要将Excel转成csv(推荐)或者json的格式,如下图

在这里插入图片描述

然后如下图,在runner的数据驱动里选择csv文件

在这里插入图片描述

PS:postman只支持utf-8的格式,Excel在保存的时候使用的是gtk编码,所以需要去调整一下,不然会呈乱码。

下图就是csv,用逗号分隔

在这里插入图片描述

run之前先预览,可以看到下图preview都正常了

在这里插入图片描述

测试运行结果如下图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

电商网站cookie操作实战

在这里插入图片描述

在这里插入图片描述

postman下图这个购物网站,出现下下图,

在这里插入图片描述

在这里插入图片描述
点击上图红圈cookies,可以看到下图,可以看到红圈(信息来自于),并且自动记录了cookies(下图6个),也可以直接添加cookies。

在这里插入图片描述

如下图,将6个cookie清空以后重新请求,可以获得下图红圈的3个cookie,但是我需要的cookie它是没有的

在这里插入图片描述

第一种方法是如下图,直接在application中查看cookie,然后全部添加信息(最粗暴的一种方式)

在这里插入图片描述

另一种方法第一步是下图,给你默认的模板。

在这里插入图片描述
在这里插入图片描述

然后对应地填写上面第3图的name(即上图Cookie_2),value等值

这样加上以后save就如下图

在这里插入图片描述
然后如下图红圈,重新进行一次发包的操作,正确地请求到了下图篮圈,是我想要的信息,没有手动添加cookie,PHPSESSID之前的发包返回如下2图(cookie清空)
在这里插入图片描述

在这里插入图片描述

或者直接添加cookie参数,如下图,不过很长,很繁琐

在这里插入图片描述

正常的接口测试流程当中,一般来说,根据开发接口文档当中的描述,确定哪一些cookie是需要的。

这个例子的PHPSESSID是需要的。

正常流程来说:我们应该先去调用一下登录拿到对应的cookie之后,再来进行后续的购物车的请求。

两种方法:一种直接在头域中加cookie,并且粘贴一长串的value。另一种方法使用postman自带的cookie值,先调用前置接口(即登录接口),拿到cookis之后,后续的接口可以直接在cookie池中使用它保存下来的这些cookie。用这样的方法完成测试。

token与参数传递

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
可以看到上下二图,返回结果一样。
在这里插入图片描述
下图,获取token的值,并且把它存到一个名为testingToken的环境变量中去,然后如下2图,添加环境
在这里插入图片描述

在这里插入图片描述

send以后查看TestingToken的值可以看到如下图

在这里插入图片描述

在这里插入图片描述

同理下面二图为登录接口

在这里插入图片描述

在这里插入图片描述

再往下是另一个接口(获取用户信息,具体查看接口文档,那个网站失效了),就可以直接用环境变量了来填写了,用上一步接口返回的信息传给下一个接口,如下2图

在这里插入图片描述

在这里插入图片描述
断言就如下面接口文档所写。
在这里插入图片描述

postman持续集成(将postman执行测试集的过程加入到持续流程过程当中)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以用newman run -h来看到每一个参数的使用

在这里插入图片描述

在这里插入图片描述

接下来是定时地对测试脚本进行操作

第一步是生成一个.bat文件,先把cmd命令行里的命令放入自己新建 的txt文档,如下图1,然后将其后缀改为bat如下图2

在这里插入图片描述

在这里插入图片描述

点击上图这个bat文件,出现下图(执行完后会自动退出命令行)

在这里插入图片描述

接下来是要给这个脚本设置一个定时功能,首先打开计算机管理-任务计划程序-创建任务

在这里插入图片描述
如下图在常规里面随便取个名字,然后在触发器里创建一个管理时间的触发器,然后在操作里选择要执行的脚本就行了。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

postman不常用功能

在这里插入图片描述

在这里插入图片描述

  • 15
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值