详解PostMan使用

简介: 1.简介PostMan,一款接口调试工具。特点:可以保留接口请求的历史记录可以使用测试集Collections有效管理组织接口可以在团队之间同步接口数据(收费)

1.简介

PostMan,一款接口调试工具。

特点:

  • 可以保留接口请求的历史记录
  • 可以使用测试集Collections有效管理组织接口
  • 可以在团队之间同步接口数据(收费)

2.管理用例集

创建:

f82cb582d586407694c6b1a19296597f.png

导出:


fa6db804d14644c98b8c9dbde61c3da1.png

导入:

914aa7248d644676b596ae07a6536065.png

3.断言

3.1.概述

断言,让程序去判断预期结果和实际结果是否一致。

postMan的断言是使用JavaScript编写的,写在Tests标签里。

常用的断言有五个:

  • 判断响应状态码
  • 判断响应体是否包含某个字符串
  • 判断响应体是否等于某个字符串
  • 断言Json数据
  • 断言响应头

3.2.判断响应状态码

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

e31ddebf608e4a829d5826a9eefa6f02.png

3.3.判断响应体是否包含某个字符串

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("test");
});

9019d915f34c4cacb07abd91476e3484.png

3.4.断言JSON数据

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});


josnData.value指的是response的json中的key,如果是{"code":200},则应该写为jsonData.code,以此类推。

3.5.断言响应头

断言响应头中是否包含某个参数:

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

27ae534394ad4fe3b605d1561477496d.png

断言响应头中某个参数的值:

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type","application/json;charset=UTF-8");
});


4.全局变量和环境变量

4.1.概述

全局变量:全局唯一,不可重复的变量,全局都可以使用。

环境变量:PostMan支持定义多套不同的环境、在每套环境里面定义属于当前环境的环境变量。当切换到某个环境时才能使用这个环境里的环境变量。

4.2.创建环境

以下是创建一套环境的方法:

点击环境管理

936a70b0835445018e3304ddbab369e8.png

点击新增

ecd70ef79d1b4b2b9548601241910bfa.png

新增一套环境,新增时允许指定属于该套环境的环境变量。

584d2fea68a4481bae53c52a94abeb55.png

创建完成后就可以使用了:

3d3296f1318a434ebf5344284ed548d8.png

4.3.设置变量

全局变量和环境变量都是可以在界面上手动设置的:

进入环境管理:267983bd989a415b89364883db9763cc.png

支持手动设置全局或者环境变量:

1093818fbbe246b687af927b13b1de84.png

当然也可以通过在tests标签来写代码实现。

全局变量:

pm.globals.set("name",value);

环境变量:

pm.environment.set("name",value);

4.4.获取变量

全局变量、环境变量都可以通过{{变量名}}来获取:

8e157ccb8bf84584b414d82eada242bb.png

也可以通过在tests标签写代码来获取:

获取全局变量:

var value=pm.globals.get("name");

获取环境变量:

var value=pm.environment.get("name");

5.前置脚本

在Pre-request Script中可以书写请求前执行的脚本:

此处以向百度发送一个时间戳为例,在前置脚本中获取当前时间戳,设置进全局变量中,参数中再去获取该全局变量携带发送即可。

5356a627c6af4e76a6001ef1f79dbeb2.png

6.关联

当接口之间存在依赖关系,接口B要依赖于接口A的返回值时,就要用到PostMan的关联。


关联是使用环境变量、全局变量来实现的,接口A的返回值存入环境变量、全局变量中,接口B再去获取使用。


案例:


根据手机号获取所在地区,然后查询该地区的天气。


查看A接口的返回结果:

image.png

在Tests中通过js脚本来解析返回结果,将城市信息放到全局变量中:

image.png

然后再建一个请求,去请求B接口(天气接口),参数从全局变量中取即可。

7.批量执行

15df6247b369471fba57029dfff3fdbc.png

run之前支持配置一些参数,比如循环次数、间隔时间等。

888e7628fdb440c382290d3c4a7351be.png

8.测试报告

用newman可以基于postMan来生成测试报告,这里不展开了,想生成的时候直接去搜newman相关内容就行。

目录
打赏
0
0
0
0
22
分享
相关文章
Postman - 快速分享接口
Postman - 快速分享接口
1717 0
Postman - 快速分享接口
Postman
Postman是一款功能强大的API开发和测试工具,被广泛应用于软件开发的各个阶段
134 1
3.3 Postman基础
Postman是一个接口测试工具,Postman相当于一个客户端,可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果。Postman版本:Postman-win64-9.15.2-Setup.exe。
104 0
Postman下载最新指南
看到很多小伙伴在问 Postman 下载的相关问题,花时间整理了下,下面教新入门的小伙伴如何去下载 Postman。
接口测试(30)Postman使用3
----- 如何自动获取token值并将token值自动写入至局部变量中呢?------ 可以自定义脚本。
接口测试(30)Postman使用3
接口测试(26)Postman使用1
GET通常是将参数显示在URL地址中,可以被看见,不是那么安全;而POST是将参数写入body中,不能被看见,更安全。本小结讲述了Postman的基本使用,大家可以要熟练使用,并且运用Postman做最基本的接口测试。GET通常作用于从数据库中读取数据;而POST则是将数据提交/更新于数据库中。GET有长度限制,POST没有长度限制。
接口测试(26)Postman使用1