完成postman的请求之后,要构成一个完整的接口测试用例,我们需要对测试用例设置预期结果并进行验证,在Postman中通过tests脚本里添加断言来完成预期结果的验证。
Postman中添加断言
postman中的断言操作在tests菜单中添加脚本进行设计,并且在Snippets列表提供了一系列模板可供使用,点击之后可以在tests脚本中生成对应的脚本代码,postman提供的模板如下:
Postman中的断言使用非常简单:
在Tests菜单中添加断言之后,重新点击Send发起请求,则会在返回结果窗中出现Test Results菜单列出执行的断言脚本的结果。
平常使用时掌握常用断言模板即可,不常用的断言模板可作为了解。
常用断言模板
Response Body: Contains string 断言返回体内容包含指定字符串
pm.test("Body matches string", function () {
//获取postman返回结果的文本内容,预期其中包含指定字符串string_you_want_to_search
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
使用时,修改Body matches string为用例的名称,修改string_you_want_to_search为预期包含的字符串。
以诗词接口
https://api.apiopen.top/api/sentences 为例,返回结果为:
那么断言可以写成:
pm.test("内容中包含成功", function () {
pm.expect(pm.response.text()).to.include("成功");
});
执行结果如下:
Response Body: Json value check 验证json格式返回中的字段
//设置测试用例名称
pm.test("Your test name", function () {
//解析postman返回结果为json对象的变量
var jsonData = pm.response.json();
//验证json格式中解析到的value字段的值为100
pm.expect(jsonData.value).to.eql(100);
});
由于大部分接口的返回体都是json格式,所以Json value check是最常用的断言方法模板,没有之一。
使用时,需要注意从json格式中通过语法层级解析得到想要验证的字符串的内容。
同样以诗词接口
https://api.apiopen.top/api/sentences为例:
返回结果为:
{
"code": 200,
"message": "成功!",
"result": {
"name": "缁衣之好兮,敝予又改造兮。",
"from": "佚名《缁衣》"
}
}
可以对其中的message字段值进行校验,那么需要从jsonData对象中获取message字段,即jsonData.message,修改断言脚本如下:
pm.test("message是成功", function () {
var jsonData = pm.response.json();
//其中的eql表示相等,也可以改为include来表示包含
pm.expect(jsonData.message).to.eql("成功!");
});
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!