• 2-Postman断言


    1.断言是什么?

    断⾔, 是让程序判断预期结果与实际结果是否⼀致.简单的来说就是人为的设置一个值,对比接口返回的值和人为设置的值是否一样。

    2.Postman断言的特点

    1. Postman的断⾔是使⽤JavaScript语⾔编写的,写在‘Tests’标签⻚⾥
    2. Tests中的脚本在发送请求之后执⾏,会把断⾔的结果(PASS/FAIL)最终在‘TestResults’标签页中展示。

    设置断言

    我们可以在 SNIPPETS 栏中选择插入一些断言片段,稍作修改就可以供我们灵活使用了!!

    点击查看代码
    # 断⾔代码⽚段介绍(以下代码均可在postman中找到,我们只需要稍作修改)
    1. 判断响应状态码是否等于200 (*****)
     pm.test("Status code is 200", function () {
     pm.response.to.have.status(200);
     });
     
    2. 判断响应体中是否包含指定的字符串 (****)
     pm.test("Body matches string", function () {
     pm.expect(pm.response.text()).to.include("string_you_want_to_search"); });
     
    3. 判断响应体数据是否等于指定的字符串 (***)
     pm.test("Body is correct", function () {
     pm.response.to.have.body("response_body_string");
     });
     
    4. 校验响应的JSON数据 (*****)
     pm.test("Your test name", function () {
     var jsonData = pm.response.json();
     pm.expect(jsonData.mesage).to.eql("ok");
     });
     
    5. 判断响应头中是否包含指定的头标签
     pm.test("Content-Type is present", function () {
     pm.response.to.have.header("Content-Type");
     });

    常用的几个代码片段:

    http请求状态码的断言 Status code : Code is 200
    请求体里的数据的断言 Response body : Contains string
    json数据的断言 Response body : JSON value check

    3.排错技巧

    # 1.检查断⾔代码⽚段是否错选了
     当断⾔出现错误时, 我们应⾸先确定⾃⼰的断⾔代码⽚段是否是正确的, ⽐如要判断json数据某个键的
    值是否包含另⼀个值, 但却选择了等于.
     
    # 2.检查断⾔代码是否设置了错误的字段
     断⾔中对结果的判断要根据响应数据的形式进⾏严格的⽐对, 不细⼼很可能出现错误. ⽐如: json数据
    中的⼀个键名为data, 在编写断⾔代码的过程中却写成了date
    # 3.发送请求, 基于响应数据做初步预判
     断⾔是对接⼝响应数据的检验, 那断⾔可定是在请求发送后执⾏的. 所以当断⾔出现错误, 这是你⼀定
    已经发送了请求, 我们可以打开响应数据进⾏对⽐, 来判断断⾔的执⾏结果是否存在问题.
     
    # 4.检查请求相关参数
     在构造请求时, 可能请求出现了错误, ⽐如请求⽅式为post, 但默认为get, 却忘记修改, 当发送请
    求后获取到的响应数据肯定不是预期的结果, 这时断⾔就会出错. 应当仔细检查请求的正确性. 请求的正
    确性可以从以下这⼏个⽅⾯考虑->(请求⽅法, 请求地址, 请求头信息, 请求体)
     
    # 注意:
     当断⾔出现错误, 经过⼀系列的排查依然不⾏, 该怎么办呢? 这是我们可以保存原有断⾔错误的请求,
    重新建⽴请求, 不要受前⼀个请求的思维影响, ⼀步⼀步的构建请求, 再次尝试
    坚持,坚持,坚持…… 在你选择不放弃的那一刻, 成功其实已经在向你走近 我们无法得知什么时候会来临 但我们可以选择用自强的双手敲开幸福的门。
  • 相关阅读:
    5个最佳WordPress通知栏插件
    最新lombok插件和IDEA2020.1不兼容,Plugin "Lombok" is incompatible (until build 193.SNAPSHOT < IU-201.6668....
    nuxt中localstorage的替代方案
    nuxt或者vue,axios中如何发送多个请求
    wordpress nginx详细环境配置安装命令和相关问题解决
    [no_perms] Private mode enable, only admin can publish this module
    vue bootstrap中modal对话框不显示遮挡打不开
    vue监听当前页面的地址变化/路由变化
    来看看JDK13的81个新特性和API
    Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test java.lang.IllegalStateException
  • 原文地址:https://www.cnblogs.com/bronyaa/p/14897180.html
Copyright © 2020-2023  润新知