Postman~做接口测试

2023-05-16

在工作中,接口测试势必是最有效的测试途径。因此,学习接口测试的基础和工具是很有必要的,从Postman开始吧~

目录

1. 接口测试简介

2. 接口测试流程及用例设计

3.使用Postman执行接口测试

4. Postman的环境变量以及全局变量

5. 接口关联

6. Postman内置动态参数以及自定义的动态参数

7. Postman断言


1. 接口测试简介

接口测试就是测试系统组件接口之间的一种测试。

分类:

测试外部接口:

        测试被测系统和外部系统之间的接口。这种接口只需要保证被测系统可以调通外部系统,因此,只需要测试正例就足够了

测试内部接口:

        1.内部接口只提供给内部系统使用。这种情况下,调用关系都很明确,像公司内部的预算系统,承保系统等,只需要测试正例即可

        2.内部接口提供给外部系统使用。这种情况下,我们不知道会外部调用我们的接口时,会出现哪些异常,因此,测试此须非常全面,正例,各种异常场景,权限控制等都要进行测试

价值:

        看过一本书,是这样描述的:UI测试无法覆盖复杂的组件交互网络,因此绕过客户端,直接使用接口测试对服务端进行测试~

2. 接口测试流程及用例设计

        测试过程,研发会提供接口api文档,有时也可以通过抓包工具获取,需要熟悉接口业务,接口地址,鉴权方式,入参,错误码等信息后,就要编写相关的接口测试用例。

        根据日常遇到的问题,做了如下总结:

        正例:输人正常入参,接口能够成功返回数据

        反例:

        鉴权反例:鉴权码为空,鉴权码错误,鉴权码过期

        参数反例:参数为空,参数类型异常,参数长度异常

        错误码覆盖:根据业务而定

        其他错误场景:接口黑名单,接口调用次数限制,分页场景等

3.使用Postman执行接口测试

官网安装 安装完进行注册和登录

以上是比较常用的功能。

        一般就是新增Collections新增集合->add Request新增接口。在接口中填入域名、入参、Headers信息,全都正确的情况下,就可以返回所需要的数据~

        当然,接口也是非常复杂的,首先就会有不同的方法,最常见的就是Post和Get方法,两种方法的区别也简单做了总结:

Get请求和Post请求的区别:

1. get请求一般是获取数据,post请求一般是提交数据

2. post请求比get请求安全

3. 本质区别是传参的方式不一样:

        get请求在地址栏后面以?的方式传参,多个参数之间用&分割

        post请求是在body以表单的方式传参

逐个接口的测试还是比较简单的,参数正确,用例全面,进行验证即可。但是,接口测试还存在一些问题:

        多种环境:开发环境,测试环境,生产环境,

        接口关联:需要手动关联

        参数需要手动修改

因此,需要解决这些问题,强大的Postman还是能做到的。

4. Postman的环境变量以及全局变量

多种环境需要 来回切换,可以设置环境变量也进行问题的简化

        环境变量:环境变量就是全局变量

        全局变量:全局变量是能在任何接口里面访问的变量

        获取环境变量和全局变量的值通过:{{变量名}}

5. 接口关联

5.1 使用Json提取器实现接口关联

第一个接口:
//使用json提取器提取accesss_ token值。
//把返回的字符串格式的数据转换成对象的形式
var result = JSON.parse(responseBody);
//把access token设置为全局变量
pm.globals.set ("access_token", result.access_token);
第二个接口:
{(access_token}}

5.2 使用正则表达式提取器实现接口关联

第一个接口:
//使用正则表达式提取器实现接口关联,match匹配
var result = responseBody.match(new RegExp ('"access_token": " (.*?)"')
console.log(result[1]);
//设置为全局变量
pm.globals.set("access_token",result[1]);
第二个接口:
{{access_token}}

这样就可以关联接口的数据,Postman内置方法还有好多,需要进一步探索交流。。

6. Postman内置动态参数以及自定义的动态参数

postman内置动态参数:

        {{$timestamp}} 生成当前时间的时间戳

        {{$randomInt}} 生成0-1000之间的随机数

        {{$guid}} 生成速记GUID字符串

自定义动态参数:

//手动的获得时问戳
var times = Date.now();
//设置为全局变量
pm.globals.set("times",times);

使用时使用:{{times}}

7. Postman断言

列举下场景的六种断言方式,方法很多种,最终目的是到达到核对接口的数据是否正确。

常规六种断言

        Status code:Code is 200 检查返回的状态码是否为200

        Response body:Contains string 检查响应中包括指定字符串

        Response body:Json value check 检查响应中其中ison的值

        Response body: is equal to a string 检查响应等于一个字符串

        Response headers:Content-Type 检查是否包含响应头Content-Type

        Response time is less than 200ms:检直请求耗时小于200ms

陆续学习输出,指正 共勉~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postman~做接口测试 的相关文章

随机推荐

  • 【华为机考】模拟题:Words、Vowel、计算字符串重新排列数

    前言 刷题之路任重而道远 xff0c 革命尚未成功 xff0c 同志仍需努力 由于刷惯了 LeetCode xff0c 虽然知道华为机考是需要自己输入输出 xff0c 也稍稍练了一下 xff0c 结果真做模拟题的时候 xff0c 一下子忘了
  • 【华为机考】专题突破 第二周:前缀和与差分 1109

    刷题顺序参考于 2023华为机考刷题指南 xff1a 八周机考速通车 前言 前缀和是指某序列的前n项和 xff0c 可以把它理解为数学上的数列的前n项和 xff0c 而差分可以看成前缀和的逆运算 合理的使用前缀和与差分 xff0c 可以将某
  • ROS学习和树莓派小车遇到问题汇总

    垃圾问题汇总记录 这里写目录标题 垃圾问题汇总记录我的小车配置中间遇到的问题汇总问题 xff1a VM虚拟机突然卡死问题 xff1a Error opening serial could not open port dev rikibase
  • ROS官网使用方式以及问题?

    Rviz中官网的使用 这里写目录标题 Rviz中官网的使用前言 xff08 希望瞄到这篇文章的大佬能注意一下 xff09 各种自带变量的官网查询方式一些普通消息类型的查询 xff1a Rviz等工具中的变量查询 xff1a 前言 xff08
  • automake自动编译工具

    automake自动编译生成makefile文件 xff0c 使用automake xff0c 程序开发人员只需要写简单的宏文件 xff0c 生成configure xff0c 再生成Makefile in xff0c 最终生成一个惯例的m
  • ROS中TF广播和监听个人理解及消息查找

    ROS学习古月居TF使用总结 目录 ROS学习古月居TF使用总结大佬链接总代码目录The Code of TFboardcastThe Code of TFlistenerThe Code of launch 广播和监听者的使用总结广播的创
  • Latex自动化学报模板学习和问题解决总结

    根据自动化学报模板的自己摸索 目录 根据自动化学报模板的自己摸索1 前言2 模板内部文件简介3 生成自己的模板4 内部代码理解关于aas cls和aas cfg文件整个模板固定结构 5 编译时有用的模板双栏显示用的小表格插入小图片 6 遇到
  • SLAM算法总结1

    目录 前言旋转矩阵 xff0c 旋转向量 xff0c 四元数李群李代数BCH公式非线性最小二乘一阶和二阶梯度法一阶梯度法二阶梯度法 xff08 牛顿法 xff09 高斯牛顿法代码实现手写 xff08 片段 xff09 用Ceres实现 xf
  • ROS下使用串口发送数据

    ROS下使用串口发送数据 span class token macro property span class token directive keyword include span span class token string lt
  • 新手如何使用postman(新手使用,简单明了)

    如何使用postman 一 了解postman 1 什么是postman xff1f 软件测试用来做接口测试的工具 2 如何下载postman https www getpostman com xff08 官方下载 xff09 链接 xff
  • 字符串的截取、分割,截取指定字符前面(后面)所有字符

    关于字符串截取问题 xff0c 从网上搜到总结一下 xff1a 已知一个字符串 xff0c 截取第一个指定字符后面所有字符 首先得知道indexof 34 34 的用法 xff0c 例如String i 61 abcdefg xff0c 那
  • [资料分享] 好赢60A无刷电调设置说明书【详细】

    完全针对车模而设计的全新程序算法 xff0c 具有优异的启动效果 加速性能 刹车性能及线性度 xff1b 支持所有无感 xff08 即无霍尔传感器 xff09 无刷电机 xff1b 高品质用料 xff0c 具有强大的耐电流能力 xff1b
  • 单片机学习笔记 —— 串口通信原理

    一 串口通信电路 电路图 xff1a 说明 xff1a 当RXD TXD为低电平时 xff0c 对应的led灯会亮起 二 串口通信控制寄存器 下图为80C51串行口的结构 xff1a SCON serial Control Register
  • 四种方法计算字符串的长度

    在这里我提供四种方法计算字符串的长度 1 使用递归函数 2 数数 xff0c 从第一个字符开始数数 xff0c 没遇到一个字符 xff0c 长度加一 xff0c 直到遇到 34 0 34 停止数数 3 使用strlen函数 xff0c 使用
  • 汉诺塔问题—C语言实现

    一 题目描述 相传在古印度圣庙中 xff0c 有一种被称为汉诺塔 Hanoi 的游戏 该游戏是在一块铜板装置上 xff0c 有三根杆 编号A B C xff0c 在A杆自下而上 由大到小按顺序放置64个金盘 如下图 游戏的目标 把A杆上的金
  • linux三大剑客

    awk是一种很棒的语言 xff0c 适合文本处理和报表生成 使用方法 awk pattern 43 action filenames 尽管操作可能会很复杂 xff0c 但是语法总是这样 xff0c 其中pattern表示AWK再数据中查找的
  • 数据结构与算法之栈

    目录 顺序栈 xff1a 链式栈 xff1a 栈的使用 xff1a 首先 xff1a 栈是一个特殊的线性表 xff0c 只允许在一端进行插入 xff08 压栈 xff09 和删除元素 xff08 进栈 xff09 xff0c 这一端称为栈顶
  • 二叉树的典型习题总结

    二叉树的三种遍历方式 xff1a 1 给定一个二叉树 xff0c 返回它的前序遍历 root left right 递归实现 xff1a public List lt Integer gt preorderTraversal TreeNod
  • javascript简介及基本语法

    这两天了解到一门新的脚本语言 javascript xff0c 貌似能干的事情好多呀哈哈哈哈 xff0c 言归正传啧 目录 javascript简介 js的简介 js的特点 javascript和java的区别 javascript的组成
  • Postman~做接口测试

    在工作中 xff0c 接口测试势必是最有效的测试途径 因此 xff0c 学习接口测试的基础和工具是很有必要的 xff0c 从Postman开始吧 xff5e 目录 1 接口测试简介 2 接口测试流程及用例设计 3 使用Postman执行接口