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

Postman之pm.test断言操作

Postman之pm.test断言操作

      • 1.断言方法
      • 2.连接符
      • 3.条件判断符

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

1.断言方法

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

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

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

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

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

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

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

响应消息:

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

在这里插入图片描述
多个结果进行断言如图,只有全部为true才算通过

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

在这里插入图片描述

2.连接符

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

to,be,been,is,that,which,and,has,have,with,at,of,same

3.条件判断符

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

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

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

注意:必须要是数值型的

取反
.not
可以进行条件组合,如:

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

判断为真
.ok
.true

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

断言条件演示:

pm.test("断言sub_msg是否交易成功",function(){// 包含___includepm.expect(pm.response.json()['sub_msg']).is.include("交易")// 包含___includepm.expect(pm.response.json()['sub_msg']).is.contains("成功")// 等于___equalpm.expect(pm.response.json()['code']).is.equal("40004")// 小于__belowpm.expect(pm.response.json()['number']).is.below(100)// 取反__不包含.not.includepm.expect(pm.response.json()['sub_msg']).is.not.include("测试")//判断为真__okpm.expect(pm.response.json()['md5']).is.ok//判断为真__truepm.expect(pm.response.json()['status']).is.true
})

响应消息:

{"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
}

在这里插入图片描述

http://www.lryc.cn/news/487450.html

相关文章:

  • 对数几率回归
  • docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
  • 4-7-1.C# 数据容器 - LinkedList(LinkedList 的定义、LinkedList 结点的遍历、LinkedList 的常用方法)
  • 「三」体验HarmonyOS端云一体化开发模板——使用DevEco Studio直接创建端云一体化工程
  • 确保以管理员权限运行 Visual Studio 开发者命令提示符
  • 命令执行简单(棱角社区有毒)
  • Keil基于ARM Compiler 5的工程迁移为ARM Compiler 6的工程
  • Kafka-创建topic源码
  • 【网络安全】(一) 0成本添加访问级监控
  • 【Three.js基础学习】26. Animated galaxy
  • vscode使用ssh配置docker容器环境
  • NLP论文速读(EMNLP 2024)|动态奖励与提示优化来帮助语言模型的进行自我对齐
  • 【LeetCode】167. 两数之和 II - 输入有序数组
  • Getx:GetxController依赖管理02,Binding绑定全局控制器(懒加载Controller)
  • leetcode 找不同
  • 2025 - 生信信息学 - GEO数据分析 - RF分析(随机森林)
  • Matlab深度学习(四)——AlexNet卷积神经网络
  • etcd defrag
  • golang语言整合jwt+gin框架实现token
  • 数据治理、数据素养和数据质量管理:文献综述
  • 【Linux】用户和用户组管理
  • 游戏引擎学习第16天
  • 如何通过对敏捷实践的调整,帮助远程团队提升研发效能?
  • Ubuntu Linux使用前准备动作 配置SSH
  • 疫情下的图书馆管理系统:Spring Boot技术
  • vue3完整安装并创建项目
  • 【Linux】Linux入门实操——进程管理(重点)
  • Linux-Apache
  • 高危,Laravel参数注入漏洞安全风险通告
  • 【Qt】使用QString的toLocal8Bit()导致的问题