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.postman介绍

Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。

2.下载安装

官网地址:https://www.postman.com/
下载完成后双击安装吧,安装过程极其简单,无需任何操作

3.使用教程

在这里插入图片描述
这里以百度为例,工具使用简单,填写URL地址即可发送请求,
在下方查看响应结果和响应状态码

常用方法都有支持
请求方法:get post  put  delete

Get、Post、Put与Delete的作用

get:请求方法一般是用于数据查询,因为参数都是直接放再url后面,请求有长度限制
post:请求方法一般用于数据新增,参数是放在body中,请求对数据长度没有要求
put:请求方法一般用于数据修改
delete:请求方法一般用于数据删除

根据上面得描述可以理解为

增加 post
删除 delete
修改 put
查询 get

4.断言

前提介绍模块

在这里插入图片描述
说明:Collections用例集用来管理用来管理接口

断言模块介绍

在这里插入图片描述
以下介绍常用的2种断言方法

  1. Status Code :code is 200
//断言响应码 是否为 200
pm.**test**("Status code is 200", **function** () {

  pm.response.to.have.status(200);

});
pm:代表postman的一个实例
test():是实例的一个方法,有两个参数
参数1:在断言成功后,给出的文字提示。可以修改,"Status code is 200"
参数2: 匿名函数
 pm.response.to.have.status(200);
//意思:postman的响应结果中应该有包含状态码200

2.断言JSON数据
response body: JSON value check(重点)

//断言json响应数据
pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});
 var jsonData = pm.response.json();
//var jsonData 用js语法定义一个变量,jsonData就是变量名
//pm.response.json(); 代表响应的json结果

//举例
//{
 //   "success": true,
 //   "code": 10000,
//    "message": "操作成功!",
//    "data": "3451214d-4e14-4d3c-990e-96b6bebf8913"
//}

    pm.expect(jsonData.value).to.eql(100);
// pm 预期 json 结果  值 等于 100
 //to.eql(100)中的100 代表预期结果
//举例
  //jsonData.value 的value
  //取success,code,message,data

示例

pm.test("断言响应结果succes的值为true", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(10000);
});

响应结果如下

{
    "success": true,
    "code": 10000,
    "message": "成功!"
}

原理:断言是在请求完成之后完成判断

5.全局变量

在postman全局生效的变量,全局唯一

//示例

//代码设置pm.globals.set("全局变量名",全局变量的值)
pm.globals.set("code",100)

//获取全局变量
var ret=pm.globals.get("code") //ret的值为100

请求参数获取postman方式
{{code}}

6.环境变量

在特定环境(生产环境,开发环境,测试环境)下生效的变量,在本环境内唯一

//示例

//设置环境变量
pm.environment.set("code",99)
//获取环境变量
var ret=pm.environment.get("code") //ret 的值为99

请求参数获取postman方式
{{code}}

举例
在这里插入图片描述
在pre-request Secript标签页中,添加代码设置变量写入全局变量中,在请求参数中进行获取
原理:postman前置脚本先行执行,然后再执行请求

设置环境与全局变量

在这里插入图片描述

7. postman关联

场景:应用于多个http请求之间,有数据关联或者依赖关系时

从A接口天气接口获取城市字段,设置写入全局变量中,B接口百度通过全局变量获取到城市字段,进行关联操作
在这里插入图片描述

//从响应结果中 获取城市名
var jsonData=pm.response.json()

var city=jsonData.weatherinfo.city

//将城市写入全局变量名
pm.globals.set('glb_city',city)

在这里插入图片描述

8.postmna测试报告

1.安装使用newman插件生成测试报告,需要完成以下三步

1.提前安装好node.js
下载地址:Node官网下载地址

//cmd 验证node.js安装成功命令
npm -v

2.安装newman

//安装newman命令  -g 全局
npm install -g newman 

//推荐使用淘宝镜像,服务器在国内安装速度快 ,效果同上
cnpm install -g newman 

//验证安装成功由于否
newman -v

3.安装newman-reporter-html插件

//安装newman-reporter-html插件,提示无法通过命令验证安装成功
npm install -g newman-reporter-html

2.使用newman

1.导出Export用例集 (得到xxx.json文件)

在这里插入图片描述
在这里插入图片描述
默认导出即可

2.导出环境变量

在这里插入图片描述

3.在终端中执行命令,生成测试报告

在终端执行命令

#完整的命令
newman run  导出的文件.json  -r html --reporter-html-export 测试报告名.html

#如果添加 -r html 就报错!说明 newman-reporter-html 安装失败

在这里插入图片描述

9.读取外部数据文件(参数化)

1.批量执行接口

选中用例集,点击右边的Run按钮,进入Runner选中需要批量执行的(接口,时长,次数)一切默认即可,然后点击Run测试接口,查看运行结果(记得先写好断言,方便查看结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.导入外部数据文件

支持导入以下数据格式:CSV,JSON格式

  • CSV

    • 优点
      • 数据组织形式简单,使用大量数据的场合
    • 缺点
      • 不支持bool类型数据(数据备postman读取后,自动添加""包裹bool值)
      • 不支持多参数,少参,无参,错误参数的接口测试
      • 不支持复制数据类型,(如 嵌套字典,列表)
  • JSON:

    • 优点
      1. 支持bool类型
      2. 支持多参,少参,无参,错误参数
      3. 支持复制数据类型

    • 缺点

      1.对于相同的数据量,json数据文件大小远大于csv文件
      案例
      导入json数据。点击Preview阅览数据格式,批量执行,查看执行结果
      在这里插入图片描述

3.生成测试报告

#完整的命令
newman run 用例集名称.json -d 数据文件.csv/json -r html --reporter-html-export 测试报告名.html

最后生成HTML报告
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 23:01:13  更:2022-04-07 23:01:59 
 
开发: 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 1:43:55-

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