测试工具postman学习

Posted 素七七吖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工具postman学习相关的知识,希望对你有一定的参考价值。


接口测试

postman主要用于接口测试,接口测试是对开发的接口的输入输出进行测试,以及接口间的互相逻辑的测试
接口测试一般开发会提供接口文档,根据接口文档来测试实际情况是否符合接口文档
没有接口文档就需要自己去抓包接口然后进行测试
接口测试最主要的就是调用接口验证结果

发送请求

发送get请求

点击collection,创建新的collection在新的collection下创建request
在request界面设定为get请求
输入get请求的URL和必填参数,填写的参数会自动拼接到URL中
send发送请求就可以看到响应结果
在天气api里面选一个

天气api接口网址https://www.tianqiapi.com/
在这里插入图片描述

请求的组件

在这里插入图片描述

响应的组件

在这里插入图片描述

主要关注的四大要素就是URL、方法、请求头和参数
post与get请求类似,就是请求方法选择为post

get请求实例

这里实战一个需要添加必要的请求头域的get请求的发送
直接F12去百度或者bilibili或者其他网站抓取一些请求(xhr格式的)来进行请求的发送,根据信息写入URL,参数,头域

在这里插入图片描述

根据参看的信息写入URL,复制URL地址进去后地址中带有的参数会自动生成数据,添加头域,有的请求不添加必要的头域可能会发送请求失败

在这里插入图片描述

post请求实例

这里的post实例是文件上传以及json数据格式的请求
采用获取QQ信息的接口https://api.muxiaoguo.cn/api/QqInfo/

json格式
在这里插入图片描述

断言和环境变量

变量

以前面的天气的接口为例,城市这个参数是可变的,我们可以设计一个变量来存放城市名称
变量调用格式{{变量名}}
添加环境变量,点击眼睛图标后在出来的界面点击Add

在这里插入图片描述

创建环境变量,环境变量是适用于当前请求的,如果创建了全局变量的话,该变量就是每个接口都可以使用。

在这里插入图片描述

创建完后将No environment改为刚刚创建的environment的名字就可以使用刚刚创建的变量了,如果是全局变量就不用设置

在这里插入图片描述

断言

断言包括请求前的脚本设置请求前置操作,以及请求后的对状态码,响应正文、响应头的断言,对应的功能就是pre-request Script 以及Test功能

在这里插入图片描述

在请求前获取环境变量,并且控制台输出一下

在这里插入图片描述

使用Test主要是为了自动对结果进行校验,查看是否符合预期结果

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

当数据结果数组格式时,第一组的数据里的city的值就是jsonData[0].city,前面定义变量不变

在这里插入图片描述

多接口测试

多接口测试就是把自己创建写入的请求保存在一个collection下,运行这个collection就行了
点击run之后可以在出来的界面选择需要进行一起测试的请求
有环境变量的要选择环境变量,环境变量只能选择一个,所以要把所有的环境变量写在一起

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

多组数据进行接口测试

创建Excel文件写入与自己设计的变量对应的值,另存为csv格式,修改断言,之后再run的界面select file 选择刚刚存为csv格式的文件
预览数据格式乱码的话可能是编码问题,利用txt打开文件或者其他软件打开文件修改csv文件的编码为utf-8

在这里插入图片描述

常见数据处理

cookie处理

有些请求在发送时需要携带cookie,可以在header中添加抓包到的信息里面显示的cookie值或者是接口文档里面的cookie值

在这里插入图片描述

也可以利用请求界面上的cookie来创建cookie写入cookie的值

在这里插入图片描述

上述发放是基于cookie值保存时间很久的情况,但是一般情况下cookie是不会保存很久的
我们需要先进行获取cookie对应的前一步操作之后再执行该请求,列如登入后的操作需要先执行登录操作

token处理

有些请求在进行一次请求后会有token返回值,其他请求要带上这个token值才能请求
可以把获取到的token存到环境变量当中去,其他请求直接调用环境变量里的值即可

在这里插入图片描述

先添加一个环境变量然后在头一个请求的Test中设置变量(请求后断言)

在这里插入图片描述

在下一个请求的header中添加token或者json格式中直接写入token后发送请求就可以发送成功

在这里插入图片描述

在测试时往往会有很多不同的测试数据,这就需要些csv文档来进行参数化的调用测试

时间戳处理

有时我们在请求接口时,需要带上当前时间戳这种动态参数,那么postman能不能自动的填充上呢。
可以直接在参数值写 {{$timestamp}}

在这里插入图片描述

我们也可以使用postman的pre-request script,结合全局变量来实现。
先在请求参数里使用这种方式填写value参数的值为{{var}}
然后在 pre-request script 添加js代码 pm.environment.set('var',Math.round(new Date()/1000)); 其中var为上一步定义的相同名字
 Math.round(new Date()/1000) 的作用是返回秒为单位的当前时间戳

在这里插入图片描述

以上是关于测试工具postman学习的主要内容,如果未能解决你的问题,请参考以下文章

postman 自动生成 curl 代码片段

postman 自动生成 curl 代码片段

接口测试 - 用Postman进行Apitest

postman测试实例--断言

postman测试实例--断言

postman断言作用及怎么使用