Postman接口测试之断言

这篇具有很好参考价值的文章主要介绍了Postman接口测试之断言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一、断言

在 postman 中我们是在Tests标签中编写断言,同时右侧封装了常用的断言,当然 Tests 除了可以作为断言,还可以当做后置处理器来编写一些后置处理代码,经常应用于:

【1】获取当前接口的响应,传递给下一个接口
【2】控制多个接口间的执行顺序。

Postman接口测试之断言,软件测试,postman,测试工具,软件测试,自动化测试,功能测试,程序人生,职场和发展

二、常见断言方法

1、状态码断言

1)判断接口响应的状态码:Status code: code is 200

pm.test("Status code is 200", function () {//
Status code is 200是断言名称,可以自行修改
    pm.response.to.have.status(200); 
//这里填写的200是预期结果,实际结果是请求返回结果
});

 2)判断接口响应码是否与预期集合中的某个值一致

pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201,202]);  //检查响应码是否为201或者202
});

3)判断状态码名称(也就是状态码后面的描述)是否包含某个字符串:Status code:code name has string

pm.test("Status code name has string", function () {
    pm.response.to.have.status("OK");  //断
言响应状态消息包含OK

2、响应内容断言

断言响应体中包含XXX字符串:Response body:Contains string
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");//
pm.response.text()
});

2)响应结果如果是json,断言响应体(json)中某个键名对应的值:Response body : JSON value check

pm.test("Your test name", function () {
    var jsonData = pm.response.json();//
获取响应体,以json显示,赋值给jsonData .注意:该响应体必须返会是的json,否则会报错
    pm.expect(jsonData.value).to.eql(100);
//
获取jsonData中键名为value的值,然后和100进行比较
});

3)断言响应体等于XXX字符串:Response body : is equal to a string

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");//
获取响应体等于response_body_string
});

3、响应头断言

1)断言响应头包含:Response headers:Content-Type header check

1)断言响应头包含:Response headers:Content-Type header check
pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
//断言响应头存在"Content-Type"
});

4、响应速度断言

1)判断实际响应时间是否与低于预期时间:Response time is less than 200ms

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

实例

Postman接口测试之断言,软件测试,postman,测试工具,软件测试,自动化测试,功能测试,程序人生,职场和发展

针对上面的返回结果,我们设置断言如下

Postman接口测试之断言,软件测试,postman,测试工具,软件测试,自动化测试,功能测试,程序人生,职场和发展

注意:postman获取断言时,任何响应都必须转为JsonData 对象。例如我们想获取如下响应信息中键值为 name 的值: 

{
  "reponse": {
    "person": {
      "name": "hai",
      "age": 18
    }
  }
}

 此时我们应该:

//第一步将响应转为 jsonData 对象
jsonData = pm.response.json();
//第二步通过 . 获取到我们想要的 age 的值
var age = jsonData.reponse.person.age;
 
 
除了单个接口断言外,postman还集合断言和模块断言,风别通过点击集合或者模块,然后点击Edit,进入Test标签进行断言即可,如下图

三、常用断言对应的脚本

三、常用断言对应的脚本

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;

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

Postman接口测试之断言,软件测试,postman,测试工具,软件测试,自动化测试,功能测试,程序人生,职场和发展

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

Postman接口测试之断言,软件测试,postman,测试工具,软件测试,自动化测试,功能测试,程序人生,职场和发展文章来源地址https://www.toymoban.com/news/detail-825761.html

到了这里,关于Postman接口测试之断言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 接口测试--Postman常用断言

    Postman的断言是用javascript语言写的 结果中的特定属性或值与预期做对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。断言,是一个完整测试用例所不可或缺的一部分,没有断言的测试用例仅仅是测试步骤。 ​  解释: pm是一个全局对象,代表了postman运行时的环

    2024年02月07日
    浏览(47)
  • Postman接口测试实战-接口断言/newman执行集成(详细)

    接口测试用例 接口的功能测试维度:单接口(正向和反向)和业务接口(一般做正向测试) 接口测试的测试用例编写: 不单单针对参数值正确与否进行,还可以针对参数本身进行测试 正向参数 必选参数:所有的必选(必填参数)都包含 组合参数:所有的必选+任意一个或多

    2024年02月16日
    浏览(44)
  • Jmeter和Postman那个工具更适合做接口测试?_接口测试用postman还是jmeter

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新软件测试全套学习资料》

    2024年04月25日
    浏览(41)
  • Postman接口测试 —— 设置全局变量、参数传递、断言

    在能熟练使用postman运行接口请求后,会遇到一些问题。例如: 我们的web网站一共有几十个接口,测试的时候如果要切换环境,这个时候要每个接口都要修改url的根路径,一个一个的改也太麻烦了; 还有时候我们经常需要用到上一个接口的返回值,来作为下一个接口的数据来

    2024年02月16日
    浏览(58)
  • 【接口测试】Postman常见五类断言方法

    1. 响应状态码断言 方法: pm.response.to.have.status(code) 自定义参数: code (期望的 HTTP 状态码) 使用方法:验证 API 响应的 HTTP 状态码是否与期望的状态码匹配。 2. 响应头断言 方法: pm.response.to.have.header(key) 和 pm.expect(pm.response.headers.get(key)).to.eql(value) 自定义参数: key (HTTP 头

    2024年03月20日
    浏览(43)
  • 接口测试工具(Postman)

    一、接口定义 软件不同部分之间的交互接口。通常就是所谓的API――应用程序编程接口,其表现的形式是源代码。 —— [ 百度百科 ] 我们常说的接口一般指两种:  (1)API:应用程序编程接口。程序间的接口  (2)GUI:图形用户界面。人与程序的接口  这里我们所说的接口

    2024年04月14日
    浏览(50)
  • Postman-接口测试工具

    1.Postman 是什么 Postman 是一款功能超级强大的用于发送 HTTP 请求的 测试工具 做 WEB 页面开发和测试的人员常用工具 创建和发送任何的 HTTP 请求(Get/Post/Put/Delete…) 2.Postman 相关资源 1.官方网站 https://www.postman.com/ 2.文档 https://learning.postman.com/docs/getting-started/introduction/ 3.Postman 安装

    2024年02月08日
    浏览(60)
  • 接口测试工具:Postman详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 Postman 是一款功能强大的 API 开发和测试工具,以下是一些高级用法的详细介绍和操作步骤。 环境变量允许你设置特定于环境(如开

    2024年04月09日
    浏览(58)
  • 数据接口测试工具 Postman 介绍!

    此文介绍好用的数据接口测试工具 Postman,能帮助您方便、快速、统一地管理项目中使用以及测试的数据接口。 1. Postman 简介 Postman 一款非常流行的 API 调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如 Jmeter、soapUI 等。 不过,对于开发过程中

    2024年02月04日
    浏览(53)
  • 接口测试工具:Postman的使用

    在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能模块的测试。 做为后端开发人员,要求独立开发完成某

    2024年02月02日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包