Postman

1 使用Postman发送HTTP请求

(1)GET请求

  • step1: 点击+号,新增一个tab
    在这里插入图片描述

  • step2: 选择请求方式为GET,输入URL,点击send,请求参数会自动填充到Params中
    在这里插入图片描述
    URL中不能出现中文,只能使用ASCLL码,若URL中存在中文,会通过ASCLL码将其转化为unicode编码。

  • step3: 查看响应信息
    在这里插入图片描述

(2)POST请求

  • step1: 点击+号,新增一个tab
  • step2: 选择请求方式为POST,输入URL
  • step3: 点击headers,填写请求头信息
    在这里插入图片描述
  • step4: 点击Body,根据请求头的Content-Type的值选择请求体的数据类型,并填写请求体数据,点击Send
    在这里插入图片描述
  • step5: 查看响应信息

2 用例集 Collection

在Postman中,通过Collection对请求进行分组管理,将功能相近的请求保存到同一个集合中,以便后期的维护和管理。

(1)创建用例集
依次点击Collection➡️+号,或者依次点击New➡️Collection,创建一个用例集:
在这里插入图片描述

(2)在用例集下添加请求、添加文件夹、进行重命名、复制用例集、导出用例集以及删除选中用例集:
选择用例集,鼠标右键或者点击选择相应的操作在这里插入图片描述
(3)导入:点击Import,选择导入的方式
在这里插入图片描述

3 Postman断言

通过Postman的断言机制,可以自动判断预期结果和实际结果是否一致。通过JavaScript 脚本语言写在 Tests 的标签页中,在Test Results标签中显示测试结果。
在这里插入图片描述

3.1 常用断言

(1) 响应状态码(Status code is 200)

pm.test("响应状态码为:200",function(){
	pm.response.to.have.status(200); //Postman的响应状态码有 200
});

pm: Postman的实例
test(“断言完成后给出的提示信息”,匿名函数调用)

(2) 响应体是否包含某个字符串(Response body: Contains string)

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search"); 
    //响应体包含 "string_you_want_to_search" 字符串
});

(3) 响应体是否等于某个字符串/对象(Response body: Is equal to a string)

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string"); 
    //响应体为 "response_body_string"
});

(4) JOSN数据(Response body: JSON value check)

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    // 定义一个 jsonData变量,值为:json格式的响应体数据
    pm.expect(jsonData.键).to.eql(值);
    // 预期 json 格式的响应结果中, xxx(key) 的值为 xxx
});

(5) 响应头(Response headers: Content-Type header check)

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("键","值");
    // 响应头有 xxx(key) 的值为 xxx
});

3.2 断言的工作原理

在这里插入图片描述

4 全局变量和环境变量

在这里插入图片描述

4.1 全局变量

全局唯一且不可重复定义的变量。
定义:

  • 通过代码:pm.globals.set(“变量名”, 变量值)
  • 界面点击小眼睛图标,选择添加全局变量

获取:

  • Postman界面获取:用在查询参数、请求头、请求体中:{{变量名}}
  • 代码获取:pm.globals.get(“变量名”)

4.2 环境变量

Postman中可以存在多个环境变量,且每个环境中的变量名可重复,只在特定环境下生效,同一个环境中的变量是唯一且不重复的。
常见环境有测试环境、开发环境和生产环境。

定义:

  • 通过代码:pm.environment.set(“变量名”, 变量值)
  • 界面点击小眼睛图标,选择添加环境变量

获取:

  • Postman界面获取:用在查询参数、请求头、请求体中:{{变量名}}
  • 代码获取:pm.environment.get(“变量名”)

5 请求前置脚本

Postman在发送HTTP请求之前,会自动执行“Pre-request Script” 标签中的代码。
在这里插入图片描述

5.1 请求前置脚本举🌰

举个🌰:使用全局变量发送带有时间戳的请求:

时间戳: 从1970年1月1日 00:00:00 ~ 现在所经历的秒数;获取时间戳:new Date().getTime()

step1: 在Pre-request Script标签页中写入代码,设置全局变量:

var timestamp = new Date().getTime()
// 将时间戳保存到全局变量中
pm.globals.set("glb_timestamp", timestamp)

step2: 点击Send按钮,查看全局变量是否设置成功(可点击右上角小眼睛图标查看全局变量)
在这里插入图片描述

step3:借助查询参数使用全局变量
在这里插入图片描述
step4: 在Postman 菜单栏中view➡️Show Postman Console 中查看
在这里插入图片描述

5.2 请求前置脚本工作原理

在这里插入图片描述

6 postman接口关联

Postman关联,通过借助全局变量和环境变量来解决接口和接口之间调用的依赖关系。

举个🌰:接口A的数据供接口B使用

step1: 填写接口A的请求数据,并发送请求,获取接口A的响应数据并将其写入全局变量或环境变量中(Tests标签中的代码在收到服务器回发数据后执行)
step3:将接口A返回的响应值填写在接口B的请求数据中,并发送请求

聚合数据历史上的今天接口:https://www.juhe.cn/docs/api/id/63,获取响应体中1912年1月1日的事件信息,之后通过百度搜索1912年1月1日的事件信息:
(1)接口文档:
在这里插入图片描述
(2)实现步骤
step1: 组织“历史上的今天”接口的请求数据,并根据接口文档,在Tests标签页中编写获取1912年1月1日的事件信息;

// 获取”历史上的今天“接口返回的响应数据
var jsonData = pm.response.json();

// 获取1月1日所有的事件信息
var events = jsonData.result;
// 定义一个数组接收1912年1月1日的事件信息
var events_1912 = []
for(var i = 0; i < events.length; i++){
    if(events[i].date == "1912年1月1日"){

        //获取1912年1月1日的事件
        events_1912.push(events[i].title)
        
        // 把1912年的事件设置为全局变量
        pm.globals.set("events_1912",events_1912);
        
    }
}

在这里插入图片描述

step2: 在百度接口的请求参数中,指定使用全局变量{{glb_events_1912}}
在这里插入图片描述
step3:在Postman 菜单栏中view➡️Show Postman Console 中查看(可以使用解码工具解码查看中文:http://tool.chinaz.com/tools/urlencode.aspx
在这里插入图片描述

7 批量执行测试用例(执行用例集)

step1: 选中用例集➡️点击三个点的小图标➡️点击run
在这里插入图片描述
step2: 根据需要进行相应设置,批量执行用例集
在这里插入图片描述
在这里插入图片描述

8 使用newman生成测试报告

8.1 安装Newman插件

step1:在node.js官网中下载安装node.js(终端中输入npm -v,若显示版本号表示安装成功),官网地址:https://nodejs.org/zh-cn/

step2: 安装newman,终端执行命令:npm install -g newman,安装结束后可执行newman -v,若显示版本号表示安装成功

step2: 安装newman-reporter-html(终端中输入npm install -g newman-reporter-html

8.2 测试报告生成

step1:导出用例集保存至本地文件夹
step2:打开终端,当前目录切换为保存用例集的目录
step3:终端中输入命令生成接口测试报告:
newman run 测试用例集名称.postman_collection.json [-e 环境变量文件路径] [-d 测试数据文件路径 ] -r html --reporter-htmlexport 测试报告名称.html
* [ ]中的为可选参数

在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值