postman使用

postman使用,第1张

批量执行接口请求

当我们在一个Collection中编写了很多的接口测试用例,想一起执行这批用例,在postman中是如何 *** 作呢 ?

实现步骤:
1.选中一个Collection的模块,,在d出的界面直接RUN

2. 这是会d出一个叫 Runner的界面,默认会把模块中的所有用例选中 。

3.直接RUN就行

5.日志调试

在做接口测试时,经常会因为代码写的有问题导致报错,这时通过查看日志就显得非常重要了,postman也提供了这样的功能,它允许我们在脚本中编写打印语句,查看打印的结果 ; 同时也可以查看每个请求的日志信息 。

在postman中编写日志打印语句使用的是JavaScript,编写的位置可以是Pre-request Script 或Tests标签中。编写打印语句如:console.log(“我是一条日志”)

那么打印的日志如何看呢, 在postman中有两个入口
第一个入口就是:view-show postman console 。
第二个入口就是左下角第三个图标 。


打开的日志界面:

这里面有几个比较实用的功能:

搜索日志:输入URL或者打印的日志就能直接搜索出我们想要的请求和日志,这对我们在众多日志中查找某一条日志是非常方便的 。
按级别搜索:可以查询log,info,warning,error级别的日志 ,有助于我们更快定位到错误 。
查看原始报文(Show raw log):如果习惯看原始请求报文的话,这个功能可能更方便些 。
隐藏请求(Hide network):把请求都隐藏掉,只查看输出日志 。
总之,通过这个功能,我们在请求接口报错时,通过打印响应的日志,就能很轻松的找到问题原因了 。

6.断言

如果没有断言,我们只能做接口的功能测试,但有了断言后,就为我们做自动化提供了条件,并且在postman中的断言是非常方便和强大的 。

我们先来了解下postman断言的一些特点 ,具体如下

断言编写位置:Tests标签
断言所用语言:JavaScript
断言执行顺序:在响应体数据返回后执行 。
断言执行结果查看:Test Results
在上面我们介绍到,编写的断言代码是JavaScript,那如果不会写怎么办 ?不用担心,因为postman已经给我们内置了一些常用的断言 。用的时候,只需从右侧点击其中一个断言,就会在文本框中自动生成对应断言代码块 。

接下来就让我们了解一些常用断言,还是按响应的组成来划分,分别是状态行,响应头,响应体。

状态行中又包括状态码,状态消息 。在postman也可以对这两个进行断言

状态行中的断言:

断言状态码:Status code: code is 200

pm.test("Status code is 200", function () {  
    pm.response.to.have.status(200); //这里填写的200是预期结果,实际结果是请求返回结果  
});

断言状态消息:Status code:code name has string

pm.test("Status code name has string", function () {  
    pm.response.to.have.status("OK"); //断言响应状态消息包含OK  
});

响应头中的断言
断言响应头中包含:Response headers:Content-Type header check

pm.test("Content-Type is present", function () {  
    pm.response.to.have.header("Content-Type"); //断言响应头存在"Content-Type"  
});

断言响应体(重点)

断言响应体中包含XXX字符串:Response body:Contains string
pm.test("Body matches string", function () {  
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");  
});  
//注解  
pm.expect(pm.response.text()).to.include("string") 获取响应文本中包含string

断言响应体等于XXX字符串:Response body : is equal to a string
pm.test("Body is correct", function () {  
    pm.response.to.have.body("response_body_string");  
});  
//注解  
pm.response.to.have.body("response_body_string"); 获取响应体等于response_body_string

断言响应体(json)中某个键名对应的值:Response body : JSON value check
pm.test("Your test name", function () {  
    var jsonData = pm.response.json();  
    pm.expect(jsonData.value).to.eql(100);  
});  
//注解  
var jsonData = pm.response.json() 获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错  
pm.expect(jsonData.value).to.eql(100) 获取jsonData中键名为value的值,然后和100进行比较

响应时间(一般用于性能测试)
断言响应时间:Response time is less than 200ms

pm.test("Response time is less than 200ms", function () {  
    pm.expect(pm.response.responseTime).to.be.below(200); //断言响应时间<200ms  
});

针对以下接口返回的数据进行断言:

 "weatherinfo": {
        "city": "北京",
        "cityid": "101010100",
        "temp": "27.9",
        "WD": "南风",
        "WS": "小于3级",
        "SD": "28%",
        "AP": "1002hPa",
        "njd": "暂无实况",
        "WSE": "<3",
        "time": "17:55",
        "sm": "2.1",
        "isRadar": "1",
        "Radar": "JC_RADAR_AZ9010_JB"
    }
}

断言响应状态码为200
断言城市是北京
断言temp包含27.9

总结,整体来说,如果用postman做接口测试,这个断言功能必不可少,其中我们常断言的响应体包含和JSON这俩个断言又是重重之重。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/917388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存