day11postman接口测试

本文介绍Postman进行接口测试时如何进行接口关联,重点讲解使用JSON提取器来提取数据的方法,帮助提升测试效率。

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

一:界面功能介绍

 

二: postman 日常操作
2.1 :全局变量的使用( Globals
描述 : 通常情况下,我们共同使用的部分可以存放在全部变量里,调用的时候只需要 {{ 变量名 }} 即可 , 适用
全部的接口
比如:手机号归属地和天气查询

 

2.2 :环境变量的使用 (Environment variables)
描述 : 公司中不同的环境,配置不同环境的数据,调用的时候只需要 {{ 变量名 }} 即可 , 适用当前环境的接口
比如不同域名的 (公司内部不同的ip

 2.3:接口关联

1:接口关联的方式:json提取器

 

实现方式: json 提取
// 返回值转成 json 对象
var jsondata=pm.response.json()
console.log(jsondata)
// 通过 json 表达式提取值
var doer = jsondata.result.city
console.log(doer)
// 设置全局变量
pm.globals.set("cs", doer);
// 获取响应体的文本内容
var resbody = responseBody;
console.log(resbody)
// 转成 json 对象
var jsonobj = JSON.parse(responseBody)
// 通过 json 表达式提取值
var pro = jsonobj.result.province
pm.globals.set("prodes", pro);
话术:
将第一个接口设置断言,拿到返回体内容转成 json 对象,通过 json 表达式提取想要的值,将这个值设置全局变量,在第二个接口中使用{{ 变量名 }} 代替,实现接口关联
2.4 :断言
描述 : 经常用于预期结果和实际结果的对比
postman 中经常使用的断言有哪些
Tests 响应断言的几种方式
1 Status code:code is 200 ( 校验响应头是否包含某个值 )
2 response body:contains string ( 校验返回结果中是否包含某个字符串 )
3 response body:Json value check (校验返回结果中某个字段是否等于某个
值)
4 response header:content-type header check (校验响应头是否包含某个值)
5 response time is less than200ms (校验响应时间是否少于 200ms
6 response body:Is equal to string (校验返回结果中是否等于该字符串)使用
2.5 :动态参数
描述 : 经常用于参数不能重复的数据
postman 中经常使用的断言有哪些
Tests 响应断言的几种方式
1 Status code:code is 200 ( 校验响应头是否包含某个值 )
2 response body:contains string ( 校验返回结果中是否包含某个字符串 )
3 response body:Json value check (校验返回结果中某个字段是否等于某个
值)
4 response header:content-type header check (校验响应头是否包含某个值)
5 response time is less than200ms (校验响应时间是否少于 200ms
6 response body:Is equal to string (校验返回结果中是否等于该字符串)使用
验证接口中状态码
pm.test(" 验证状态码 ", function () {
pm.response.to.have.status(200);
});
// 验证返回体是否存在该字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("Return Successd!");
});
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.error_code).to.eql(0);
});
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
pm.test("Content-Type is present", function () {
pm.response.to.have.header("host");
});
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(10);
});
2.5 :动态参数
描述 : 经常用于参数不能重复的数据
{{$timestamp}}: 生成当前时间的时间戳
{{$randomInt}}: 生成 0~1000 的随机数
{{$guid}}: 生成随机的 guid 字符串
2.6:用例的批量执行
2.7: 数据驱动
描述 : 将测试数据保存本地,一次性进行运行
在参数里面的数据文件值和取全局变量一致,使用{{}},在断言里面取数据文件的值使用:data.字段名

 

2.8: 导入和导出脚本
三: postman+newman+jenkins
接口自动化测试:
Newman Postman 推出的一个 nodejs 库, Newman 可以方便地运行和测试集合,并用之构造接口自动化测试和持续集成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值