postman接口测试中添加不同的断言

断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。----来自百度百科

当然上面说的我们第一眼一看的话相信第一反应肯定会是一脸懵~,其实断言说白了就是结果和预期对比,如果一致,则用例通过,如果不一致,断言失败,用例失败

postman中断言

postman中的断言是通过javaScript语言编写的,我们可以在postman客户端中直接编写,断言会在请求返回之后显示,并根据断言的pass\fail情况体现在最终测试结果中

肯定有人会说,我不会javaScript语言怎么编写? 是不是还要重新学习了? 当然不是的了。postman官方怎么可能没有考虑到这种情况呢,官方在tests下方给出可以选择的一些断言内容。当然这些已经足够我们测试用来验证用例了。

增加断言

点击postman中的tests进入到编写断言脚本地方

我们这里通过get的方式简单介绍断言的方法使用

 点击右侧的断言脚本后,也是可以修改名称,便于自己管理

postman断言类型

其他的断言脚本都表示什么意思呢?

1、检查响应主体中是否包含字符串

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});     就是上面一个截图,响应体中包含“晨起的太阳”

2、检查谈响应主体是否等于字符串

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

3、检查JSON值

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

4、Content-Type标头存在

pm.test("Content-Type header is present", function () {
    pm.response.to.have.header("Content-Type");
});

5、响应时间小于200毫秒

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

6、状态码为200

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

7、代码名称包含一个字符串

pm.test("Status code name has string", function () {
    pm.response.to.have.status("Created");
});

8、成功的POST请求状态代码

pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201,202]);
});
学而不思则罔,思而不学则殆
原文地址:https://www.cnblogs.com/linyu51/p/15529025.html