【接口测试】Postman常见五类断言方法

这篇具有很好参考价值的文章主要介绍了【接口测试】Postman常见五类断言方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 响应状态码断言
  • 方法:pm.response.to.have.status(code)

  • 自定义参数:code(期望的 HTTP 状态码)

  • 使用方法:验证 API 响应的 HTTP 状态码是否与期望的状态码匹配。

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200); // 期望状态码为 200
});
2. 响应头断言
  • 方法:pm.response.to.have.header(key)pm.expect(pm.response.headers.get(key)).to.eql(value)

  • 自定义参数:key(HTTP 头的名称),value(期望的头值)

  • 使用方法:验证响应中是否包含特定的 HTTP 头字段,并检查其值是否与期望的值相等。

pm.test("Content-Type header is present", function () {
    pm.response.to.have.header("Content-Type"); // 验证 Content-Type 头存在
});
​
pm.test("Content-Type is JSON", function () {
    pm.expect(pm.response.headers.get("Content-Type")).to.eql("application/json"); // 验证 Content-Type 的值为 application/json
});
3. 响应体断言
  • 方法:pm.expect(pm.response.text()).to.include(string)pm.expect(pm.response.json()).to.eql(jsonObject)pm.expect(pm.response.json().key).to.eql(value)

  • 自定义参数:string(期望的文本),jsonObject(期望的 JSON 对象),key(JSON 中的字段名),value(期望的字段值)

  • 使用方法:验证响应体文本是否包含特定的字符串,或者检查 JSON 响应体是否与期望的 JSON 对象相等,或者验证 JSON 响应体中特定字段的值。

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("some text"); // 验证响应体包含 "some text"
});
​
pm.test("Response body matches JSON object", function () {
    var expectedJson = { key: "value" };
    pm.expect(pm.response.json()).to.eql(expectedJson); // 验证响应体与 expectedJson 相等
});
​
pm.test("Response contains specific JSON value", function () {
    pm.expect(pm.response.json().key).to.eql("expected value"); // 验证响应体中 key 字段的值为 "expected value"
});
4. 响应时间断言
  • 方法:pm.expect(pm.response.responseTime).to.be.below(ms)pm.expect(pm.response.responseTime).to.be.above(ms)

  • 自定义参数:ms(期望的响应时间,以毫秒为单位)

  • 使用方法:验证 API 响应的时间是否低于或高于期望的响应时间。

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200); // 验证响应时间低于 200ms
});
​
pm.test("Response time is above 100ms", function () {
    pm.expect(pm.response.responseTime).to.be.above(100); // 验证响应时间高于 100ms
});
5. 响应内容类型断言
  • 方法:pm.response.to.be.jsonpm.response.to.be.htmlpm.response.to.be.textpm.response.to.be.xml

  • 自定义参数:无

  • 使用方法:验证 API 响应的内容类型是否与期望的类型匹配。

pm.test("Response is JSON", function () {
    pm.response.to.be.json; // 验证响应内容为 JSON 类型
});
​
pm.test("Response is not HTML", function () {
    pm.response.to.not.be.html; // 验证响应内容不是 HTML 类型
});

请注意,以上示例中的断言方法可能需要适当地嵌套在 pm.test 函数中,以便在 Postman 中正确执行和报告。另外,有些断言方法可能返回布尔值,它们应与其他断言方法(如 pm.expect(condition).to.be.true)结合使用,以确保正确的测试逻辑。

此外,Postman 支持使用 Chai.js 的所有断言方法,因此您可以利用 Chai.js 提供的更多断言功能,如深度比较、正则表达式匹配等。您可以查阅 Chai.js 的文档以获取更多信息。文章来源地址https://www.toymoban.com/news/detail-841732.html

到了这里,关于【接口测试】Postman常见五类断言方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Postman接口测试 —— 设置全局变量、参数传递、断言

    在能熟练使用postman运行接口请求后,会遇到一些问题。例如: 我们的web网站一共有几十个接口,测试的时候如果要切换环境,这个时候要每个接口都要修改url的根路径,一个一个的改也太麻烦了; 还有时候我们经常需要用到上一个接口的返回值,来作为下一个接口的数据来

    2024年02月16日
    浏览(58)
  • 【Postman】Postman接口测试进阶用法详解:断言、全局与环境变量、关联、批量执行用例、读取外部文件实现参数化

    Postman断言使用JavaScript语言编写,写在Postman的【Tests】 标签中。 【Tests】中的脚本在发送请求之后执行,它会把断言的结果(PASS/FAIL)最终在【Test Results】 标签页中。 断言响应状态码是否为200(Status code is 200) 断言响应体JSON数据校验(Response body:JSON value check) 断言响应体

    2024年02月15日
    浏览(59)
  • postman实现接口自动化图解步骤,测试用例集,断言,动态参数,全局变量的随笔记录

    实现接口自动化的方式有很多种,requests + unittest + ddt 的接口自动化框架有些朋友也有接触,但是考虑到很多没有代码基础,且这种框架实现需要的时间周期比较长,但是大多数公司的项目时间并不充裕。 如下图,点击postman左侧Collections下面有个添加文件夹图标,就可以创建

    2024年02月03日
    浏览(53)
  • 接口自动化测试项目2.0,让你像Postman一样编写测试用例,支持多环境切换、多业务依赖、数据库断言等

    接口自动化测试项目2.0 本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企业微信通知 + Jenkins 实现的接口自动化框架。 项目参与者: 陈勇志 技术支持邮箱: 262667641@qq.com 个人微信: Testing_player 个人博客地址: https://home.cnblogs.com/u/Nephalem-262667641 微信公众号:测

    2024年02月16日
    浏览(65)
  • Postman界面功能详情、常见鉴权处理方式、接口关联

    目录 1.接口及其类型 2.接口测试的流程 3.Postman执行接口测试 3.1 界面功能 3.2 请求 1. 请求方式 2. 接口地址 3.查询字符串 4. 鉴权方式 5. 请求头 6.请求正文 7. 请求预处理 8. 测试用例 9. 设置 10. cookie 3.2 响应 3.3 Postman环境变量和全局变量 3.4 使用集合来管理请求 3.5 Postman断言

    2023年04月09日
    浏览(30)
  • python接口自动化测试框架2.0,让你像Postman一样编写测试用例,支持多环境切换、多业务依赖、数据库断言等

    接口自动化测试项目2.0 软件架构 本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企业微信通知 + Jenkins 实现的接口自动化框架。 前言 公司突然要求你做自动化,但是没有代码基础不知道怎么做?或者有自动化基础,但是不知道如何系统性的做自动化,

    2024年02月13日
    浏览(59)
  • 接口测试-关于postman的几种参数请求方式

    (1)POST的数据类型 对于post请求方式,一般都是要对请求发送相应的一些参数的,而参数的注入一般填写在Body中。  如上图所示,在Body中,有多种类型选择: none:一般都不使用 form-data:  对于form-data,是采用键值对的方式进行存储,即将该表单的数据组织成Key-Value形式,

    2024年02月12日
    浏览(74)
  • Postman接口断言&上下游参数传递

    将测试断言数据写进到Test模块当中, 每次发送API请求的时候会自动进行断言检查数据。 常见的断言方法如下: 判断状态码:pm.response.to.have.status() 判断返回体: const responseJson = pm.response.json();pm.expect(responseJson.code).to.eql(0); 判断返回头:pm.response.headers.get()      拿气象局获

    2024年02月04日
    浏览(38)
  • 【接口测试】POST请求提交数据的三种方式及Postman实现

      POST请求是HTPP协议中一种常用的请求方法,它的使用场景是向客户端向服务器提交数据,比如登录、注册、添加等场景。另一种常用的请求方法是GET,它的使用场景是向服务器获取数据。 当前,POST请求提交数据的编码方式有三种: application/x-www-form-urlencoded multipart/form-dat

    2024年02月10日
    浏览(49)
  • 如何在 Postman 中执行断言测试?

    在当今的软件构建流程中,应用程序编程接口,简称 API,起到了不可或缺的作用,它们使得不同的软件应用能够互相沟通和交换数据。随着应用程序的不断演进变得越发复杂,保障API的可靠性及其稳定性显得格外关键。正因如此,API 测试,尤其是采用断言的自动化测试方法

    2024年04月17日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包