当前位置: 首页 > article >正文

【Postman接口测试】Postman的常见断言

在使用Postman进行接口测试时,断言是验证接口响应是否符合预期的关键手段。通过设置各种断言,我们能够确保接口按照设计要求返回正确的数据、状态码、响应头信息以及在规定的时间内完成响应。下面将详细介绍Postman中常见的断言,包括状态码断言、响应正文断言、响应头断言和响应时间断言,并结合具体案例进行说明。
在这里插入图片描述

一、状态码断言

状态码断言用于验证接口返回的HTTP状态码是否符合预期。常见的状态码如200表示请求成功,404表示资源未找到,500表示服务器内部错误等。在Postman中设置状态码断言非常简单。

案例

假设我们有一个获取用户信息的接口https://example.com/api/user,正常情况下应该返回200状态码。

操作步骤

  1. 在Postman中发送请求到该接口。
  2. 点击“Tests”选项卡,在代码编辑区域输入以下代码:
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
  1. 上述代码中,pm.test用于定义一个测试用例,第一个参数是测试用例的名称“Status code is 200”,第二个参数是一个函数。在函数内部,pm.response.to.have.status(200)表示断言响应的状态码为200。
  2. 发送请求后,在“Test Results”区域可以查看断言结果。如果状态码确实为200,测试用例将显示通过;否则,测试用例将显示失败,并提示实际状态码与预期状态码不一致。

二、响应正文断言

响应正文断言用于验证接口返回的内容是否符合预期。可以检查响应正文中是否包含特定的字符串、是否符合某种数据格式(如JSON格式)等。

案例

还是以获取用户信息的接口为例,假设接口返回的JSON数据中包含“name”字段,且值为“John Doe”。

操作步骤

  1. 同样在“Tests”选项卡中编写测试代码:
pm.test("Response body contains name John Doe", function () {
    var responseData = pm.response.json();
    pm.expect(responseData.name).to.eql("John Doe");
});
  1. 这段代码首先使用pm.response.json()将响应正文解析为JSON格式的数据并存储在responseData变量中。然后,使用pm.expect进行断言,responseData.name获取JSON数据中的“name”字段的值,to.eql用于判断该值是否等于“John Doe”。
  2. 发送请求后,Postman会执行该断言并在“Test Results”区域显示结果。若响应正文中“name”字段的值确实为“John Doe”,则测试通过;否则,测试失败。

三、响应头断言

响应头断言用于验证接口返回的响应头信息是否符合预期。比如验证响应头中的“Content-Type”字段是否为“application/json”,以确保返回的数据格式正确。

案例

继续以之前的接口为例,验证其响应头中的“Content-Type”为“application/json”。

操作步骤

  1. 在“Tests”选项卡中输入以下代码:
pm.test("Content-Type is application/json", function () {
    pm.response.to.have.header("Content-Type", "application/json");
});
  1. 这里pm.response.to.have.header用于断言响应头中存在指定的字段及其对应的值。第一个参数是响应头字段名称“Content-Type”,第二个参数是预期的值“application/json”。
  2. 当发送请求后,Postman会检查响应头信息。若“Content-Type”字段的值为“application/json”,测试通过;否则,测试失败。

四、响应时间断言

响应时间断言用于验证接口的响应时间是否在规定的时间范围内。这对于评估接口的性能非常重要。

案例

假设我们希望获取用户信息的接口响应时间不超过500毫秒。

操作步骤

  1. 在“Tests”选项卡中编写如下代码:
pm.test("Response time is less than 500ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(500);
});
  1. 代码中pm.response.responseTime获取接口的响应时间(单位为毫秒),pm.expect用于断言该响应时间是否小于500毫秒。to.be.below表示期望的值小于指定的值。
  2. 发送请求后,Postman会测量响应时间并执行断言。如果响应时间小于500毫秒,测试通过;否则,测试失败。

通过以上对Postman中常见断言的介绍和案例演示,你可以在接口测试过程中灵活运用这些断言,全面验证接口的正确性和性能。在实际测试中,根据接口的具体需求和业务逻辑,合理组合不同类型的断言,能够更有效地发现接口存在的问题,确保软件的质量。希望这些内容对你在使用Postman进行接口测试时有所帮助。


http://www.kler.cn/a/520559.html

相关文章:

  • 【Leetcode 每日一题】40. 组合总和 II
  • 深度解析:基于Vue 3的教育管理系统架构设计与优化实践
  • Qt Designer and Python: Build Your GUI
  • Crisis Management Assistant (危机管理助手)
  • 2025美赛MCM数学建模A题:《石头台阶的“记忆”:如何用数学揭开历史的足迹》(全网最全思路+模型)
  • 安装最小化的CentOS7后,执行yum命令报错Could not resolve host mirrorlist.centos.org; 未知的错误
  • 【数据结构】空间复杂度
  • P1177 【模板】排序
  • 1.26学习记录
  • Libreoffice实现Word、Excel在线预览
  • 荔枝派LicheePi Zero V3S芯片图形系统开发详解
  • 深度学习VS机器视觉
  • ORB-SLAM2源码学习:Initializer.cc⑩: Initializer::FindFundamental找到最好的基础矩阵F
  • spark streaming基础操作
  • 数学建模论文通用模板(细节方法二)
  • 大数据之路:阿里巴巴大数据实践(1)
  • webview_flutter_wkwebview3.17.0 --Cookie认证
  • kubernetes 核心技术-Namespace
  • 【信息系统项目管理师-选择真题】2015下半年综合知识答案和详解
  • 从零开始打造智能推荐引擎:技术、实践与未来展望
  • xss靶场(portswiggrer)
  • 最小相位系统和非最小相位系统
  • QFramework实现原理 一 :日志篇
  • 蓝桥与力扣刷题(240 搜索二维矩阵||)
  • 损失函数曲面变平坦的方法
  • pycharm踩坑(1)