以上海7天的气预报接口为例,添加断言发送请求,查看返回的结果
请求地址:https://tianqiapi.com/free/week?appid=79373561&appsecret=ldMDlIM2&city={{cityname}}
请求方式:GET
发送请求,返回的主体内容:
{
"cityid": "101020100",
"city": "上海",
"update_time": "2021-10-13 17:06:50",
"data": [
{
"date": "2021-10-13",
"wea": "中雨转晴",
"wea_img": "yu",
"tem_day": "26",
"tem_night": "24",
"win": "东风",
"win_speed": "4-5级转<3级"
},
{
"date": "2021-10-14",
"wea": "多云转小雨",
"wea_img": "yun",
"tem_day": "30",
"tem_night": "24",
"win": "东北风",
"win_speed": "4-5级转3-4级"
},
{
"date": "2021-10-15",
"wea": "小雨转中雨",
"wea_img": "yu",
"tem_day": "27",
"tem_night": "19",
"win": "东北风",
"win_speed": "4-5级"
},
{
"date": "2021-10-16",
"wea": "小雨转多云",
"wea_img": "yun",
"tem_day": "21",
"tem_night": "15",
"win": "北风",
"win_speed": "4-5级转3-4级"
},
{
"date": "2021-10-17",
"wea": "多云转阴",
"wea_img": "yun",
"tem_day": "17",
"tem_night": "14",
"win": "东北风",
"win_speed": "4-5级转3-4级"
},
{
"date": "2021-10-18",
"wea": "阴",
"wea_img": "yin",
"tem_day": "20",
"tem_night": "15",
"win": "东北风",
"win_speed": "3-4级转<3级"
},
{
"date": "2021-10-19",
"wea": "阴",
"wea_img": "yin",
"tem_day": "21",
"tem_night": "16",
"win": "东南风",
"win_speed": "<3级"
}
]
}
在Tests栏操作,右栏可以添加断言
1、添加状态码断言:点击右栏的”Status code:Code is 200”断言
显示以下:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
示例1:验证结果显示“状态码200”
pm.test("状态码200", function () {
pm.response.to.have.status(200);
});
点击Send发送请求,Test Rults 测试结果显示Psaa则为通过
2、验证JSON值:点击右栏的Response body :JSON value check
显示以下:
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
示例1:验证返回主体中“city”值为“上海”
pm.test("验证返回主体中city值为上海", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.city).to.eql("上海");
});
点击Send发送请求,Test Rults 测试结果显示Psaa则为通过
示例2:验证返回主体中第二天的“win”值为“东北风”
pm.test("验证返回主体中第二天的win值为东北风", function () {
var jsonData = pm.response.json();
console.log(jsonData.data[1].win);
pm.expect(jsonData.data[1].win).to.eql("东北风");
});
点击Send发送请求,Test Rults 测试结果显示Psaa则为通过
注意:
这里的插入console.log是可以查看控制台结果,需要返回的数据位置是在{}里data下中括号里面第二组数据,[0]表示中括号里第一组数据,[1]表示中括号里第二组数据
示例3:验证返回主体中7天的天气情况
pm.test("验证返回主体中7天的天气情况", function () {
var jsonData = pm.response.json();
for(var i=0;i<7;i++){
console.log(jsonData.data[i].wea);
}
pm.expect(jsonData.data[1].wea).to.eql("多云转小雨");
});
点击Send发送请求,Test Rults 测试结果显示Psaa则为通过
(这里加了一个for循环)
3、验证包含的头域:点击右栏中的“Response headers:Content-Tpe header check”
显示以下:
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
这里是Headers下的几个头域,可以任意选择添加
示例1:验证返回头中包含Server头域
pm.test("验证返回头中包含Server头域", function () {
pm.response.to.have.header("Server");
});
以上三种是比较常见的断言,用的最多的是Response body :JSON value check断言