zoukankan      html  css  js  c++  java
  • postman工具【接口自动化测试关于断言】

    在使用postman工具进行接口自动化时我们经常需要断言来进行判断,结果到底是成功还是失败。

    但在collection runner/Newman里如果不加断言,跑完后都无法知道是成功还是失败
    断言是写在tests标签页里
    在postman工具中,断言是写在tests标签页里,对于刚上手的新手来说可以参考文档和界面右边的代码模板
    tests['Status code is 200'] = responseCode.code === 200; // 推荐用全等 ===,确保类型和值都一致
    tests['Response time is less than 200ms'] = responseTime < 200; tests['Body matches string'] = responseBody.has('xxx'); // 只要有指定关键字就行,在哪、有几个等都不管
    tests['Content-Type is present'] = postman.getResponseHeader('Content-Type') || false; // Postman的断言实际上就是往全局对象 tests 添加键值对 // 它的key会显示在报告界面上,value是可以解析为boolean的表达式 // 如果得出的值是true,在报告里显示为成功,false失败 //
    【变通】
    用总是为真的断言来显示信息
    tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true; // 显示所有请求参数(在自动化测试里很有用)
    tests[`跑第${iteration + 1}次`] = true; // 用在runner里循环很多次时 // 迭代次数 iteration 是Postman提供的全局变量,从0开始
    // PS:request是Postman提供的全局对象 // responseCode(对象)、responseTime(数字)、responseBody(字符串)目前是Postman收到服务器返回内容才声明的变量
    【注意】如果你在做自动化测试,目前在接口超时没返回时: // responseCode、responseTime、responseBody都没定义,使用时会导致脚本出错,判断是否超时没返回的只能靠header // request.data里的变量在超时时不解析,很容易让人误会请求参数传错了,建议此时不显示这行
  • 相关阅读:
    原码、反码、补码以及为什么要用反码和补码
    Linux中的段管理,bss段,data段,
    关于SRAM,DRAM,SDRAM,以及NORFLASH,NANDFLASH
    S3C2440的GPIO
    剑指offer——二叉搜索树与双向链表
    剑指offer——平衡二叉树
    ***剑指offer——字符串的排列(不会)
    剑指offer——两个链表的第一个公共结点
    剑指offer——数组中只出现一次的数字
    剑指offer——最小的K个数
  • 原文地址:https://www.cnblogs.com/zoraliu66/p/6566385.html
Copyright © 2011-2022 走看看