下载 postman 的历史版本:Postman 历史版本下载 - 简书
今天开始学习 postman 这个测试工具啦。
【没有所谓的运气🍬,只有绝对的努力✊】
目录
1、postman简介
2、postman的安装
3、给postman安装插件——newman
3.1 环境安装
3.1.1 安装nodejs
3.1.2 给postman安装 newman插件
3.1.3 给newman安装 newman-reporter-html插件
3.2 案例——使用postman请求
编辑
3.3 免费的接口用来做测试
4、postman应用
4.1 管理测试用例
(1)创建collections
(2)修改用例集名称
(3) 添加请求
(4)请求+保存
(5)添加子目录 add folder
4.2 导出用例集
(1)导出
(2)默认即可
(3)导出的文件
4.3 导入
5、postman断言
5.1 断言响应状态码
5.2 断言响应体是否包含某个字符串
5.3 断言响应体是否等于某个字符串(对象)
5.4 断言JSON数据
5.5 断言响应头
5.6 断言小结
5.7 postman断言工作原理
6、小结
7、全局变量与环境变量
7.1 全局变量设置与获取
7.2 环境变量设置与获取
8、postman 请求前置脚本
8.1 时间戳介绍
8.2 请求前置脚本——案例
step1:在Pre-request Script标签页中,添加代码。
step2:点击send按钮,
step3: 在请求界面中,使用全局变量。
step4:在postman的控制台查看请求
8.3 请求前置脚本工作原理
9、postman的关联
9.1 案例——天气接口获取城市名称
【step1】获取天气接口,提取响应结果中的城市。
【step2】将全局变量给 百度搜索
10、postman执行批量测试用例
11、postman生成测试报告(完成3.1的安装)
12、小结
1、postman简介
2、postman的安装
下载安装包,下一步下一步即可安装成功。
注册邮箱,进行登录。
3、给postman安装插件——newman
3.1 环境安装
3.1.1 安装nodejs
3.1.2 给postman安装 newman插件
npm install -g newman
使用淘宝镜像安装超级快(强烈推荐):NewMan安装报错 npm install rollbackFailedOptional: verb npm-session 解决办法_newman安装失败-CSDN博客
验证newman是否安装成功:newman -v
3.1.3 给newman安装 newman-reporter-html插件
npm install -g newman-reporter-html
3.2 案例——使用postman请求
3.3 免费的接口用来做测试
# get https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=%E6%8E%A5%E5%8F%A3&pos_id=mgpNYnIy
http://v1.yiketianqi.com/api?version=v10&appid=55983455&appsecret=4vK6wEW0
4、postman应用
4.1 管理测试用例
(1)创建collections
(2)修改用例集名称
(3) 添加请求
(4)请求+保存
(5)添加子目录 add folder
4.2 导出用例集
(1)导出
(2)默认即可
(3)导出的文件
4.3 导入
5、postman断言
postman 断言借助javascript 编写代码,自动判断预期结果与实际结果是否一致。
5.1 断言响应状态码
// 断言响应状态码是否为200
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});
pm :代表postman 的一个实例
test() :是pm实例的一个方法。有两个参数。
参数1:在断言结束后,给出的文字提示,可以修改"Status code is 200"
参数2:匿名函数。
pm.response.to.have.status(200);
postman的响应结果中应该包含状态码200。
5.2 断言响应体是否包含某个字符串
pm.test("断言响应体包含指定字符串", function () {pm.expect(pm.response.text()).to.include("101230501");
});
5.3 断言响应体是否等于某个字符串(对象)
pm.test("Body is correct", function () {pm.response.to.have.body({"update_time": "10:00","cityid": "101230501","city": "泉州市","cityEn": "","country": "","countryEn": "","air": "23","air_level": "优","air_tips": "空气质量令人满意,基本无空气污染。","pm25": "15","pm25_desc": "优","pm10": "23","pm10_desc": "优","o3": "41","o3_desc": "","no2": "16","no2_desc": "","so2": "2","so2_desc": "","co": "0.5","co_desc": "","kouzhao": "不用佩戴口罩","yundong": "适宜运动","waichu": "适宜外出","kaichuang": "适宜开窗","jinghuaqi": "不需要打开","uvIndex": "6","uvDescription": "强"
});
});
5.4 断言JSON数据
pm.test("断言结果code为1", function () {var jsonData = pm.response.json();pm.expect(jsonData.code).to.eql(1);
});/*** var jsonData = pm.response.json(); * jsonData取到的结果为:* {* 'code':1,* 'data':{}* }* * jsonData.code 一般选择不会变化的。* jsonData.data 每次都会变化。*/
5.5 断言响应头
pm.test("断言响应头", function () {pm.response.to.have.header("Content-Type");
});// 或者pm.test("断言响应头", function () {pm.response.to.have.header("Content-Type","text/html,application/json; charset=utf-8");
});
5.6 断言小结
5.7 postman断言工作原理
6、小结
7、全局变量与环境变量
7.1 全局变量设置与获取
【设置】
代码设置:pm.globals.set('var_name', value);
【获取】
代码中获取变量:pm.globals.get('var_name');
请求参数中获取:{{var_name}}
7.2 环境变量设置与获取
【设置】
代码设置:pm.environment.set('var_name', value);
【获取】
获取变量:pm.environment.get('var_name');
请求参数中获取:{{var_name}}
8、postman 请求前置脚本
8.1 时间戳介绍
时间戳:对应绝对时间——从1970年1月1日00:00:00 到现在所经历的秒数。
8.2 请求前置脚本——案例
案例:调用百度首页,传时间戳给服务器。
step1:在Pre-request Script标签页中,添加代码。
拿到时间戳,写入全局变。
// 获取时间戳
var timestamp = new Date().getTime();// 将时间戳 设置全局变量
pm.globals.set('global_timestamp', timestamp);
step2:点击send按钮,
发送请求,请求发送前,执行上述 代码。写入全局变量。
step3: 在请求界面中,使用全局变量。
step4:在postman的控制台查看请求
8.3 请求前置脚本工作原理
9、postman的关联
应用于多个http请求之间,有数据关联,或依赖关系。
9.1 案例——天气接口获取城市名称
【step1】获取天气接口,提取响应结果中的城市。
【step2】将全局变量给 百度搜索
10、postman执行批量测试用例
点击→Run collection→ Run
11、postman生成测试报告(完成3.1的安装)
step1:批量执行测试用例集
step2:导出用例集 export(得到啊xxx.json文件)
step3:在终端中执行命令,生成测试报告
newman run 2024年.postman_collection.json -r html
运行在xxx.json同级文件里面生成文件夹,如下所示:
12、小结
今天主要学习关于postman相关的知识点,发现自己之前用的postman,只会执行。原来里面有好多好多要学习的内容,还可以写断言、有前置脚本、有全局变量、环境变量等等。
【没有所谓的运气🍬,只有绝对的努力✊】