首页 > 其他分享 >Postman中的断言

Postman中的断言

时间:2022-08-24 20:35:26浏览次数:69  
标签:tests code Postman 断言 name 响应 pm

Postman设置断言

一、断言的定义

1、什么是断言?

一般一个完整的接口测试,包括:请求->获取响应正文->断言,请求和获取响应正文很常见。断言一般是对请求的响应结果做操作,判断预期结果与实际结果是否一致。   2、postman中在哪里设置断言?

(1)设置断言的操作栏位置

(2)自动生成断言代码

 

(3)断言的流程

  • 在postman的tests页签中截取要对比的响应信息;
  • 利用断言语句tests[]或chai.js形式把实际响应信息与期望结果对比;
  • 执行请求进行结果查看;

二、Postman断言的语法

1、语法一:tests[‘测试用例名称’] = 逻辑表达式;

//获取响应行信息
var code = responseCode.code  //获取响应状态码
tests["case_demo_01: 验证响应状态码是否为200"] = code === 200 //做断言
var name = responseCode.name //获取响应状态信息 tests["case_demo_02: 验证响应的状态信息是否正确"] = name === "OK" //做断言

2、语法二:chai.js断言语法

//新版本写法------chai.js语法
pm.test("TestcaseTitle", function () {
    pm.expect(true).to.be.true;    //chai.js断言编写处  
});

pm.test("case_demo_01", function () {
    pm.expect(2<5 && 3<6).to.be.true         //判断是否为true
});

pm.test("case_demo_02", function () {
    pm.expect("everything").to.be.ok         //判断是否为真值  非空、非0 即为真
});

三、Postman中chai.js断言常用语法

1、pm.expect

pm.test("测试标题",function(){
      pm.expect(true).to.be.true;//chai.js断言编写
});
pm.expect(2<5 && 3<6).to.be.true;//判断是否为true

2、pm.response

pm.test("Status code is 200",function(){
     pm.response.to.have.status(200);     //判断状态码是否为200
});

pm.test("Content-Type is present",function(){
     pm.response.to.have.header("Content-Type");、、判断响应头是否有Content-Type字段
});

3、tv4(Tiny Validator for JSON data)--postman断言库可以进行json schema(结构)的断言

var schema ={
     "type":"object",     //表示当前节点的类型,最外层type代表json的最外层是什么样的类型
     "properties":{     //代表当前节点的子节点信息。如 access_token 和 expires_in
           "access_token":{
                "type":"string"
              },
              "expires_in":{
                    "type":"integer"
              }
                     }
     "required":{     //一个数组类型,代表当前节点下必须的节点key
          "accsee_token",
          "expires_in"
           }
}

4、其他的常用断言脚本

(1)清除一个环境变量

postman.clearEnvironmentVariable("variable_key");

(2)断言响应数据中是否存在某个元素

tests["//断言返回的数据中是否存在__pid__这个元素"]=responseBody.has("pid");

(3)断言response等于预期内容

tests["Body is correct"] = responseBody === "response_body_string";

(4)断言json解析后的key的值等于预期内容

tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args

(5)检查response的header的信息是否有被测字段

tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

(6)校验响应数据中,返回的数据类型

var jsonData = JSON.parse(responseBody);//第一步先转化为json字符串。其中变量(jsonData)可以自行定义......

tests["//data.category.name__valuse的值的类型是不是string"] = typeof(jsonData.data.category[0].name) == "string";

(7)响应时间判断

tests["Response time is less than 200ms"] = responseTime < 200;

(8)设置环境变量

postman.setEnvironmentVariable("variable_key", "variable_value");

(9)断言状态码

tests["Status code is 200"] = responseCode.code != 400;

(10)检查响应码name

tests["Status code name has string"] = responseCode.name.has("Created");

(11)断言成功的post请求返回码

tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

标签:tests,code,Postman,断言,name,响应,pm
From: https://www.cnblogs.com/Annona/p/16609916.html

相关文章

  • WebApi传数据以及Postman测试
    1.参数传值代码截图postman截图postman结果截图2.参数传json数据2.1传一条数据代码截图postman截图postman结果截图2.2传一个集合(多条数据)代码截图pos......
  • postman操作数据库
    一、安装node.js二、配置环境变量三、安装xmysql,连接数据库四、postman操作数据库一、安装node.js(1).安装node.js,进入网站,下载安装文件:https://nodejs.org/en/down......
  • Pytest系列(1-2)-assert断言详细使用
    前言与unittest不同,pytest使用的是python自带的assert关键字来进行断言assert关键字后面可以接一个表达式,只要表达式的最终结果为True,那么断言通过,用例执行成功,否则用例......
  • assert 断言函数及用法
    Python assert语句,又称断言语句,可以看做是功能缩小版的if语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python解释器会报AssertionError错误......
  • postman 信息头用户名密码如何在jmeter中实现
    场景:需要测试一个登录场景,postman中是basicauthor,如何在jmeter中实现?  方法一:jmeter配置元件中有"HTTP授权管理器",选择对应的组件   方法二:提前对用户名密......
  • 正则表达式断言和分组捕获以及贪婪
    正则的写法比较多,而且方法也很多,做到提取,替换,都需要不同的正则来一,零宽断言(正向先行断言,负向先行断言,负向后行断言,正向后行断言) 断言:断定正则里面有什么字符 零宽:......
  • 技术分享 | app自动化测试(Android)-- 属性获取与断言
    原文链接本文节选自霍格沃兹测试开发学社内部教材断言是UI自动化测试的三要素之一,是UI自动化不可或缺的部分。在使用定位器定位到元素后,通过脚本进行业务操作的交互,......
  • 技术分享 | 使用postman发送请求
    本文节选自霍格沃兹测试开发学社内部教材作为测试,要有对接口进行测试的能力。在接口测试中,常用的工具是postman。postman是一个强大的接口测试平台,具有体验友好的可视......
  • Postman如何做接口测试,那些不得不知道的技巧
    Postman如何做接口测试1:如何导入swagger接口文档在使用postman做接口测试过程中,测试工程师会往界面中填入非常多的参数,包括url地址,请求方法,消息头和消息体等一系列......
  • 技术分享 | 接口自动化测试中,如何做断言验证?
    原文链接本文节选自霍格沃兹测试开发学社内部教材在服务端自动化测试过程中,发起请求之后还需要对响应值进行验证。验证响应信息符合预期值之后,这一条接口自动化测试用......