当前位置:网站首页>Day13 Postman的使用
Day13 Postman的使用
2022-08-04 01:43:00 【lookout99】
系列文章目录
Day01 软件测试基础总结
Day02 测试用例知识点总结(上)
Day03 测试用例知识点总结(下)
Day04 禅道-从安装到卸载
Day05 MySql的基础使用
Day06 MySql知识点总结
Day07 MySql知识点再总结与多表查询
Day08 redis的基础知识
Day08 VMware的安装、Linux系统安装和Linux基础命令
Day09 Linux常用命令总结
Day10 Linux环境部署和项目构建
Day11 shell脚本基础知识
Day12 接口和协议
Day13 Postman的使用
文章目录
目录
前言
Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。
一、Postman的基本操作
1.Collections
相当于目录或者文件夹,用于区分不同项目
2.新建
点击左上角的new,通常新建请求与集合
3.环境选择
可以自动定义需要的变量名和值。
通常情况下,我们共同使用的部分可以存放在全部变量里,调用的时候只需要{ {变量名}}即可
二、简单的测试
1.get请求方式
GET请求:点击Params,输入参数及value,可输入多个,即时显示在URL链接上,
所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。
2.post请求方式
POST请求:点击Body,按照拿到值的格式选择输入方式,常用为键值对写入from-data,json写入raw。
使用from-data,可以点击 Bulk Edit 使用json格式写入
三、接口关联
将第一个接口设置断言,拿到返回体内容转成json对象,通过json表达式提取想要的值,将这个值设置全局变量,在第二个接口中使用{ {变量名}}代替,实现接口关联
描述情景:现在有两个接口,查询号码归属地与天气预报,首先我们通过查询手机号码归属地,得到位置信息,天气预报再通过号码归属地所得地址查询当地天气,这便产生关联。
Tests为响应测试,即在响应后执行。手机归属地响应后返回地区位置,通过将数据变为全局变量的方式,使其他接口公共使用。
变为全局变量的方法有两种:
// 返回值转成json对象
var jsondata = pm.response.json()
console.log(jsondata)
// json表达式提取
var doer = jsondata.result.city
console.log(doer)
// 设置全局变量
pm.globals.set("diqu",doer);
// 获取响应体的文本内容
var resbody = responseBody;
console.log(resbody);
// 转成json对象
var jsonobj = JSON.parse(responseBody);
// 通过json表达式提取值
var pro = jsonobj.result.city;
pm.globals.set("diqu", pro);
四、cookie与token
情景描述:登录->查询余额
1.基于cookie的身份验证方式
1.用户输入登陆凭据;
2.服务器验证凭据是否正确,并创建会话,然后把会话数据存储在数据库中;
3.具有会话id的cookie被放置在用户浏览器中;
4.在后续请求中,服务器会根据数据库验证会话id,如果验证通过,则继续处理;
5.一旦用户登出,服务端和客户端同时销毁该会话。
登录产生cookie,查余额仍然使用登录时cookie,多次查询cookie不变,登出销毁cookie
2.基于token的身份验证
1.用户输入登陆凭据;
2.服务器验证凭据是否正确,然后返回一个经过签名的token;
3.客户端负责存储token,可以存在local storage,或者cookie中;
4.对服务器的请求带上这个token;
5.服务器对JWT进行解码,如果token有效,则处理该请求;
6.一旦用户登出,客户端销毁token。
登录产生token,查余额需要获取token值才能成功
3.网页查看token方法(Edge)
五、断言
断言用于预期结果和实际结果的对比
Postman提供的快捷方法有这些:
- // 测试返回状态码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
2.//测试是否包含某个字段
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
3.//测试解析json数据
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
4.//测试是否等于某个字段
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
5.//检查header
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
6.//请求时间校验
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
7.//返回值在某个区间
pm.test("Status code name has string", function () {
pm.response.to.have.status("Created");
});
8.//使用json schema 校验结果
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];
pm.test('Schema is valid', function() {
pm.expect(tv4.validate(data1, schema)).to.be.true;
pm.expect(tv4.validate(data2, schema)).to.be.true;
});
总结
部分内容,明天还有!
边栏推荐
- 字符串变形
- Flink jdbc connector 源码改造sink之 clickhouse多节点轮询写与性能分析
- 一个注解替换synchronized关键字:分布式场景下实现方法加锁
- MongoDB数据接入实践
- html select tag assignment database query result
- Example 040: Reverse List
- Use of lombok annotation @RequiredArgsConstructor
- redis中常见的问题(缓存穿透,缓存雪崩,缓存击穿,redis淘汰策略)
- Continuing to invest in product research and development, Dingdong Maicai wins in supply chain investment
- v-model
猜你喜欢
实例035:设置输出颜色
halcon自定义函数基本操作
敏捷交付的工程效能治理
Continuing to pour money into commodities research and development, the ding-dong buy vegetables in win into the supply chain
nodejs installation and environment configuration
Continuing to invest in product research and development, Dingdong Maicai wins in supply chain investment
this巩固训练,从两道执行题加深理解闭包与箭头函数中的this
Kubernetes:(九)coredns(浪不动了)
Quickly build a website with static files
Example 035: Setting the output color
随机推荐
企业虚拟偶像产生了实质性的价值效益
The idea of the diagram
GNSS[0]- Topic
Slipper - virtual point, shortest path
LDO investigation
2022年上半年各大厂Android面试题整理及答案解析(持续更新中......)
螺旋矩阵_数组 | leecode刷题笔记
Parquet encoding
Use of lombok annotation @RequiredArgsConstructor
Example 037: Sorting
【OpenCV】-重映射
Slipper —— 虚点,最短路
C 学生管理系统_分析
2022 China Computing Power Conference released the excellent results of "Innovation Pioneer"
工程制图复习题(带答案)
Continuing to invest in product research and development, Dingdong Maicai wins in supply chain investment
持续投入商品研发,叮咚买菜赢在了供应链投入上
boot issue
What is SVN (Subversion)?
IDEA02:配置SQL Server2019数据库