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

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(){
    // 包含___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
})

响应消息:

{
    "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.kler.cn/a/402161.html

相关文章:

  • [ 网络安全介绍 1 ] 什么是网络安全?
  • 深度学习之目标检测的技巧汇总
  • css3新特性(二十六课)
  • MongoDB聚合操作
  • 人工智能与自动驾驶:从梦想到现实
  • docker--工作目录迁移
  • 【Homework】【7】Learning resources for DQ Robotics in MATLAB
  • 大模型本地部署实践:Ollama+Open-WebUI(MacOS)
  • 鸿蒙中服务卡片数据的获取和渲染
  • 72项!湖北省2024年度第二批省级科技计划项目拟立项项目公示!
  • 基于豆包MarsCode 和 Threejs 实现3D地图可视化
  • 关于Web Component
  • 前端面试笔试(四)
  • 使用Go语言编写一个Web服务器,处理客户端的HTTP请求,并返回相应的HTML页面。
  • 百度AI人脸检测与对比
  • 优选算法--快乐数(快慢指针)循环链表
  • 《物理学进展》
  • koa-body 的详细使用文档
  • Node.js 版本管理的最终答案 Volta
  • windows系统中实现对于appium的依赖搭建
  • Android CALL按键同步切换通话界面上免提和听筒的图标显示
  • Linux进阶:用户、用户组、权限
  • Vue实现响应式导航菜单:桌面端导航栏 + 移动端抽屉式菜单
  • HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述
  • 批量将当前目录里的所有pdf 转化为png 格式
  • 鸿蒙实战:使用显式Want启动Ability