✨博客主页: https://blog.csdn.net/m0_63815035?type=blog
💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识
📢博客专栏: https://blog.csdn.net/m0_63815035/category_11954877.html
📢欢迎点赞 👍 收藏 ⭐留言 📝
📢本文为学习笔记资料,如有侵权,请联系我删除,疏漏之处还请指正🙉
📢大厦之成,非一木之材也;大海之阔,非一流之归也✨
前言
这一阶段是接口测试的学习,我们接下来的讲解都是使用Postman这款工具,当然呢Postman是现在一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会 经常使用。后期讲解大概分三部分进行讲解:
1、根据接口API文档编写接口测试用例
2、使用Postman工具进行接口测试,并能够对大量接口用例进行管理、对接口响应结果进行断言、处理多接口的依赖及生成测试报告
3、使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告
目录
- 前言
- day03 一、(Postman断言、关联、参数化)
- 学习目标
- 能够使用Postman对响应结果自动断言
- 能够使用Postman处理关联数据
- 能够使用Postman进行接口参数化处理
- 一、Postman断言
- 二、Postman关联
- 三、Postman参数化
- 接口测试-day03-作业
- 接口测试-day03-作业-答案
day03 一、(Postman断言、关联、参数化)
学习目标
能够使用Postman对响应结果自动断言
能够使用Postman处理关联数据
能够使用Postman进行接口参数化处理
一、Postman断言
二、Postman关联
案例2:
使用 postman 关联技术,实现 添加员工 接口。登录成功,返回的“令牌“被 添加员工 接口依赖。
思路:
1.发送登录请求(必须登录成功),获取响应结果
2.从 ison 响应结果中,提取 data 值。拼接上“Bearer"前缀。
2.1 注意:Bearer单词不能拼错,首字母必须大写,只有一个空格
3. 将拼接无误的 令牌,存入 环境变量。 从“眼睛” 图标查看。
4.添加员工 接口,从 环境变量 中,提取 令牌。设置到请求头中,作为 Authorization 的 值。
5.填写 添加员工 接口 其他信息(post、URL、请求体),发送请求。
三、Postman参数化
接口测试-day03-作业
1,下文中关于断言的描述正确的是?
// 测试响应状态码是400
pm.test("测试响应状态码是300", function(){
pm.response.to.have.status(200)
});
A:判断接口返回的响应状态码是不是300
B:判断接口返回的响应状态码是不是200
C:判断接口返回的响应状态码是不是400
D:以上都不正确。这个不是判断http响应状态码的断言。
答案:
2,postman提供了常用的断言代码片段,请根据下文中给出断言代码片段和实际代码填入正确的匹配关系
Status code:Code is 200 ( )
Response body : Contains string ( )
Response body : JSON value check ( )
A :
pm.test("Test", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.eql(true);
});
B :
pm.test("Test", function () {
pm.response.to.have.status(200);
});
C :
pm.test("Test", function () {
pm.expect(pm.response.text()).to.include("test");
});
3, 假设下列json数据是某接口返回的响应数据,请选出正确选项
{
"username":"13800000002",
"data": {"nickname":"德玛西亚",
"mobile":"13800000002",
"birthday":"123456",
"hopy":{"read":"三体",
"sport":"basketball"}
}
}
A :要提取 username 的数据,需要使用 pm.response.json().username
B :要提取 birthday 的数据,需要使用 pm.response.json().birthday
C : 要提取 sport 的数据,需要使用 pm.response.json().data.hopy.sport
D : 以上说法全部错误
答案:
4,参照课堂 添加员工 案例,使用postman关联技术,实现 ihrm系统的 查询员工。注意有 2 处依赖。
答案:
5, 针对ihrm登录接口,将 请求数据 和 断言数据 组织成JSON文件,并使用postman批量运行。测试5条数据即可。
接口测试-day03-作业-答案
1,下文中关于断言的描述正确的是?
// 测试响应状态码是400
pm.test("测试响应状态码是300", function(){
pm.response.to.have.status(200)
});
A:判断接口返回的响应状态码是不是300
B:判断接口返回的响应状态码是不是200
C:判断接口返回的响应状态码是不是400
D:以上都不正确。这个不是判断http响应状态码的断言。
答案:
B
2,postman提供了常用的断言代码片段,请根据下文中给出断言代码片段和实际代码填入正确的匹配关系
Status code:Code is 200 ( B )
Response body : Contains string ( C )
Response body : JSON value check ( A )
A :
pm.test("Test", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.eql(true);
});
B :
pm.test("Test", function () {
pm.response.to.have.status(200);
});
C :
pm.test("Test", function () {
pm.expect(pm.response.text()).to.include("test");
});
3, 假设下列json数据是某接口返回的响应数据,请选出正确选项
{
"username":"13800000002",
"data": {"nickname":"德玛西亚",
"mobile":"13800000002",
"birthday":"123456",
"hobby":{"read":"三体",
"sport":"basketball"}
}
}
A :要提取 username 的数据,需要使用 pm.response.json().username
B :要提取 birthday 的数据,需要使用 pm.response.json().birthday
C : 要提取 sport 的数据,需要使用 pm.response.json().data.hobby.sport
D : 以上说法全部错误
答案:
A、C
4,参照课堂 添加员工 案例,使用postman关联技术,实现 ihrm系统的 查询员工。注意有 2 处依赖。
5, 针对ihrm登录接口,将 请求数据 和 断言数据 组织成JSON文件,并使用postman批量运行。测试5条数据即可。
// login.json 数据文件
[
{"mobile":"13800000002","password":"123456","code":10000},
{"mobile":"13800138002","password":"123456","code":20001},
{"mobile":null,"password":"123456","code":20001},
{"mobile":"1380013800","password":"123456","code":20001},
{"mobile":"13800abcd*#","password":"123456","code":20001},
{"mobile":"13800000002","password":null,"code":20001}
]
// postman -- body
{"mobile":"{{mobile}}","password":"{{password}}"}
// postman -- Tests
console.log("预期结果=" + data.code)
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(data.code);
console.log("实际结果=" + jsonData.code);
});
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文