Postman之pm.test断言操作

系列文章目录
1.Postman之安装及汉化基本使用介绍
2.Postman之变量操作
3.Postman之数据提取
4.Postman之pm.test断言操作
5.Postman之newman

Postman之pm.test断言操作

用于验证请求的响应数据是否符合预期

1.断言方法

pm.test():定义一个测试函数,接受两个参数,一个字符串参数用来描述该测试,一个返回True/False的函数

语法格式pm.test("testName",function(){ } )

pm.expect():格式化测试结果消息,用实际结果和预期结果进行比较

语法格式pm.expect(实际结果).to.equal("预期结果")

  • pm.expect(实际结果) :是格式化测试结果
  • .to :是连接符,关于连接符的更多说明,在下文中,会讲解
  • .equal("预期结果"):是进行条件判断

将两个语法联接起来演示:

javascript 复制代码
pm.test("断言sub_msg是否交易成功",function(){
    pm.expect(pm.response.json()['sub_msg']).is.equal("交易成功")
})

响应消息:

bash 复制代码
{
    "code": "40004",
    "msg": "Business Failed",
    "sub_code": "ACQ.TRADE_HAS_SUCCESS",
    "sub_msg": "交易成功",
    "trade_no": "2013112011001004330000121536",
    "out_trade_no": "6823789339978248",
    "md5": "5133bba0536afd5648c07d9cb4359c25"
}

多个结果进行断言如图,只有全部为true才算通过

javascript 复制代码
pm.test("断言sub_msg是否交易成功",function(){
    pm.expect(pm.response.json()['sub_msg']).is.equal("交易成功")
    pm.expect(pm.response.json()['code']).is.equal("400041")
})

2.连接符

功能 :没有什么实际的功能,连接符并不会对结果造成任何影响,主要目的是让断言更加语意化,因此可以随便填写

连接符有很多,这里列举了一部分:

javascript 复制代码
to,be,been,is,that,which,and,has,have,with,at,of,same

3.条件判断符

包含 :
.include("预期结果")
.contains("预期结果")

等于 :
.equal("预期结果")

小于
.below("预期结果")

注意:必须要是数值型的

取反
.not

可以进行条件组合,如:

javascript 复制代码
//不包含
.not.include("预期结果")
.not.contains("预期结果")
//不等于
.not.equal("预期结果")
//不小于
.not.below("预期结果")
//不存在
.not.ok
//不为true
.not.true

判断为真
.ok
.true

注意:ok,可以理解为判断内容是否存在,存在就是true;而true,则不同是判断值,判断值是否为true,为true才为真

断言条件演示:

javascript 复制代码
pm.test("断言sub_msg是否交易成功",function(){
    // 包含___include
    pm.expect(pm.response.json()['sub_msg']).is.include("交易")
    // 包含___include
    pm.expect(pm.response.json()['sub_msg']).is.contains("成功")
    // 等于___equal
    pm.expect(pm.response.json()['code']).is.equal("40004")
    // 小于__below
    pm.expect(pm.response.json()['number']).is.below(100)
    // 取反__不包含.not.include
    pm.expect(pm.response.json()['sub_msg']).is.not.include("测试")
    //判断为真__ok
    pm.expect(pm.response.json()['md5']).is.ok
    //判断为真__true
    pm.expect(pm.response.json()['status']).is.true
})

响应消息:

javascript 复制代码
{
    "code": "40004",
    "msg": "Business Failed",
    "sub_code": "ACQ.TRADE_HAS_SUCCESS",
    "sub_msg": "交易成功",
    "trade_no": "2013112011001004330000121536",
    "out_trade_no": "6823789339978248",
    "md5": "5133bba0536afd5648c07d9cb4359c25",
    "number": 99,
    "status": true
}
相关推荐
SRC_BLUE_179 小时前
[网络爬虫] 动态网页抓取 — Selenium 入门操作
网络·爬虫·selenium·测试工具
互联网杂货铺14 小时前
python+pytest 接口自动化测试:参数关联
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
黑客笔记20 小时前
读书报告」网络安全防御实战--蓝军武器库
测试工具·web安全·网络安全
自由鬼1 天前
免费开源抓包工具Wireshark介绍
运维·服务器·网络·测试工具·网络安全·wireshark
海姐软件测试1 天前
Deepseek如何写测试用例
测试工具·面试
不脱发的猴子1 天前
Wireshark使用教程
网络·测试工具·wireshark
Aimyone1 天前
postman导出 二进制文件流处理成文件
postman
waicsdn_haha1 天前
Postman v11 安装与API测试入门教程(Windows平台)
人工智能·windows·测试工具·mysql·postman·dbeaver·rest
ITlinuxP1 天前
2025最新Postman、Apipost和Apifox API 协议与工具选择方案解析
后端·测试工具·postman·开发工具·apipost·apifox·api协议
天才测试猿1 天前
功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例