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测试工具 接口测试的流程 执行接口测试 接口关联 环境变量和全局变量 内置动态参数以及自动有的动态参数

1 接口测试的简介和分类

接口测试是测试系统组件之间的一种测试。
分类:
测试外部接口:测试被测系统和外部系统之间的接口。一般只需要测试正向用例即可。
测试内部接口:
(1)内部接口只提供给系统使用。一般只需要测试正向用例即可。
(2)内部接口提供给外部系统使用。测试必须非常全面。

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

1 拿到接口API文档(通过抓包工具获取),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码。
2 编写接口用例以及评审。
思路。正向用例,输入正常参数,接口能够成功返回数据。
反向用例有鉴权反向用例、参数反向用例、错误码覆盖和其他错误场景。
鉴权反向用例宝库鉴权码为空,鉴权码错误和鉴权码过期等等。
参数反向用例包括参数为空,参数类型异常,长度异常。
错误码覆盖根据业务而定。
其他错误场景包括接口黑名单,接口调用次数限制和分页场景。
3 使用接口测试用例工具Postman执行接口测试。
4 Postman+Newman+Jenkins实现持续集成,并且输出参数报告和发送邮件。

3 mall_cms_v2接口

测试的接口如下:

https://documenter.getpostman.com/view/12387168/TzzDKb12#7f0beb33-e365-420b-bbcf-67df9c87749e

name,password,token。

4 Postman界面介绍

Home主页
workpaces工作空间
collections集合,项目集合。
APIs api文档。
Environments 环境变量,全局变量。
Mock Servers 虚拟服务器。
Monitors 监听器。
Hoistory 历史记录。
在这里插入图片描述

5 Postman执行接口测试

5.1 请求页面模块

Parsam:get请求传参
authorization:鉴权
headers:请求头
Body:post请求传参,传参方式如下表:

方式描述
form-data可用键值对和文件传参数
x-www-from-urlencoded只能以键值对方式传参数
rawjson,text,xml,html,javascript
binary把文件以二进制的方式传参

具体位置如下图:
在这里插入图片描述

pre-request-script:请求之间的脚本
tests:请求之后的断言
cookies:用于管理Cookie信息

Postman 请求页面模块如下图:
在这里插入图片描述

5.2 响应页面模块

Body:接口返回的数据,传参的形式如下表:

方式描述
Pretty以json,html,xml等不同的格式查看返回的数据
Raw以文本的方式查看返回的数据
PreView以网页的方式查看返回的数据

在这里插入图片描述
Cookies:响应的Cookies信息。
Headers:响应头。
Test Results:断言的结果。

200 为状态码
OK 为状态信息
12.64s为响应时间
347.84kb为响应的字节数

响应页面模块如下图:
在这里插入图片描述
get请求和post请求的区别:
1 get请求是获取数据,post请求是提交数据。
2 本质区别是传参的方式不一样。
get请求在地址栏后面以?的方式传参,多个参数之间用&分隔。post请求是在body以表单的方式传参。

post请求例子,请求模块如下图:
在这里插入图片描述
响应模块如下图:
在这里插入图片描述

6 Postman的环境变量和全局变量

6.1 环境变量

第一,添加多个环境变量,如下图:
在这里插入图片描述

第二,在环境变量中设置变量以及变量值,变量为url,变量值为api.weixin.qq.com,如下图:
在这里插入图片描述

第三,在Collections切换环境变量,如下图:

在这里插入图片描述

6.2 环境变量和全局变量的区别

环境变量:环境变量就是全局变量
全局变量:全局变量是能够在任何接口里面访问的变量
获取环境变量和全局变量的值通过:{{变量名}}

7 接口关联

7.1 使用json提取器实现接口关联

152.136.185.210:4000/login为例子

请求之后的断言
第一步,查看响应之后的结果,如下代码:

console.log(responseBody);

第二步,将获取的access_token的值的格式转换为对象的数据,结果存储在result变量中,如下代码:

var result = JSON.parse(responseBody)

第三步,将access_token设置为全局变量,如下代码:

pm.globals.set("token", "result.token");

综上,在请求模块中的Tests子模块中输入以下代码:

//查看响应之后的结果
console.log(responseBody);
//把返回的字符串格式的数据转换成对象的数据
var result = JSON.parse(responseBody)
//把token的中的值设置为全局变量
pm.globals.set("token", "result.token");

运行结果如下图:
在这里插入图片描述
查看全局变量是否添加了token,如下图:
在这里插入图片描述
上述两张图片的token一致,则证明成功添加了token全局变量!
即其他接口都是直接使用token,使用格式{{token}},实现了与接口相关联。

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

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

分析上述代码:
responseBady返回结果,math方法将结果与token匹配,从而获token,再将token设置为全局变量。
在Console框运行结果如下图:
在这里插入图片描述
在全局变量页面中也可以查看token值,如下图:
在这里插入图片描述

8 Postman内置动态参数以及自动有的动态参数

8.1 内置动态参数

postman内置动态参数写在请求模块的Body子模块中的row点上,以json形式传入,内置动态参数如下:

{{$timestamp}}	生成当前时间的时间戳
{{$randomInt}}	生成0-1000之间的随机数
{{$guid}}		生成随机GUID字符串

8.2 自定义动态参数

自定义动态参数一般写在请求页面的Pre-request Script中,如下代码:

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

使用times全局变量变量格式如下:

{{times}}

注:
(1)业务闭环的实现。遵从创建、修改、查询和修改的顺序。
(2)上传文件,如下图所示:
在这里插入图片描述

9 Postman断言

9.1 常用的6种断言

断言描述
Status code: Code is 200判断状态码是否为200
Response boby: Contains string判断响应内容是否包含string字符串
Response boby: JSON value check判断响应内容的json是否为对应的值
Response boby: Is equal to string判断响应内容是否等于string字符串
Response headers: Content-Type header check判断响应头是否包含Content-Type header
Response time is less than 200ms判断响应时间是否少于200ms

9.2 动态参数的断言方式

一般情况下,我们都会把动态参数设置成全局变量,即在断言中需要调用全局变量,方法如下:
其一,使用Postman中自带的获取全局变量的方法,如下:

pm.globals.get("variable_key");

其二,使用列表取值的方式,如下:

globals["variable_key"]

其三,使用对象引用的方式,如下:

globals.variable_key

9.3 全局断言

在项目选择Edit,如下图:
在这里插入图片描述
在Tests模块下设置全局断言,即每一个接口都会进行该全局断言。一般地,我们将状态码断言设置为全局断言,如下图:
在这里插入图片描述

10 Postman批量运行测试用例

添加进runner中
在这里插入图片描述

若测试用例中有上传文件,则需要在设置中进行调整,首先找到设置界面,如下图:
在这里插入图片描述
选择settings。
然后,允许Postman读取外部文件,如下图:
在这里插入图片描述
最后,将需要上传的文件放在D:\Users\DELL\Postaman\files目录中。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:02:22  更:2022-07-03 11:02:30 
 
开发: 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年5日历 -2024/5/6 2:55:21-

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