主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。

如果你觉得公众号对你有帮助,欢迎推荐给他人…

jemeter断言_postman断言_junit单元测试断言

jemeter断言_postman断言_junit单元测试断言

postman断言_junit单元测试断言_jemeter断言

感谢您抽出

阅读本文

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;

junit单元测试断言_postman断言_jemeter断言

postman断言_junit单元测试断言_jemeter断言

junit单元测试断言_postman断言_jemeter断言

微信扫码,获取下方学习资料

-每天学习一点,今后必成大神-

本号粉丝可领取全部资料!

postman断言_junit单元测试断言_jemeter断言

junit单元测试断言_postman断言_jemeter断言

junit单元测试断言_jemeter断言_postman断言

往期推荐:

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方【阅读原文】加入我们的QQ群:746506216,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注