postman

『政善治』Postman — 10.Postman断言(一)

2021-03-09  本文已影响0人  繁华似锦Fighting

我们检验一个测试用例是否通过,一般会将我们心理预期的结果与实际结果进行比对,如果结果一致则证明测试通过,如果结果不一致,则证明测试不通过,这即是我们经常所说的断言。

1、Tests的介绍

Postman中的断言是使用请求后脚本Tests,是对状态码、响应头、响应正文等信息进行断言操作。

在Postman中封装了我们常见的断言代码片段,当然Tests除了可以作为断言,还可以当做后置处理器。

经常应用于:

  1. 断言。
  2. 获取当前接口的响应数据,传递给下一个接口。

提示:在一个请求或者一个集合都可以定义Tests,在集合中定义Tests,表示集合中的每一个请求响应后,都需要执行Tests中的断言脚本。

点击请求中的Tests标签项,如下图:

我们可以在上图看到,在Tests标签页的右侧边栏中,Postman为我们提供了一些常用的代码模版。

提示我们:

Test scripts are written in JavaScript, and are run after the response is received.
测试脚本用JavaScript编写,并在收到响应后运行。

Learn more about tests scripts
点击这里,可以学习更多关于测试脚本的资料。

这里学习关于Tests的更多用法:
https://go.pstmn.io/docs-test-scripts

总结:

(1)Postman测试沙箱的执行顺序:

  1. 在发送Request之前,执行Pre-request Script中的js脚本,可定制化Request(准备数据)。
  2. 收到Response之后,执行Tests中的脚本,处理返回的数据(断言或者处理数据)。

整个流大概是这样的:


(2)Postman中Tests的作用:

  1. 做断言:可以断言状态码或者断言返回数据中的字段。
  2. 取返回值:做流程接口的时候,向下传递返回数据。

2、常用SNIPPETS(片段)说明

(1)常用变量相关

使用:

(同前一篇Pre-request Script的使用方式一样)

(2)状态码相关

(3)响应结果断言:

等等还有很多,用的时候我们可以查看相关文档。

(4)Header :

Response headers:Content-Type header check
响应头部中是否包含字段,代码片段如下:

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type(这里填写请求头属性)");
});

(5)响应速度:

Response time is less than 200ms
响应时间是否少于多少 ms。

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

猜你喜欢

热点阅读