IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Postman~做接口测试 -> 正文阅读

[开发测试]Postman~做接口测试

在工作中,接口测试势必是最有效的测试途径。因此,学习接口测试的基础和工具是很有必要的,从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

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

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:30:46  更:2022-04-15 00:31:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:44:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码