【postman学习笔记】

本文详细介绍了Postman进行接口测试的各种断言方法,包括响应体、状态码、响应时间等的断言,并展示了如何进行参数化测试、获取token及设置全局变量。此外,还提及了文件上传的操作,强调了在Postman和requests库中正确处理文件上传的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

postman
参考:
官方文档:https://learning.postman.com/docs/writing-scripts/script-references/test-examples/
断言:https://www.jianshu.com/p/26d3c2e0b688
例子:https://learning.postman.com/docs/writing-scripts/script-references/test-examples/#getting-started-with-tests
1.断言。在Tests选项里,用javascript编写的,对象是pm对象,即postman对象。断言脚本是在执行了请求后才执行的。
1)响应体作为json格式,取code为断言。可在右边的snippets里选择合适 的断言方式,下面是json值检查。
在这里插入图片描述

js代码片段
pm.test(“code”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(200);
});
断言结果,在下方的Test Result选项可查看断言结果。
image

2)状态码:
pm.test(“Status code is 200”, function () {
pm.response.to.have.status(200);
});

3)Response Body :Contains string【响应体包含指定的字符串】
image

pm.test(“Body matches string”, function () {
pm.expect(pm.response.text()).to.include(“string_you_want_to_search”);
});
4)完整的响应体断言,is equal to a string:
pm.test(“Body is correct”, function () {
pm.response.to.have.body(“response_body_string”);
});
5)用响应头做断言,可以把Content-type换成其他的响应头参数名。
image

pm.test(“Content-Type is present”, function () {
pm.response.to.have.header(“Content-Type”);
});
6)用响应时间做断言,少于200ms则为通过
image

pm.test(“Response time is less than 200ms”, function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
7)post请求的状态码做断言,预期状态码是200或202则为通过。
image

pm.test(“Successful POST request”, function () {
pm.expect(pm.response.code).to.be.oneOf([200, 202]);
});
8)状态码,状态代码名称有字符串。code name has string.
image

2.其他片段使用
1)响应体:将xml格式的响应体转换为json对象
2)use tiny validate for json data【对 json 数据使用小验证】
3.参数化,引用外部文件如csv,text等.首先,先新建一个text文件或csv文件,逗号隔开,比如新建一个login.txt文件,格式如下:
image

1)先建一个集合,然后再新建一个文件夹。【右键会弹出新增选项】
image

2)右键文件夹名,选择“add request”,在文件夹里新增一个request请求.包括协议、ip地址、请求头、请求体的参数。用户名和密码参数化,需要用{{}}来引用login.txt中的用户名和密码,{{username}}、{{pwd}}
在这里插入图片描述

3)添加断言方式,在这里我用json提取出success字段来判断是否登录成功,true为登录成功。点击Tests栏,然后设置断言方式。
image

4)单击文件夹名,然后在右边点击Run按钮,配置参数文件和执行条件。
image

image

5)执行结果
image

4.获取token并赋值为全局变量。在登录接口的Tests栏目,用以下代码片段即可获取
image

image

var jsonData = pm.response.json();
var token = jsonData.data.token
pm.globals.set(“newToken”,token)
5.也可以直接设置全局变量,点击右侧的眼睛图标,然后在表格里填写变量名和对应的值,引用时直接用{{变量名}}的方式引用即可。在这里插入图片描述在这里插入图片描述在这里插入图片描述

6.postman和requests上传文件
先看看接口的参数,files必须是文本流,即二进制流。
image

再看看请求头
image

所以postman中也要选择相应的请求头和参数。用的是param,附件文件要选"file"
image

image

对应的requests.post()有点诡异,为此耽误了很多时间。文件要用files参数,且是"rb"读取为二进制流。值得注意的是,Content-Type不用加,加了就报错500.在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值