Postman接口测试应用
接口测试可以通过工具(postman/jmeter)、自动化测试(python+requests+开源框架)两种方式进行测试
接口测试可以在单元测试之后开始进行,不用关注前端页面有没有形成,也可以渗透到测试的每一个阶段(单元、继承、系统、验收)辅助测试
1.postman安装
下载地址:https://www.postman.com/downloads/
下载完成直接双击安装即可
2.postman相关操作
- 设置请求url、请求方式、请求参数
- 发送http/https请求
- 提取响应结果,设置环境变量
- 参数化
- 响应结果断言
- 接口关联
- postman报告环境部署,生成报告
3.具体操作
3.1 设置请求url、请求方式、请求参数
get方法参数放params,自动拼接在url后面,post方法参数放body,根据参数格式进行选择,表单格式x-www-form-urlencoded
,json格式在raw
选择json
3.2 发送http/https请求
表单格式的请求
json格式的请求
3.3 提取响应结果,设置环境变量
全局变量:是全局唯一的,只能定义一次
环境变量:一个变量只能属于一个环境;一个环境可以包含多个环境变量;
常见环境分类:开发环境、测试环境、生产环境
设置全局变量,例如提取登录后的token值,需要从响应中提取并设置成全局变量
pm.globals.set("variable_key", "variable_value");
设置环境变量:
pm.environment.set("variable_key", "variable_value");
3.4 参数化
读取外部csv/excel文件实现参数化
应用场景:针对某个接口,有大量的测试数据需要验证,可以把测试数据保存到数据文件中,通过参数化的方式进行实现
1.csv文件:
2.在postman中参数中填写csv文件中对应的参数变量
3.选择运行集合,选择需要进行参数化的接口:
4.选择文件点击运行
5.进行参数化后,运行了4次
3.5 响应结果断言
响应断言:
postman里面的断言是使用javascript代码编写的,是获取响应之后的操作,放在Tests里面
常用的断言方式:1.断言请求状态码是不是200
2.判断响应数据中是否包含某个指定的字符串
3.校验响应的json数据
新版的postman,将原来的pre-request-script
前置操作和Tests
后置操作合并为Script,左侧做了区分
3.6 接口关联
接口关联(B接口请求的参数是A接口请求返回的数据)
第一步:先发送A接口,在Tests中编写js脚本获取响应数据,设置环境变量var jsondata=pm.response.json();
第二步:在B请求的参数中使用{{变量名}}使用提取出来的变量
3.7 postman报告环境部署,生成报告
环境部署:
1.nodejs
2.Newman
3.安装报告模板
nodejs
地址:https://nodejs.org/en/download/,直接【下一步】安装,cmd输入node -v验证
Newman
cmd进入nodejs的安装路径:执行命令npm install -g newman,输入newman -v 验证
安装报告模板
cmd进入nodejs的安装路径:npm -install -g newman-reporter-html
报告生成:
1.导出测试集合postman_collection.json文件
2.运行命令: newman run 上面的文件postman_collection.json -r html,在执行命令的当前目录生成文件夹newman,存放报告
Postman接口测试应用的更多相关文章
- Postman接口测试初探
Postman接口测试 有两种安装方式: 1)Chrome插件(https://www.getpostman.com/).安装完成后,它会在chrome的应用中,如下图 2)通过下载Native ap ...
- postman接口测试工具3.0版本的坑
今天用postman接口测试工具3.0版本被坑,找了半天,原来postman这个新版本有个坑啊 下面的get参数,第一行不管你填不填,都是无效的,可能是postman的一个bug吧
- #postman接口测试系列:基本操作总结
最近项目需要接口测试,所以选择了不少工具对比,最终决定使用postman进行接口测试,这个工具目前使用比较简单,但是有点还是比较多的,如下: 方便切换不同的环境进行接口测试工作,而不用修改变量或代码 ...
- postman(九):postman接口测试脚本集成到jenkins
本篇的目的是实现使用jenkins远程执行postman接口测试脚本 准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js.newman,部署好jenkins ...
- Postman 接口测试神器
Postman 接口测试神器 Postman 是一个接口测试和 http 请求的神器,非常好用. 官方 github 地址: https://github.com/postmanlabs Postma ...
- [原创]PostMan接口测试神器
[原创]PostMan接口测试神器 1 PostMan是什么? Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 2 Postman工具下载及安装 官方网站: htt ...
- Postman Postman接口测试工具使用简介
Postman接口测试工具使用简介 by:授客 QQ:1033553122 本文主要是对Postman这个接口测试工具的使用做个简单的介绍,仅供参考. 插件安装 1)下载并安装chrome浏览器 2) ...
- 接口测试工具Postman接口测试图文教程
Postman接口测试工具使用 一.前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进度和后端进度保持基本一 ...
- postman接口测试工具的常规使用
目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...
- 【技术博客】Postman接口测试教程 - 环境、附加验证、文件上传测试
Postman接口测试教程 - 环境.附加验证.文件上传测试 v1.0 作者:ZBW 前言 继利用Postman和Jmeter进行接口性能测试之后,我们发现Postman作为一款入门容易的工具,其内置 ...
随机推荐
- vs2022不安装docker desktop可以打包镜像吗
vs2022开发的项目可以直接打包镜像到 linux主机. idea 可以使用docker插件直接打包镜像到linux,我想vs2022也可以,于是开始摸索 官网只说支持docker desktop ...
- C++11新特性(一):语言特性
C++11新特性 总结C++11特性时发现整个内容角度,建议查看前先查看目录. 语言特性 右值引用 右值的分类为将亡值和字面量.将亡值就是将要销毁的对象以及临时的变量,字面量就是常量.左值就是变量. ...
- Ubuntu 修改密码
强制修改密码 可以通过切换到 root 帐户强制修改密码来绕过密码长度限制: sudo su # 切换到 root 帐户 passwd USER # 修改密码 或者: sudo passwd $(wh ...
- 【爬虫实战】——利用bs4和正则表达式,简单实现爬取数据
前言 好久没有写博客了,由于一直比较忙,感觉快荒废了学习的步伐,最近由于需要利用爬虫爬取数据,总结一下,以便以后查阅. 目录 一.bs4的安装 二.bs4解析器 三.定位查找标签 四.转换格式 五.提 ...
- 五子棋AI:实现逻辑与相关背景探讨(下)
前文回顾 在上篇文章中,我们约定了一种衡量格子价值的方式,如下表. 综合价值排序 己方价值 敌方价值 对应的奖励数值 1 Lv1 ? \(2^{20}\) 2 ? Lv1 \(2^{16}\) 3 L ...
- iOS 屏幕旋转的实践解析
摘要:如何更灵活便捷的实现自定义屏幕旋转场景,本文带你揭秘! 文|即构 iOS 应用开发团队 屏幕旋转是在视频直播类 APP 中常见的场景,在即构科技之前发布的 Roomkit SDK 中也有屏幕 ...
- ASP.NET Core – DateTime, DateTimeOffset, DateOnly, TimeOnly, TimeSpan, TimeZone, NodaTime 使用基础
前言 心血来潮,这篇讲点基础的东西. 对日期和时区 timezone 不熟悉的读者,请先看这篇 Time Zone, Leap Year, Date Format, Epoch Time 时区, 闰年 ...
- JavaScript – Rest Parameters & Spread Operator
介绍 Rest 和 Spread 的共同点是语法都是 ... (点点点). 但它们的概念是相反的. 看例子体会: Rest Parameters 参考: 阮一峰 – rest 参数 rest para ...
- map的线程安全,boost库读写锁的实现
*************** map的线程安全 ******************** * * 参考1 * map要实现线程安全必须要加锁,如果使用mutex会产生大量的线程等待,可以 ...
- 非常非常好用的一款账户密码保存工具-KeePass
非常非常好用的一款账户密码保存工具 下载地址: https://sourceforge.net/projects/keepass/files/KeePass%202.x/2.55/KeePass- ...