PostMan常用功能

postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。

安装

下载:https://www.postman.com/downloads/
根据自己的系统选择对应的版本进行下载,由于我是window系统,所以下载下来的是.exe文件,直接双击即可使用。
可能会有创建账户(Create Account)界面,如果是个人使用,可以点击窗口底部的灰色文字跳过
在这里插入图片描述

发送请求

接下来将要以以下几个接口做示范,讲解PostMan的使用,接口信息如下:

请求方式:GET
请求URL:https://www.postman-echo.com/get
请求参数:可以随意设置
接口说明:接口返回Json响应报文,args存放请求时上传的参数,headers为请求时的请求头,url为请求时的完整url

请求方式:POST
请求URL:https://post-echo.com/post
请求参数:可以是Params或者Body下的form-data、x-www-from-urlencoded、raw、binary、GraphQL等等
接口说明:响应报文中会显示上传的参数信息、请求头、url等数据,args为Params上传的数据,data为raw配置的数据,files为binary配置的数据,form为form-data或x-www-from-urlencoded上传的数据

注意:按照正常的开发测试流程,接口一般是开发实现的,测试时如果需要接口的相关信息,必须找开发要接口文档(一切不正规来源的文档,出了问题只能背锅/(ㄒoㄒ)/~~)

url参数Params

Params是对url作用的参数设置,设置的参数直接在url中显示
在这里插入图片描述

表单参数form-data

如果接口是要求上传表单数据的话,就使用form-data来配置表单数据
在这里插入图片描述

URL编码x-www-from-urlencoded

URL编码和表单的数据很像,所以需要明确确认接口使用的是哪种方式。
在这里插入图片描述

原始数据raw

在这里插入图片描述

二进制数据Binary

二进制数据一般是用于文件等本地存储内容的上传
在这里插入图片描述

GraphQL

不懂,没用过,不讲了

断言设置

postman中,对每个请求都有Tests,用来设置断言,或者做一些请求后的操作,使用语言是JavaScript。
postman也提供了一些断言方法,能简单的比较响应报文结果。

方法描述
Get an environment variable获取一个环境变量
Get a global variable获取一个全局变量
Get a variable获取一个变量
Set an environment variable设置一个环境变量
Set a global variable设置一个全局变量
Clear an environment variable清空一个环境变量
Clear a global variable清空一个全局变量
Status code: Code is 200判断状态码是否正确;默认判断状态是否为 200, 可修改;
Status code:Successful POST request判断状态码是否为其中的某个;比如默认断言状态码是否是 201, 202 中的一个
Status code:Code name has string判断状态码描述是否包含字符串,比如是否包含 Created;可设置,比如200响应码一般是OK
Response body: Contains string响应结果是否包含指定的字符串
Response body: JSON value check响应结果如果是 JSON,检查JSON中的某个键的值是否符合预期
Response body: Is equal to a string判断响应结果与指定的字符串是否完全一致(精确完整匹配)
Response body: Convert XML body to a JSON Object将 XML 转换成 JSON
Response headers:Content-Type header check响应头部中是否包含指定的字段
Response time is less than 200ms响应时间是否少于指定的时间(单位是毫秒)

点击Tests右侧的方法,在Tests窗口的光标处会自动填充相应的代码,我们只需要修改其中的部分即可
示例:
在这里插入图片描述

Tests代码:

pm.test("请求头有Content-Type字段", function () {
    pm.response.to.have.header("Content-Type");
});

pm.test("响应报文的str1、str2值校验", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data.str1).to.eql("最好的报复是美丽");
    pm.expect(jsonData.data.str2).to.eql("最美的盛开是反击");
});

pm.test("响应时间小于200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

在这里插入图片描述

变量引用

postman也支持设置和使用变量
变量设置可以直接设置,也可以在Pre-request Script或Tests中设置,相关位置如下:
在这里插入图片描述
变量的使用格式为:{{变量名}}
在这里插入图片描述
在这里插入图片描述
可以在Pre-request Script或Tests中设置变量,注意,在这个位置设置的变量,是会同步更新变量集的。
执行前,环境变量name的值为"温小八"
在这里插入图片描述
在Pre-request Script设置了变量后,由于Pre-request Script是在请求发送前执行的,所以在请求中也生效了。
其中,name在当前的环境变量集中存在,所以是更新name这个变量的值,new_value这个环境变量在当前环境变量集中不存在,则新增了该值。(全局变量和环境变量是类似的,只不过环境变量可以设置好几个,比如ST环境一套,UAT环境一套,全局变量集有且只有一个)
在这里插入图片描述

请求头

postman可以在Headers设置请求头,请求头有默认的设置,
在这里插入图片描述
headers默认设置了多个请求头字段,我们可以进行修改和添加(勾选表示上传,未勾选表示不用上传)。
在这里插入图片描述
关于Cookie,如果postman前一个请求的响应报文返回了Set-Cookie字段,则postman会自动设置到请求头中的Cookie中,不用手动添加(针对同一个接口域名下的请求),但是如果Cookie是从别的渠道获取的(非postman发请求获取到的),则要自己手动更新Cookie字段

参数传递

有时候,我们第二个请求的请求报文字段,依赖于前面请求的响应报文,这个时候,我们可以在Tests中,对响应报文的进行提取,设置成变量,后面的请求就可以通过变量进行调用
以深圳图书搜索获取书本详情为例子
想要获取《朝花夕拾》的具体信息,需要先根据书名进行搜索,然后再进入书的详情页面:

  • 搜索图书:https://www.szlib.org.cn/opac/

    • 请求方式:GET
    • 对应接口:https://szlib.org.cn/api/opacservice/getQueryResult?v_index=title&v_value=朝花夕拾+&library=all&v_tablearray=bibliosm,serbibm,apabibibm,mmbibm,&sortfield=ptitle&sorttype=desc&pageNum=1&v_page=1
    • 说明:需要响应报文中的recordid字段值,因为书本详情信息接口是根据recordid字段去确定书本的。
  • 书本详情页面:https://szlib.org.cn/opac/searchDetail?tablename=bibliosm&recordid=5888074

    • 对应接口:https://szlib.org.cn/api/opacservice/getBookDetail?metaTable=bibliosm&metaId={{recordid}}
    • 请求方式:GET
    • 说明:接口中的{{recordid}}为搜索页面接口响应报文中的recordid字段的值

所以,我们需要先去搜索图书,并根据响应报文中的recordid字段值设置变量
在这里插入图片描述
在这里插入图片描述
请求发送后,在当前环境变量中新增了recordid变量
在这里插入图片描述
书本详情查询接口可以在同一环境变量集中引用该变量
在这里插入图片描述

数据驱动

数据驱动的操作单位是集合,Postman只有运行集合的时候才有数据驱动的功能。
数据驱动文件支持2种格式:csv和json

  • CSV:CSV文件的第一行是需要设置的变量名称,与postman中,请求使用的变量名称要一致,多个变量使用,分隔,第二行开始,以第一行的变量名称顺序来依次为对应变量赋值,也是使用,分隔,每一行一组数据。多组数据时,就多行设置
  • JSON:最外层为列表形式,列表中每一个元素为一组键值对数据,键名为变量名称,值为对应变量的值
    在这里插入图片描述
    在这里插入图片描述
    导入文件后,会显示preview按钮,点击可以查看导入的数据
    在这里插入图片描述
    在这里插入图片描述
    点击Run按钮后,会去执行集合
    在这里插入图片描述
    json文件的数据驱动操作也是一样的,只是文件不一样而已
    在这里插入图片描述

导出和导入

集合内的请求编辑完成后,如果想传到其他设备或者分享给其他人员,则可以将本集合进行导出,在其他机器的postman上进行导入即可

导出

在这里插入图片描述
在这里插入图片描述
选择保存路径
在这里插入图片描述

导入

点击Import进行集合的导入
在这里插入图片描述
选择文件
在这里插入图片描述
确认导入
在这里插入图片描述
导入结果
在这里插入图片描述

生成代码

请求编辑完成并调试通过后,可以按照指定的编程语言生成相应的请求代码
点击Code按钮,选择编程语言,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值