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
}
相关推荐
敬业小码哥1 天前
记一次:postman请求下载文件的使用方法
测试工具·postman
cxyll12341 天前
postman+newman+jenkins接口自动化
自动化·jenkins·postman
测试老哥1 天前
pytest+requests+allure自动化测试接入Jenkins学习
自动化测试·软件测试·学习·测试工具·职场和发展·jenkins·pytest
让代码飞~2 天前
idea进阶技能掌握, 使用自带HTTP测试工具,完全可替代PostMan
java·http·intellij-idea·postman
Mike_Wuzy2 天前
【音频信号发生器】基本应用
测试工具
程序员三藏2 天前
Selenium+python自动化测试:解决无法启动IE浏览器及报错问题
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Warren982 天前
软件测试-Selenium学习笔记
java·javascript·笔记·学习·selenium·测试工具·安全
zzc9212 天前
Wireshark获取数据传输的码元速率
网络·测试工具·wifi·wireshark·路由器·802.11n·物理层参数
小丁爱养花3 天前
接口性能测试工具 - JMeter
测试工具·jmeter